@eui/ecl 19.3.0-snapshot-1749041696283 → 19.3.0-snapshot-1749064223062
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 +24 -0
- package/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
- package/components/ecl-accordion/ecl-accordion.component.d.ts +19 -0
- package/components/ecl-accordion/ecl-accordion.component.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner-description.directive.d.ts +9 -0
- package/components/ecl-banner/ecl-banner-description.directive.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner-picture.directive.d.ts +11 -0
- package/components/ecl-banner/ecl-banner-picture.directive.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner-title.directive.d.ts +12 -0
- package/components/ecl-banner/ecl-banner-title.directive.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner-video.directive.d.ts +10 -0
- package/components/ecl-banner/ecl-banner-video.directive.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner.component.d.ts +66 -0
- package/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
- package/components/ecl-blockquote/ecl-blockquote-picture.directive.d.ts +14 -0
- package/components/ecl-blockquote/ecl-blockquote-picture.directive.d.ts.map +1 -1
- package/components/ecl-blockquote/ecl-blockquote.component.d.ts +29 -0
- package/components/ecl-blockquote/ecl-blockquote.component.d.ts.map +1 -1
- package/components/ecl-button/ecl-button-label.directive.d.ts +21 -0
- package/components/ecl-button/ecl-button-label.directive.d.ts.map +1 -1
- package/components/ecl-button/ecl-button.component.d.ts +43 -0
- package/components/ecl-button/ecl-button.component.d.ts.map +1 -1
- package/components/ecl-card/ecl-card-body.component.d.ts +7 -0
- package/components/ecl-card/ecl-card-body.component.d.ts.map +1 -1
- package/components/ecl-card/ecl-card-picture.directive.d.ts +17 -0
- package/components/ecl-card/ecl-card-picture.directive.d.ts.map +1 -1
- package/components/ecl-card/ecl-card.component.d.ts +27 -0
- package/components/ecl-card/ecl-card.component.d.ts.map +1 -1
- package/components/ecl-carousel/ecl-carousel-item.component.d.ts +42 -0
- package/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
- package/components/ecl-carousel/ecl-carousel.component.d.ts +224 -0
- package/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
- package/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.d.ts +14 -0
- package/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.d.ts.map +1 -1
- package/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.d.ts +56 -0
- package/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.d.ts.map +1 -1
- package/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.d.ts +28 -0
- package/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.d.ts.map +1 -1
- package/components/ecl-category-filter/events/ecl-category-filter-item-select.event.d.ts +7 -0
- package/components/ecl-category-filter/events/ecl-category-filter-item-select.event.d.ts.map +1 -1
- package/components/ecl-content-block/ecl-content-block-elements.directive.d.ts +106 -0
- package/components/ecl-content-block/ecl-content-block-elements.directive.d.ts.map +1 -1
- package/components/ecl-content-block/ecl-content-block.component.d.ts +8 -0
- package/components/ecl-content-block/ecl-content-block.component.d.ts.map +1 -1
- package/components/ecl-content-item/ecl-content-item-image.directive.d.ts +29 -0
- 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 +40 -0
- package/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
- package/components/ecl-date-block/ecl-date-block.component.d.ts +36 -0
- package/components/ecl-date-block/ecl-date-block.component.d.ts.map +1 -1
- package/components/ecl-expandable/ecl-expandable.component.d.ts +34 -0
- package/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts +7 -0
- package/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts +15 -0
- package/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts +6 -0
- package/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts +6 -0
- package/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts +15 -0
- package/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures.component.d.ts +23 -0
- package/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-download.directive.d.ts +23 -0
- package/components/ecl-file/ecl-file-download.directive.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +36 -0
- 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 +29 -0
- package/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-picture.directive.d.ts +23 -0
- package/components/ecl-file/ecl-file-picture.directive.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.d.ts +6 -0
- package/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file.component.d.ts +35 -0
- package/components/ecl-file/ecl-file.component.d.ts.map +1 -1
- package/components/ecl-icon/ecl-icon.component.d.ts +51 -0
- package/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
- package/components/ecl-label/ecl-label.directive.d.ts +20 -0
- package/components/ecl-label/ecl-label.directive.d.ts.map +1 -1
- package/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.d.ts +35 -0
- package/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.d.ts.map +1 -1
- package/components/ecl-list/ecl-description-list-definition-item.directive.d.ts +22 -0
- package/components/ecl-list/ecl-description-list-definition-item.directive.d.ts.map +1 -1
- package/components/ecl-list/ecl-list.directive.d.ts +57 -0
- package/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration-icon.directive.d.ts +8 -0
- package/components/ecl-list-illustration/ecl-list-illustration-icon.directive.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration-item.component.d.ts +23 -0
- package/components/ecl-list-illustration/ecl-list-illustration-item.component.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts +23 -0
- 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 +26 -0
- package/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
- package/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts +8 -0
- package/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts.map +1 -1
- package/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts +8 -0
- package/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts.map +1 -1
- package/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts +39 -1
- package/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-body-fixed.directive.d.ts +8 -0
- package/components/ecl-modal/ecl-modal-body-fixed.directive.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-body.component.d.ts +11 -0
- package/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-close.directive.d.ts +17 -0
- package/components/ecl-modal/ecl-modal-close.directive.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-footer.component.d.ts +16 -0
- package/components/ecl-modal/ecl-modal-footer.component.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-header.component.d.ts +41 -0
- package/components/ecl-modal/ecl-modal-header.component.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-trigger.directive.d.ts +9 -0
- package/components/ecl-modal/ecl-modal-trigger.directive.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal.component.d.ts +68 -0
- package/components/ecl-modal/ecl-modal.component.d.ts.map +1 -1
- package/components/ecl-news-ticker/ecl-news-ticker-icon.directive.d.ts +6 -0
- package/components/ecl-news-ticker/ecl-news-ticker-icon.directive.d.ts.map +1 -1
- package/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts +27 -0
- package/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts.map +1 -1
- package/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +77 -0
- package/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
- package/components/ecl-notification/ecl-notification-title.directive.d.ts +7 -0
- package/components/ecl-notification/ecl-notification-title.directive.d.ts.map +1 -1
- package/components/ecl-notification/ecl-notification.component.d.ts +42 -0
- package/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
- package/components/ecl-notification/events/ecl-notification-close.event.d.ts +5 -0
- package/components/ecl-notification/events/ecl-notification-close.event.d.ts.map +1 -1
- package/components/ecl-popover/ecl-popover-content.directive.d.ts +8 -0
- package/components/ecl-popover/ecl-popover-content.directive.d.ts.map +1 -1
- package/components/ecl-popover/ecl-popover-toggle.directive.d.ts +27 -0
- package/components/ecl-popover/ecl-popover-toggle.directive.d.ts.map +1 -1
- package/components/ecl-popover/ecl-popover.component.d.ts +46 -0
- package/components/ecl-popover/ecl-popover.component.d.ts.map +1 -1
- package/components/ecl-separator/ecl-separator.directive.d.ts +7 -0
- package/components/ecl-separator/ecl-separator.directive.d.ts.map +1 -1
- package/docs/classes/EclCategoryFilterItemSelectEvent.html +19 -0
- package/docs/classes/EclExpandableToggleEvent.html +8 -0
- package/docs/classes/EclNotificationCloseEvent.html +8 -0
- package/docs/components/EclAccordionComponent.html +25 -0
- package/docs/components/EclAccordionItemComponent.html +40 -0
- package/docs/components/EclBannerComponent.html +114 -0
- package/docs/components/EclBlockquoteComponent.html +50 -0
- package/docs/components/EclButtonComponent.html +87 -0
- package/docs/components/EclCardBodyComponent.html +25 -0
- package/docs/components/EclCardComponent.html +55 -0
- package/docs/components/EclCarouselComponent.html +179 -1
- package/docs/components/EclCarouselItemComponent.html +132 -0
- package/docs/components/EclCategoryFilterComponent.html +39 -0
- package/docs/components/EclCategoryFilterItemComponent.html +160 -0
- package/docs/components/EclCategoryFilterListComponent.html +84 -0
- package/docs/components/EclContentBlockComponent.html +27 -0
- package/docs/components/EclContentItemComponent.html +75 -0
- package/docs/components/EclDateBlockComponent.html +78 -0
- package/docs/components/EclDescriptionListDefinitionComponent.html +61 -0
- package/docs/components/EclExpandableComponent.html +59 -4
- package/docs/components/EclFactFiguresComponent.html +63 -4
- package/docs/components/EclFactFiguresDescriptionComponent.html +29 -4
- package/docs/components/EclFactFiguresItemComponent.html +32 -0
- package/docs/components/EclFactFiguresTitleComponent.html +28 -4
- package/docs/components/EclFactFiguresValueComponent.html +28 -4
- package/docs/components/EclFactFiguresViewAllComponent.html +36 -4
- package/docs/components/EclFileComponent.html +85 -0
- package/docs/components/EclFileItemComponent.html +88 -0
- package/docs/components/EclFileItemsComponent.html +55 -0
- package/docs/components/EclFileTaxonomyComponent.html +24 -0
- package/docs/components/EclIconComponent.html +101 -0
- package/docs/components/EclListIllustrationComponent.html +77 -0
- package/docs/components/EclListIllustrationItemComponent.html +66 -0
- package/docs/components/EclLoadingIndicatorComponent.html +75 -0
- package/docs/components/EclModalBodyComponent.html +31 -0
- package/docs/components/EclModalComponent.html +118 -0
- package/docs/components/EclModalFooterComponent.html +31 -0
- package/docs/components/EclModalHeaderComponent.html +58 -0
- package/docs/components/EclNewsTickerComponent.html +118 -0
- package/docs/components/EclNewsTickerItemComponent.html +86 -0
- package/docs/components/EclNotificationComponent.html +117 -0
- package/docs/components/EclPopoverComponent.html +90 -0
- package/docs/dependencies.html +2 -2
- package/docs/directives/EclBannerDescriptionDirective.html +7 -0
- package/docs/directives/EclBannerDescriptionLinkDirective.html +7 -0
- package/docs/directives/EclBannerDescriptionTextDirective.html +7 -0
- package/docs/directives/EclBannerImageDirective.html +10 -0
- package/docs/directives/EclBannerPictureDirective.html +8 -0
- package/docs/directives/EclBannerTitleDirective.html +8 -0
- package/docs/directives/EclBannerTitleLinkDirective.html +8 -0
- package/docs/directives/EclBannerTitleTextDirective.html +8 -0
- package/docs/directives/EclBannerVideoDirective.html +22 -0
- package/docs/directives/EclBlockquoteImageDirective.html +25 -0
- package/docs/directives/EclBlockquotePictureDirective.html +25 -0
- package/docs/directives/EclButtonIconContainerDirective.html +20 -0
- package/docs/directives/EclButtonLabelDirective.html +25 -0
- package/docs/directives/EclCardImageDirective.html +25 -0
- package/docs/directives/EclCardPictureDirective.html +31 -0
- package/docs/directives/EclContentBlockDescriptionDirective.html +24 -0
- package/docs/directives/EclContentBlockLabelDirective.html +24 -0
- package/docs/directives/EclContentBlockLabelsDirective.html +24 -0
- package/docs/directives/EclContentBlockLinkDirective.html +24 -0
- package/docs/directives/EclContentBlockLinksContainerDirective.html +24 -0
- package/docs/directives/EclContentBlockLinksDirective.html +24 -0
- package/docs/directives/EclContentBlockListContainerDirective.html +24 -0
- package/docs/directives/EclContentBlockListDirective.html +24 -0
- package/docs/directives/EclContentBlockPrimaryMetaDirective.html +24 -0
- package/docs/directives/EclContentBlockPrimaryMetasDirective.html +24 -0
- package/docs/directives/EclContentBlockSecondaryMetaDirective.html +24 -0
- package/docs/directives/EclContentBlockSecondaryMetaIconDirective.html +24 -0
- package/docs/directives/EclContentBlockSecondaryMetaLabelDirective.html +24 -0
- package/docs/directives/EclContentBlockSecondaryMetasDirective.html +24 -0
- package/docs/directives/EclContentBlockTagDirective.html +24 -0
- package/docs/directives/EclContentBlockTagsDirective.html +24 -0
- package/docs/directives/EclContentBlockTitleDirective.html +31 -0
- package/docs/directives/EclContentItemImageDirective.html +27 -0
- package/docs/directives/EclContentItemPictureDirective.html +46 -0
- package/docs/directives/EclDescriptionListDefinitionItemDirective.html +37 -0
- package/docs/directives/EclDescriptionListDefinitionListDirective.html +20 -0
- package/docs/directives/EclDescriptionListDirective.html +39 -0
- package/docs/directives/EclDescriptionListTermDirective.html +19 -0
- package/docs/directives/EclFileDownloadDirective.html +19 -0
- package/docs/directives/EclFileImageDirective.html +20 -0
- package/docs/directives/EclFilePictureDirective.html +25 -0
- package/docs/directives/EclFilePreviewDirective.html +32 -0
- package/docs/directives/EclFileTitleDirective.html +25 -0
- package/docs/directives/EclFileTranslationDownloadDirective.html +20 -0
- package/docs/directives/EclIndicatorDirective.html +20 -0
- package/docs/directives/EclLabelDirective.html +40 -0
- package/docs/directives/EclListIllustrationIconDirective.html +20 -0
- package/docs/directives/EclListIllustrationImageDirective.html +38 -0
- package/docs/directives/EclListIllustrationPictureDirective.html +25 -0
- package/docs/directives/EclLoadingIndicatorLabelDirective.html +20 -0
- package/docs/directives/EclLoadingIndicatorOverlayDirective.html +25 -0
- package/docs/directives/EclModalBodyFixedContentDirective.html +20 -0
- package/docs/directives/EclModalCloseDirective.html +35 -0
- package/docs/directives/EclModalTriggerDirective.html +22 -0
- package/docs/directives/EclNewsTickerIconDirective.html +19 -0
- package/docs/directives/EclNotificationTitleDirective.html +25 -0
- package/docs/directives/EclOrderedListDirective.html +19 -0
- package/docs/directives/EclOrderedListItemDirective.html +19 -0
- package/docs/directives/EclPopoverContentDirective.html +25 -0
- package/docs/directives/EclPopoverToggleDirective.html +62 -0
- package/docs/directives/EclSeparatorDirective.html +20 -0
- package/docs/directives/EclUnorderedListDirective.html +32 -0
- package/docs/directives/EclUnorderedListItemDirective.html +19 -0
- package/docs/js/search/search_index.js +2 -2
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +39 -0
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +108 -0
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +39 -0
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-button.mjs +53 -0
- package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs +42 -0
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +221 -0
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +85 -0
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-block.mjs +111 -0
- package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +50 -0
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs +18 -0
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +27 -0
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +64 -0
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +108 -3
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +32 -0
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-label.mjs +20 -0
- package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +80 -0
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +102 -0
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +59 -5
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +132 -0
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +89 -0
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +51 -0
- package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +69 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-separator.mjs +7 -0
- package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,10 @@ class EclAccordionToggleEvent extends EclBaseEvent {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Represents an individual item within an ECL Accordion.
|
|
19
|
+
* This component allows for expand/collapse behavior and emits toggle events on interaction.
|
|
20
|
+
*/
|
|
17
21
|
class EclAccordionItemComponent {
|
|
18
22
|
get cssClasses() {
|
|
19
23
|
return [this.baseDirective.getCssClasses('ecl-accordion__item')].join(' ').trim();
|
|
@@ -21,7 +25,16 @@ class EclAccordionItemComponent {
|
|
|
21
25
|
constructor(baseDirective, cd) {
|
|
22
26
|
this.baseDirective = baseDirective;
|
|
23
27
|
this.cd = cd;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the accordion item is expanded by default.
|
|
30
|
+
* Can be controlled externally.
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
24
33
|
this.isExpanded = false;
|
|
34
|
+
/**
|
|
35
|
+
* Event emitted when the item is toggled (expanded/collapsed).
|
|
36
|
+
* The emitted value contains the next expanded state.
|
|
37
|
+
*/
|
|
25
38
|
// eslint-disable-next-line
|
|
26
39
|
this.toggle = new EventEmitter();
|
|
27
40
|
this.contentId = '';
|
|
@@ -31,6 +44,13 @@ class EclAccordionItemComponent {
|
|
|
31
44
|
this.titleId = crypto.randomUUID();
|
|
32
45
|
this.contentId = crypto.randomUUID();
|
|
33
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Handles click on the accordion item header.
|
|
49
|
+
* Toggles the item and emits a toggle event.
|
|
50
|
+
* If the event is not prevented, the item's state is updated.
|
|
51
|
+
*
|
|
52
|
+
* @param evt - The mouse click event
|
|
53
|
+
*/
|
|
34
54
|
onItemClick(evt) {
|
|
35
55
|
const nextExpandedState = !this.isExpanded;
|
|
36
56
|
const event = new EclAccordionToggleEvent(nextExpandedState);
|
|
@@ -61,7 +81,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
61
81
|
type: Output
|
|
62
82
|
}] } });
|
|
63
83
|
|
|
84
|
+
/**
|
|
85
|
+
* Accordion component that manages the expansion and collapsing state of accordion items.
|
|
86
|
+
* Uses the `ECLBaseDirective` to apply appropriate CSS classes and manage the visual styling.
|
|
87
|
+
*
|
|
88
|
+
* @description
|
|
89
|
+
* This is the main component for the accordion container, responsible for managing the expansion
|
|
90
|
+
* of individual items within the accordion. It provides the functionality to group and organize content
|
|
91
|
+
* in expandable sections.
|
|
92
|
+
*
|
|
93
|
+
* @property {string} cssClasses - Returns a string of CSS classes applied to the host element.
|
|
94
|
+
* The main class is `ecl-accordion`, which can be extended with additional classes.
|
|
95
|
+
*/
|
|
64
96
|
class EclAccordionComponent {
|
|
97
|
+
/**
|
|
98
|
+
* @description
|
|
99
|
+
* Retrieves and returns the CSS classes for the component based on its current state.
|
|
100
|
+
* Uses `baseDirective` to fetch the appropriate CSS classes.
|
|
101
|
+
*
|
|
102
|
+
* @returns {string} - A string of CSS class names.
|
|
103
|
+
*/
|
|
65
104
|
get cssClasses() {
|
|
66
105
|
return [this.baseDirective.getCssClasses('ecl-accordion')].join(' ').trim();
|
|
67
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-accordion.mjs","sources":["../../components/ecl-accordion/events/ecl-accordion-toggle.event.ts","../../components/ecl-accordion/ecl-accordion-item.component.ts","../../components/ecl-accordion/ecl-accordion-item.component.html","../../components/ecl-accordion/ecl-accordion.component.ts","../../components/ecl-accordion/ecl-accordion.component.html","../../components/ecl-accordion/ecl-accordion.module.ts","../../components/ecl-accordion/eui-ecl-components-ecl-accordion.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclAccordionToggleEvent extends EclBaseEvent {\n\tconstructor(public isExpanded: boolean) {\n\t\tsuper();\n\t}\n}","import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, booleanAttribute,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclAccordionToggleEvent } from './events/ecl-accordion-toggle.event';\n\n@Component({\n selector: 'ecl-accordion-item',\n templateUrl: './ecl-accordion-item.component.html',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclAccordionItemComponent implements OnInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion__item')].join(' ').trim();\n }\n\n @Input() label: string;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclAccordionToggleEvent>();\n\n contentId = '';\n titleId = '';\n\n constructor(public baseDirective: ECLBaseDirective, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.titleId = crypto.randomUUID();\n this.contentId = crypto.randomUUID();\n }\n\n onItemClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclAccordionToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n","<h3 class=\"ecl-accordion__title\" [id]=\"titleId\">\n <button\n type=\"button\"\n (click)=\"onItemClick($event)\"\n [attr.aria-expanded]=\"isExpanded\"\n class=\"ecl-accordion__toggle\"\n [attr.aria-controls]=\"contentId\">\n <span class=\"ecl-accordion__toggle-flex\">\n <span class=\"ecl-accordion__toggle-title\">{{ label }}</span>\n <span class=\"ecl-accordion__toggle-indicator\">\n <ecl-icon icon=\"plus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" ariaHidden=\"true\">\n </ecl-icon>\n <ecl-icon icon=\"minus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" ariaHidden=\"true\">\n </ecl-icon>\n </span>\n </span>\n </button>\n</h3>\n<div class=\"ecl-accordion__content\" [hidden]=\"!isExpanded\" role=\"region\" [attr.aria-labelledby]=\"titleId\" [id]=\"contentId\">\n <ng-content></ng-content>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-accordion',\n templateUrl: './ecl-accordion.component.html',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclAccordionComponent {\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion')].join(' ').trim();\n }\n\n constructor(public baseDirective: ECLBaseDirective) { }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclAccordionItemComponent } from './ecl-accordion-item.component';\nimport { EclAccordionComponent } from './ecl-accordion.component';\n\n@NgModule({\n imports: [CommonModule, EclIconModule, TranslateModule],\n exports: [EclAccordionComponent, EclAccordionItemComponent],\n declarations: [EclAccordionComponent, EclAccordionItemComponent],\n})\nexport class EclAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAEM,MAAO,uBAAwB,SAAQ,YAAY,CAAA;AACxD,IAAA,WAAA,CAAmB,UAAmB,EAAA;AACrC,QAAA,KAAK,EAAE;QADW,IAAU,CAAA,UAAA,GAAV,UAAU;;AAG7B;;MCmBY,yBAAyB,CAAA;AAElC,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;IAYrF,WAAmB,CAAA,aAA+B,EAAU,EAAqB,EAAA;QAA9D,IAAa,CAAA,aAAA,GAAb,aAAa;QAA4B,IAAE,CAAA,EAAA,GAAF,EAAE;QARtB,IAAU,CAAA,UAAA,GAAG,KAAK;;AAGhD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA2B;QAE9D,IAAS,CAAA,SAAA,GAAG,EAAE;QACd,IAAO,CAAA,OAAA,GAAG,EAAE;;IAIZ,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE;;AAGxC,IAAA,WAAW,CAAC,GAAe,EAAA;AACvB,QAAA,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,UAAU;AAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC,iBAAiB,CAAC;AAE5D,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAEvB,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,iBAAiB;;;+GA9BlC,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAQd,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCxC,08BAqBA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,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,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDIa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAlBrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAElB,KAAK,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAQ/B,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,gBAAgB;AAC9B,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,08BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;qHAKG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAKX,KAAK,EAAA,CAAA;sBAAb;gBACuC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAG5B,MAAM,EAAA,CAAA;sBAAf;;;MEXQ,qBAAqB,CAAA;AAC9B,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAG/E,IAAA,WAAA,CAAmB,aAA+B,EAAA;QAA/B,IAAa,CAAA,aAAA,GAAb,aAAa;;+GANvB,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,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,sLCzBlC,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDwBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlBjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,cAEb,KAAK,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAQ/B,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,gBAAgB;AAC9B,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;qFAIG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;MEdX,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,EAFZ,YAAA,EAAA,CAAA,qBAAqB,EAAE,yBAAyB,CAFrD,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,eAAe,CAC5C,EAAA,OAAA,EAAA,CAAA,qBAAqB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGjD,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,EAJjB,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAI7C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC;AACvD,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;AAC3D,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;AACnE,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-accordion.mjs","sources":["../../components/ecl-accordion/events/ecl-accordion-toggle.event.ts","../../components/ecl-accordion/ecl-accordion-item.component.ts","../../components/ecl-accordion/ecl-accordion-item.component.html","../../components/ecl-accordion/ecl-accordion.component.ts","../../components/ecl-accordion/ecl-accordion.component.html","../../components/ecl-accordion/ecl-accordion.module.ts","../../components/ecl-accordion/eui-ecl-components-ecl-accordion.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclAccordionToggleEvent extends EclBaseEvent {\n\tconstructor(public isExpanded: boolean) {\n\t\tsuper();\n\t}\n}","import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, booleanAttribute,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclAccordionToggleEvent } from './events/ecl-accordion-toggle.event';\n\n/**\n * Represents an individual item within an ECL Accordion.\n * This component allows for expand/collapse behavior and emits toggle events on interaction.\n */\n@Component({\n selector: 'ecl-accordion-item',\n templateUrl: './ecl-accordion-item.component.html',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclAccordionItemComponent implements OnInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion__item')].join(' ').trim();\n }\n\n /**\n * The label for the accordion header.\n * This value is displayed as the clickable title of the item.\n */\n @Input() label: string;\n\n /**\n * Whether the accordion item is expanded by default.\n * Can be controlled externally.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * Event emitted when the item is toggled (expanded/collapsed).\n * The emitted value contains the next expanded state.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclAccordionToggleEvent>();\n\n contentId = '';\n titleId = '';\n\n constructor(public baseDirective: ECLBaseDirective, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.titleId = crypto.randomUUID();\n this.contentId = crypto.randomUUID();\n }\n\n /**\n * Handles click on the accordion item header.\n * Toggles the item and emits a toggle event.\n * If the event is not prevented, the item's state is updated.\n *\n * @param evt - The mouse click event\n */\n onItemClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclAccordionToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n","<h3 class=\"ecl-accordion__title\" [id]=\"titleId\">\n <button\n type=\"button\"\n (click)=\"onItemClick($event)\"\n [attr.aria-expanded]=\"isExpanded\"\n class=\"ecl-accordion__toggle\"\n [attr.aria-controls]=\"contentId\">\n <span class=\"ecl-accordion__toggle-flex\">\n <span class=\"ecl-accordion__toggle-title\">{{ label }}</span>\n <span class=\"ecl-accordion__toggle-indicator\">\n <ecl-icon icon=\"plus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" ariaHidden=\"true\">\n </ecl-icon>\n <ecl-icon icon=\"minus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" ariaHidden=\"true\">\n </ecl-icon>\n </span>\n </span>\n </button>\n</h3>\n<div class=\"ecl-accordion__content\" [hidden]=\"!isExpanded\" role=\"region\" [attr.aria-labelledby]=\"titleId\" [id]=\"contentId\">\n <ng-content></ng-content>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Accordion component that manages the expansion and collapsing state of accordion items.\n * Uses the `ECLBaseDirective` to apply appropriate CSS classes and manage the visual styling.\n * \n * @description\n * This is the main component for the accordion container, responsible for managing the expansion\n * of individual items within the accordion. It provides the functionality to group and organize content \n * in expandable sections.\n * \n * @property {string} cssClasses - Returns a string of CSS classes applied to the host element.\n * The main class is `ecl-accordion`, which can be extended with additional classes.\n */\n@Component({\n selector: 'ecl-accordion',\n templateUrl: './ecl-accordion.component.html',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclAccordionComponent {\n /**\n * @description\n * Retrieves and returns the CSS classes for the component based on its current state.\n * Uses `baseDirective` to fetch the appropriate CSS classes.\n * \n * @returns {string} - A string of CSS class names.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion')].join(' ').trim();\n }\n\n constructor(public baseDirective: ECLBaseDirective) { }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclAccordionItemComponent } from './ecl-accordion-item.component';\nimport { EclAccordionComponent } from './ecl-accordion.component';\n\n@NgModule({\n imports: [CommonModule, EclIconModule, TranslateModule],\n exports: [EclAccordionComponent, EclAccordionItemComponent],\n declarations: [EclAccordionComponent, EclAccordionItemComponent],\n})\nexport class EclAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,10 @@ import { ECLBaseDirective } from '@eui/ecl/core';
|
|
|
11
11
|
import { Subject, takeUntil, delay } from 'rxjs';
|
|
12
12
|
import * as i1 from '@angular/cdk/layout';
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Directive applied to the banner title container element.
|
|
16
|
+
* Adds appropriate styling class to the host element.
|
|
17
|
+
*/
|
|
14
18
|
class EclBannerTitleDirective extends ECLBaseDirective {
|
|
15
19
|
constructor() {
|
|
16
20
|
super(...arguments);
|
|
@@ -29,6 +33,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
29
33
|
type: HostBinding,
|
|
30
34
|
args: ['class']
|
|
31
35
|
}] } });
|
|
36
|
+
/**
|
|
37
|
+
* Directive applied to the text element within the banner title.
|
|
38
|
+
* Adds appropriate styling class to the host element.
|
|
39
|
+
*/
|
|
32
40
|
class EclBannerTitleTextDirective extends ECLBaseDirective {
|
|
33
41
|
constructor() {
|
|
34
42
|
super(...arguments);
|
|
@@ -47,6 +55,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
47
55
|
type: HostBinding,
|
|
48
56
|
args: ['class']
|
|
49
57
|
}] } });
|
|
58
|
+
/**
|
|
59
|
+
* Directive applied to the link element within the banner title.
|
|
60
|
+
* Adds appropriate link styling classes to the host element.
|
|
61
|
+
*/
|
|
50
62
|
class EclBannerTitleLinkDirective extends ECLBaseDirective {
|
|
51
63
|
constructor() {
|
|
52
64
|
super(...arguments);
|
|
@@ -66,6 +78,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
66
78
|
args: ['class']
|
|
67
79
|
}] } });
|
|
68
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Directive for the main banner description container.
|
|
83
|
+
*/
|
|
69
84
|
class EclBannerDescriptionDirective extends ECLBaseDirective {
|
|
70
85
|
constructor() {
|
|
71
86
|
super(...arguments);
|
|
@@ -84,6 +99,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
84
99
|
type: HostBinding,
|
|
85
100
|
args: ['class']
|
|
86
101
|
}] } });
|
|
102
|
+
/**
|
|
103
|
+
* Directive for the textual content inside the banner description.
|
|
104
|
+
*/
|
|
87
105
|
class EclBannerDescriptionTextDirective extends ECLBaseDirective {
|
|
88
106
|
constructor() {
|
|
89
107
|
super(...arguments);
|
|
@@ -102,6 +120,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
102
120
|
type: HostBinding,
|
|
103
121
|
args: ['class']
|
|
104
122
|
}] } });
|
|
123
|
+
/**
|
|
124
|
+
* Directive for a link inside the banner description.
|
|
125
|
+
*/
|
|
105
126
|
class EclBannerDescriptionLinkDirective extends ECLBaseDirective {
|
|
106
127
|
constructor() {
|
|
107
128
|
super(...arguments);
|
|
@@ -121,6 +142,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
121
142
|
args: ['class']
|
|
122
143
|
}] } });
|
|
123
144
|
|
|
145
|
+
/**
|
|
146
|
+
* Directive applied to the <picture> element within the banner.
|
|
147
|
+
* Adds the appropriate classes for styling the banner picture.
|
|
148
|
+
*/
|
|
124
149
|
class EclBannerPictureDirective extends ECLBaseDirective {
|
|
125
150
|
get cssClasses() {
|
|
126
151
|
return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();
|
|
@@ -138,7 +163,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
138
163
|
type: HostBinding,
|
|
139
164
|
args: ['class']
|
|
140
165
|
}] } });
|
|
166
|
+
/**
|
|
167
|
+
* Directive applied to the <img> element inside the banner.
|
|
168
|
+
* Enables class binding and exposes the element reference.
|
|
169
|
+
*/
|
|
141
170
|
class EclBannerImageDirective extends ECLBaseDirective {
|
|
171
|
+
/**
|
|
172
|
+
* Reference to the host image element.
|
|
173
|
+
*/
|
|
142
174
|
constructor(el) {
|
|
143
175
|
super();
|
|
144
176
|
this.el = el;
|
|
@@ -158,10 +190,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
158
190
|
args: ['class.ecl-banner__image']
|
|
159
191
|
}] } });
|
|
160
192
|
|
|
193
|
+
/**
|
|
194
|
+
* Directive applied to the video element used in the banner.
|
|
195
|
+
* Adds appropriate styling classes to the host element.
|
|
196
|
+
*/
|
|
161
197
|
class EclBannerVideoDirective extends ECLBaseDirective {
|
|
198
|
+
/**
|
|
199
|
+
* Reference to the native video element.
|
|
200
|
+
*/
|
|
162
201
|
constructor(el) {
|
|
163
202
|
super();
|
|
164
203
|
this.el = el;
|
|
204
|
+
/**
|
|
205
|
+
* CSS classes applied to the host video element.
|
|
206
|
+
*/
|
|
165
207
|
this.videoClasses = 'ecl-video ecl-banner__video';
|
|
166
208
|
}
|
|
167
209
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclBannerVideoDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -178,6 +220,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
178
220
|
args: ['class']
|
|
179
221
|
}] } });
|
|
180
222
|
|
|
223
|
+
/**
|
|
224
|
+
* Component representing a banner, which can contain image, video and call-to-action (CTA) links.
|
|
225
|
+
* Allows customization of layout, alignment, and appearance through inputs.
|
|
226
|
+
*/
|
|
181
227
|
class EclBannerComponent extends ECLBaseDirective {
|
|
182
228
|
get cssClasses() {
|
|
183
229
|
return [
|
|
@@ -198,13 +244,50 @@ class EclBannerComponent extends ECLBaseDirective {
|
|
|
198
244
|
this.el = el;
|
|
199
245
|
this.renderer = renderer;
|
|
200
246
|
this.cdkBreakpointObserver = cdkBreakpointObserver;
|
|
247
|
+
/**
|
|
248
|
+
* Defines the size of the banner. Affects its height-to-width aspect ratio.
|
|
249
|
+
* Allowed values: 'xs' | 's' | 'm' | 'l'.
|
|
250
|
+
* Default: 'm'.
|
|
251
|
+
*/
|
|
201
252
|
this.eclSize = 'm';
|
|
253
|
+
/**
|
|
254
|
+
* Defines the color of the font inside the banner content box.
|
|
255
|
+
* Allowed values: 'light' | 'dark'.
|
|
256
|
+
* Default: 'dark'.
|
|
257
|
+
*/
|
|
202
258
|
this.fontColor = 'dark';
|
|
259
|
+
/**
|
|
260
|
+
* Defines the font size inside the banner content box.
|
|
261
|
+
* Allowed values: 'm' | 'l'.
|
|
262
|
+
* Default: 'm'.
|
|
263
|
+
*/
|
|
203
264
|
this.fontSize = 'm';
|
|
265
|
+
/**
|
|
266
|
+
* Defines the background color of the banner content box.
|
|
267
|
+
* Allowed values: 'none' | 'light' | 'dark'.
|
|
268
|
+
* Default: 'light'.
|
|
269
|
+
*/
|
|
204
270
|
this.boxBackground = 'light';
|
|
271
|
+
/**
|
|
272
|
+
* Sets the horizontal alignment of the content inside the banner.
|
|
273
|
+
* Allowed values: 'left' | 'center' | 'right'.
|
|
274
|
+
* Default: 'left'.
|
|
275
|
+
*/
|
|
205
276
|
this.horizontalAlignment = 'left';
|
|
277
|
+
/**
|
|
278
|
+
* Sets the vertical alignment of the content inside the banner.
|
|
279
|
+
* Allowed values: 'top' | 'center' | 'bottom'.
|
|
280
|
+
* Default: 'center'.
|
|
281
|
+
*/
|
|
206
282
|
this.verticalAlignment = 'center';
|
|
283
|
+
/**
|
|
284
|
+
* Sets the copyright text displayed in the banner.
|
|
285
|
+
*/
|
|
207
286
|
this.copyright = '';
|
|
287
|
+
/**
|
|
288
|
+
* When true, the banner stretches to full width of its container.
|
|
289
|
+
* Default: false.
|
|
290
|
+
*/
|
|
208
291
|
this.isFullWidth = false;
|
|
209
292
|
this.bannerFooterHeight = null;
|
|
210
293
|
this.isPlaying = false;
|
|
@@ -242,27 +325,52 @@ class EclBannerComponent extends ECLBaseDirective {
|
|
|
242
325
|
this.destroy$.next(true);
|
|
243
326
|
this.destroy$.unsubscribe();
|
|
244
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Indicates whether the banner contains at least one call-to-action link.
|
|
330
|
+
*/
|
|
245
331
|
get hasCtaLink() {
|
|
246
332
|
return this.eclLinkComponents.length > 0;
|
|
247
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Indicates whether the banner contains an image.
|
|
336
|
+
*/
|
|
248
337
|
get hasImage() {
|
|
249
338
|
return !!this.eclBannerImage;
|
|
250
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Indicates whether the banner contains a video.
|
|
342
|
+
*/
|
|
251
343
|
get hasVideo() {
|
|
252
344
|
return !!this.eclBannerVideo;
|
|
253
345
|
}
|
|
346
|
+
/**
|
|
347
|
+
* Handles keyboard activation (Enter key) to play video.
|
|
348
|
+
* Moves focus to pause button after playing starts.
|
|
349
|
+
*/
|
|
254
350
|
onKeydownEnterPlay() {
|
|
255
351
|
this.onVideoPlay();
|
|
256
352
|
setTimeout(() => this.pauseBtn.onFocus());
|
|
257
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Handles keyboard activation (Enter key) to pause video.
|
|
356
|
+
* Moves focus to play button after pausing.
|
|
357
|
+
*/
|
|
258
358
|
onKeydownEnterPause() {
|
|
259
359
|
this.onVideoPause();
|
|
260
360
|
setTimeout(() => this.playBtn.onFocus());
|
|
261
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Plays the embedded banner video.
|
|
364
|
+
* Triggered via interaction (e.g., button).
|
|
365
|
+
*/
|
|
262
366
|
onVideoPlay() {
|
|
263
367
|
const videoEl = this.eclBannerVideo.el.nativeElement;
|
|
264
368
|
videoEl.play();
|
|
265
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Pauses the embedded banner video.
|
|
372
|
+
* Triggered via interaction (e.g., button).
|
|
373
|
+
*/
|
|
266
374
|
onVideoPause() {
|
|
267
375
|
const videoEl = this.eclBannerVideo.el.nativeElement;
|
|
268
376
|
videoEl.pause();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-banner.mjs","sources":["../../components/ecl-banner/ecl-banner-title.directive.ts","../../components/ecl-banner/ecl-banner-description.directive.ts","../../components/ecl-banner/ecl-banner-picture.directive.ts","../../components/ecl-banner/ecl-banner-video.directive.ts","../../components/ecl-banner/ecl-banner.component.ts","../../components/ecl-banner/ecl-banner.component.html","../../components/ecl-banner/ecl-banner.module.ts","../../components/ecl-banner/eui-ecl-components-ecl-banner.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclBannerTitle]',\n standalone: false,\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n@Directive({\n selector: '[eclBannerTitleText]',\n standalone: false,\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n\n@Directive({\n selector: '[eclBannerTitleLink]',\n standalone: false,\n})\nexport class EclBannerTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__title-link';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclBannerDescription]',\n standalone: false,\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n@Directive({\n selector: '[eclBannerDescriptionText]',\n standalone: false,\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n\n@Directive({\n selector: '[eclBannerDescriptionLink]',\n standalone: false,\n})\nexport class EclBannerDescriptionLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__description-link';\n}\n","import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'picture[eclBannerPicture]',\n standalone: false,\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclBannerImage]',\n standalone: false,\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-banner__image') className = true;\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n","import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'video[eclBannerVideo]',\n standalone: false,\n})\nexport class EclBannerVideoDirective extends ECLBaseDirective {\n @HostBinding('class') videoClasses = 'ecl-video ecl-banner__video';\n constructor(public el: ElementRef) {\n super();\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n ViewChild,\n afterNextRender,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { Subject, delay, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\n\nconst enum DefaultRatio {\n XS = '6/1',\n S = '5/1',\n M = '4/1',\n L = '3/1',\n}\n\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n standalone: false,\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n\n @Input() eclSize: 'xs'| 's' | 'm' | 'l' | string = 'm';\n @Input() fontColor: 'light' | 'dark' | string = 'dark';\n @Input() fontSize: 'm' | 'l' | string = 'm';\n @Input() boxBackground: 'none' | 'light' | 'dark' | string = 'light';\n @Input() horizontalAlignment: 'right' | 'left' | 'center' | string = 'left';\n @Input() verticalAlignment: 'top' | 'center' | 'bottom' | string = 'center';\n @Input() copyright = '';\n\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChildren(forwardRef(() => EclLinkDirective)) eclLinkComponents: QueryList<EclLinkDirective>;\n @ContentChild(EclBannerImageDirective) eclBannerImage: EclBannerImageDirective;\n @ContentChild(EclBannerVideoDirective) eclBannerVideo: EclBannerVideoDirective;\n\n @ViewChild('bannerFooter') bannerFooter: ElementRef;\n @ViewChild('bannerContainer') bannerContainer: ElementRef;\n @ViewChild('playBtn') playBtn: EclButtonComponent;\n @ViewChild('pauseBtn') pauseBtn: EclButtonComponent;\n\n @HostBinding('style.--banner-footer-height.px') bannerFooterHeight = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.eclSize}`,\n `ecl-banner--font-${this.fontSize}`,\n `ecl-banner--box-bg-${this.boxBackground}`,\n `ecl-banner--h-${this.horizontalAlignment}`,\n `ecl-banner--v-${this.verticalAlignment}`,\n `ecl-banner--color-${this.fontColor}`,\n this.isFullWidth ? 'ecl-banner--full-width' : '',\n ]\n .join(' ')\n .trim();\n }\n\n isPlaying = false;\n private readonly BANNER_PADDING = 16;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private bannerWidth = 0;\n private isTabletBreakpoint = true;\n private readonly TIMEOUT_INTERVAL = 200;\n\n constructor(public el: ElementRef, private renderer: Renderer2, private cdkBreakpointObserver: BreakpointObserver) {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.observeElementSizeChanges();\n });\n }\n\n ngAfterContentInit(): void {\n if (this.eclLinkComponents) {\n this.eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n\n if (this.hasVideo) {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.addEventListener('play', () => {\n this.isPlaying = true;\n });\n videoEl.addEventListener('pause', () => {\n this.isPlaying = false;\n });\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.setProperty(videoEl, 'loop', true);\n this.renderer.setProperty(videoEl, 'autoplay', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get hasCtaLink(): boolean {\n return this.eclLinkComponents.length > 0;\n }\n\n get hasImage(): boolean {\n return !!this.eclBannerImage;\n }\n\n get hasVideo(): boolean {\n return !!this.eclBannerVideo;\n }\n\n onKeydownEnterPlay(): void {\n this.onVideoPlay();\n setTimeout(() => this.pauseBtn.onFocus());\n }\n\n onKeydownEnterPause(): void {\n this.onVideoPause();\n setTimeout(() => this.playBtn.onFocus());\n }\n\n onVideoPlay(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.play();\n }\n\n onVideoPause(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.pause();\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => {\n if (this.bannerWidth !== this.bannerContainer.nativeElement.offsetWidth) {\n this.bannerWidth = this.bannerContainer.nativeElement.offsetWidth;\n if (this.eclBannerImage || this.eclBannerVideo) {\n this.setBannerHeight();\n }\n }\n }, this.TIMEOUT_INTERVAL);\n }).observe(this.bannerContainer.nativeElement);\n }\n\n private setBannerHeight(): void {\n if (!this.bannerContainer) {\n return;\n }\n\n const bannerContainerHeight = this.bannerContainer.nativeElement.offsetHeight + this.BANNER_PADDING;\n const ratioArray = this.getRatioArray();\n const elHeight = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10) * ratioArray[1] / ratioArray[0];\n if (this.isTabletBreakpoint && bannerContainerHeight > elHeight) {\n if (this.eclBannerImage) {\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', 'auto');\n } else if (this.eclBannerVideo) {\n this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', 'auto');\n }\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerContainerHeight}px`);\n } else {\n this.resetHeight();\n }\n\n if (this.bannerFooter) {\n this.bannerFooterHeight = this.bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private resetHeight(): void {\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', aspectRatio);\n }\n if (this.eclBannerVideo) {\n this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', this.getDefaultRatio());\n }\n }\n\n private getRatioArray(): number[] {\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n return aspectRatio.split('/').map(Number);\n } else {\n return this.getDefaultRatio().split('/').map(Number);\n }\n }\n\n private getDefaultRatio(): string {\n switch(this.eclSize) {\n case 'xs': {\n return DefaultRatio.XS;\n }\n case 's': {\n return DefaultRatio.S;\n }\n case 'l': {\n return DefaultRatio.L;\n }\n default: {\n return DefaultRatio.M;\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([\n '(min-width: 997px)',\n ])\n .pipe(takeUntil(this.destroy$), delay(this.TIMEOUT_INTERVAL))\n .subscribe((result) => {\n this.isTabletBreakpoint = result.breakpoints['(min-width: 997px)'];\n if ( !this.isTabletBreakpoint) {\n this.setBannerHeight();\n }\n });\n }\n\n}\n","@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'block'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'block' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <div #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">© {{copyright}}</div></div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclBannerTitleDirective, EclBannerTitleLinkDirective, EclBannerTitleTextDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionLinkDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';\nimport { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nconst COMPONENTS = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerTitleLinkDirective,\n EclBannerVideoDirective,\n EclBannerDescriptionLinkDirective,\n];\n@NgModule({\n imports: [CommonModule, EclLinkModule, EclIconModule, EclButtonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclBannerModule {}\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-banner.mjs","sources":["../../components/ecl-banner/ecl-banner-title.directive.ts","../../components/ecl-banner/ecl-banner-description.directive.ts","../../components/ecl-banner/ecl-banner-picture.directive.ts","../../components/ecl-banner/ecl-banner-video.directive.ts","../../components/ecl-banner/ecl-banner.component.ts","../../components/ecl-banner/ecl-banner.component.html","../../components/ecl-banner/ecl-banner.module.ts","../../components/ecl-banner/eui-ecl-components-ecl-banner.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the banner title container element.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitle]',\n standalone: false,\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n/**\n * Directive applied to the text element within the banner title.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleText]',\n standalone: false,\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n\n/**\n * Directive applied to the link element within the banner title.\n * Adds appropriate link styling classes to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleLink]',\n standalone: false,\n})\nexport class EclBannerTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__title-link';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for the main banner description container.\n */\n@Directive({\n selector: '[eclBannerDescription]',\n standalone: false,\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n/**\n * Directive for the textual content inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionText]',\n standalone: false,\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n\n/**\n * Directive for a link inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionLink]',\n standalone: false,\n})\nexport class EclBannerDescriptionLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__description-link';\n}\n","import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the <picture> element within the banner.\n * Adds the appropriate classes for styling the banner picture.\n */\n@Directive({\n selector: 'picture[eclBannerPicture]',\n standalone: false,\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to the <img> element inside the banner.\n * Enables class binding and exposes the element reference.\n */\n@Directive({\n selector: 'img[eclBannerImage]',\n standalone: false,\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-banner__image') className = true;\n\n /**\n * Reference to the host image element.\n */\n constructor(public el: ElementRef) {\n super();\n }\n}\n","import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the video element used in the banner.\n * Adds appropriate styling classes to the host element.\n */\n@Directive({\n selector: 'video[eclBannerVideo]',\n standalone: false,\n})\nexport class EclBannerVideoDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host video element.\n */\n @HostBinding('class') videoClasses = 'ecl-video ecl-banner__video';\n\n /**\n * Reference to the native video element.\n */\n constructor(public el: ElementRef) {\n super();\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n ViewChild,\n afterNextRender,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { Subject, delay, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\n\nconst enum DefaultRatio {\n XS = '6/1',\n S = '5/1',\n M = '4/1',\n L = '3/1',\n}\n\n/**\n * Component representing a banner, which can contain image, video and call-to-action (CTA) links.\n * Allows customization of layout, alignment, and appearance through inputs.\n */\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n standalone: false,\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n\n /**\n * Defines the size of the banner. Affects its height-to-width aspect ratio.\n * Allowed values: 'xs' | 's' | 'm' | 'l'.\n * Default: 'm'.\n */\n @Input() eclSize: 'xs'| 's' | 'm' | 'l' | string = 'm';\n\n /**\n * Defines the color of the font inside the banner content box.\n * Allowed values: 'light' | 'dark'.\n * Default: 'dark'.\n */\n @Input() fontColor: 'light' | 'dark' | string = 'dark';\n\n /**\n * Defines the font size inside the banner content box.\n * Allowed values: 'm' | 'l'.\n * Default: 'm'.\n */\n @Input() fontSize: 'm' | 'l' | string = 'm';\n\n /**\n * Defines the background color of the banner content box.\n * Allowed values: 'none' | 'light' | 'dark'.\n * Default: 'light'.\n */\n @Input() boxBackground: 'none' | 'light' | 'dark' | string = 'light';\n\n /**\n * Sets the horizontal alignment of the content inside the banner.\n * Allowed values: 'left' | 'center' | 'right'.\n * Default: 'left'.\n */\n @Input() horizontalAlignment: 'right' | 'left' | 'center' | string = 'left';\n\n /**\n * Sets the vertical alignment of the content inside the banner.\n * Allowed values: 'top' | 'center' | 'bottom'.\n * Default: 'center'.\n */\n @Input() verticalAlignment: 'top' | 'center' | 'bottom' | string = 'center';\n\n /**\n * Sets the copyright text displayed in the banner.\n */\n @Input() copyright = '';\n\n /**\n * When true, the banner stretches to full width of its container.\n * Default: false.\n */\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChildren(forwardRef(() => EclLinkDirective)) eclLinkComponents: QueryList<EclLinkDirective>;\n @ContentChild(EclBannerImageDirective) eclBannerImage: EclBannerImageDirective;\n @ContentChild(EclBannerVideoDirective) eclBannerVideo: EclBannerVideoDirective;\n\n @ViewChild('bannerFooter') bannerFooter: ElementRef;\n @ViewChild('bannerContainer') bannerContainer: ElementRef;\n @ViewChild('playBtn') playBtn: EclButtonComponent;\n @ViewChild('pauseBtn') pauseBtn: EclButtonComponent;\n\n @HostBinding('style.--banner-footer-height.px') bannerFooterHeight = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.eclSize}`,\n `ecl-banner--font-${this.fontSize}`,\n `ecl-banner--box-bg-${this.boxBackground}`,\n `ecl-banner--h-${this.horizontalAlignment}`,\n `ecl-banner--v-${this.verticalAlignment}`,\n `ecl-banner--color-${this.fontColor}`,\n this.isFullWidth ? 'ecl-banner--full-width' : '',\n ]\n .join(' ')\n .trim();\n }\n\n isPlaying = false;\n private readonly BANNER_PADDING = 16;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private bannerWidth = 0;\n private isTabletBreakpoint = true;\n private readonly TIMEOUT_INTERVAL = 200;\n\n constructor(public el: ElementRef, private renderer: Renderer2, private cdkBreakpointObserver: BreakpointObserver) {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.observeElementSizeChanges();\n });\n }\n\n ngAfterContentInit(): void {\n if (this.eclLinkComponents) {\n this.eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n\n if (this.hasVideo) {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.addEventListener('play', () => {\n this.isPlaying = true;\n });\n videoEl.addEventListener('pause', () => {\n this.isPlaying = false;\n });\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.setProperty(videoEl, 'loop', true);\n this.renderer.setProperty(videoEl, 'autoplay', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Indicates whether the banner contains at least one call-to-action link.\n */\n get hasCtaLink(): boolean {\n return this.eclLinkComponents.length > 0;\n }\n\n /**\n * Indicates whether the banner contains an image.\n */\n get hasImage(): boolean {\n return !!this.eclBannerImage;\n }\n\n /**\n * Indicates whether the banner contains a video.\n */\n get hasVideo(): boolean {\n return !!this.eclBannerVideo;\n }\n\n /**\n * Handles keyboard activation (Enter key) to play video.\n * Moves focus to pause button after playing starts.\n */\n onKeydownEnterPlay(): void {\n this.onVideoPlay();\n setTimeout(() => this.pauseBtn.onFocus());\n }\n\n /**\n * Handles keyboard activation (Enter key) to pause video.\n * Moves focus to play button after pausing.\n */\n onKeydownEnterPause(): void {\n this.onVideoPause();\n setTimeout(() => this.playBtn.onFocus());\n }\n\n /**\n * Plays the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPlay(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.play();\n }\n\n /**\n * Pauses the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPause(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.pause();\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => {\n if (this.bannerWidth !== this.bannerContainer.nativeElement.offsetWidth) {\n this.bannerWidth = this.bannerContainer.nativeElement.offsetWidth;\n if (this.eclBannerImage || this.eclBannerVideo) {\n this.setBannerHeight();\n }\n }\n }, this.TIMEOUT_INTERVAL);\n }).observe(this.bannerContainer.nativeElement);\n }\n\n private setBannerHeight(): void {\n if (!this.bannerContainer) {\n return;\n }\n\n const bannerContainerHeight = this.bannerContainer.nativeElement.offsetHeight + this.BANNER_PADDING;\n const ratioArray = this.getRatioArray();\n const elHeight = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10) * ratioArray[1] / ratioArray[0];\n if (this.isTabletBreakpoint && bannerContainerHeight > elHeight) {\n if (this.eclBannerImage) {\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', 'auto');\n } else if (this.eclBannerVideo) {\n this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', 'auto');\n }\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerContainerHeight}px`);\n } else {\n this.resetHeight();\n }\n\n if (this.bannerFooter) {\n this.bannerFooterHeight = this.bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private resetHeight(): void {\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', aspectRatio);\n }\n if (this.eclBannerVideo) {\n this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', this.getDefaultRatio());\n }\n }\n\n private getRatioArray(): number[] {\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n return aspectRatio.split('/').map(Number);\n } else {\n return this.getDefaultRatio().split('/').map(Number);\n }\n }\n\n private getDefaultRatio(): string {\n switch(this.eclSize) {\n case 'xs': {\n return DefaultRatio.XS;\n }\n case 's': {\n return DefaultRatio.S;\n }\n case 'l': {\n return DefaultRatio.L;\n }\n default: {\n return DefaultRatio.M;\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([\n '(min-width: 997px)',\n ])\n .pipe(takeUntil(this.destroy$), delay(this.TIMEOUT_INTERVAL))\n .subscribe((result) => {\n this.isTabletBreakpoint = result.breakpoints['(min-width: 997px)'];\n if ( !this.isTabletBreakpoint) {\n this.setBannerHeight();\n }\n });\n }\n\n}\n","@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'block'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'block' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <div #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">© {{copyright}}</div></div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclBannerTitleDirective, EclBannerTitleLinkDirective, EclBannerTitleTextDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionLinkDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';\nimport { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nconst COMPONENTS = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerTitleLinkDirective,\n EclBannerVideoDirective,\n EclBannerDescriptionLinkDirective,\n];\n@NgModule({\n imports: [CommonModule, EclLinkModule, EclIconModule, EclButtonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclBannerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,15 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
6
6
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
7
7
|
import * as i1 from '@eui/core';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Blockquote component based on the ECL design system.
|
|
11
|
+
* Displays quoted text with an optional author.
|
|
12
|
+
* Supports language awareness through the I18n service.
|
|
13
|
+
*/
|
|
9
14
|
class EclBlockquoteComponent extends ECLBaseDirective {
|
|
15
|
+
/**
|
|
16
|
+
* Applies the CSS classes for the blockquote element.
|
|
17
|
+
*/
|
|
10
18
|
get cssClasses() {
|
|
11
19
|
return [super.getCssClasses('ecl-blockquote')].join(' ').trim();
|
|
12
20
|
}
|
|
@@ -14,19 +22,36 @@ class EclBlockquoteComponent extends ECLBaseDirective {
|
|
|
14
22
|
super();
|
|
15
23
|
this.i18nService = i18nService;
|
|
16
24
|
this.cd = cd;
|
|
25
|
+
/**
|
|
26
|
+
* Current active language code, retrieved from the I18n service.
|
|
27
|
+
*/
|
|
17
28
|
this.languageCode = 'en';
|
|
18
29
|
this.destroy$ = new Subject();
|
|
19
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Angular lifecycle hook.
|
|
33
|
+
* Subscribes to language change events on component initialization.
|
|
34
|
+
*/
|
|
20
35
|
ngOnInit() {
|
|
21
36
|
this.handleLanguageChangeState();
|
|
22
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Angular lifecycle hook.
|
|
40
|
+
* Cleans up subscriptions on component destruction.
|
|
41
|
+
*/
|
|
23
42
|
ngOnDestroy() {
|
|
24
43
|
this.destroy$.next(true);
|
|
25
44
|
this.destroy$.unsubscribe();
|
|
26
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Checks if an author is provided.
|
|
48
|
+
*/
|
|
27
49
|
get hasAuthor() {
|
|
28
50
|
return this.author !== null;
|
|
29
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Handles updates to the language code when the I18n service state changes.
|
|
54
|
+
*/
|
|
30
55
|
handleLanguageChangeState() {
|
|
31
56
|
this.i18nService.getState().pipe(takeUntil(this.destroy$)).subscribe((lang) => {
|
|
32
57
|
this.languageCode = lang.activeLang;
|
|
@@ -46,7 +71,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
46
71
|
args: ['class']
|
|
47
72
|
}] } });
|
|
48
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Directive for the picture element inside the ECL Blockquote.
|
|
76
|
+
* Automatically applies the `ecl-picture` and `ecl-blockquote__picture` CSS classes.
|
|
77
|
+
*/
|
|
49
78
|
class EclBlockquotePictureDirective extends ECLBaseDirective {
|
|
79
|
+
/**
|
|
80
|
+
* Returns the CSS classes to apply for the blockquote picture element.
|
|
81
|
+
*/
|
|
50
82
|
get cssClasses() {
|
|
51
83
|
return [super.getCssClasses('ecl-picture ecl-blockquote__picture')].join(' ').trim();
|
|
52
84
|
}
|
|
@@ -63,7 +95,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
63
95
|
type: HostBinding,
|
|
64
96
|
args: ['class']
|
|
65
97
|
}] } });
|
|
98
|
+
/**
|
|
99
|
+
* Directive for the image inside the ECL Blockquote.
|
|
100
|
+
* Automatically applies the `ecl-blockquote__image` CSS class.
|
|
101
|
+
*/
|
|
66
102
|
class EclBlockquoteImageDirective extends ECLBaseDirective {
|
|
103
|
+
/**
|
|
104
|
+
* Returns the CSS classes to apply for the blockquote image element.
|
|
105
|
+
*/
|
|
67
106
|
get cssClasses() {
|
|
68
107
|
return [super.getCssClasses('ecl-blockquote__image')].join(' ').trim();
|
|
69
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-blockquote.mjs","sources":["../../components/ecl-blockquote/ecl-blockquote.component.ts","../../components/ecl-blockquote/ecl-blockquote.component.html","../../components/ecl-blockquote/ecl-blockquote-picture.directive.ts","../../components/ecl-blockquote/ecl-blockquote.module.ts","../../components/ecl-blockquote/eui-ecl-components-ecl-blockquote.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-blockquote.mjs","sources":["../../components/ecl-blockquote/ecl-blockquote.component.ts","../../components/ecl-blockquote/ecl-blockquote.component.html","../../components/ecl-blockquote/ecl-blockquote-picture.directive.ts","../../components/ecl-blockquote/ecl-blockquote.module.ts","../../components/ecl-blockquote/eui-ecl-components-ecl-blockquote.ts"],"sourcesContent":["import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { I18nService } from '@eui/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Blockquote component based on the ECL design system.\n * Displays quoted text with an optional author.\n * Supports language awareness through the I18n service.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclBlockquote]',\n templateUrl: './ecl-blockquote.component.html',\n standalone: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclBlockquoteComponent extends ECLBaseDirective implements OnInit, OnDestroy {\n /**\n * Author name associated with the quoted content.\n * If provided, it will be displayed below the blockquote.\n */\n @Input() author: string;\n\n /**\n * Applies the CSS classes for the blockquote element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-blockquote')].join(' ').trim();\n }\n\n /**\n * Current active language code, retrieved from the I18n service.\n */\n languageCode = 'en';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(protected i18nService: I18nService, private cd: ChangeDetectorRef) {\n super();\n }\n\n /**\n * Angular lifecycle hook.\n * Subscribes to language change events on component initialization.\n */\n ngOnInit(): void {\n this.handleLanguageChangeState();\n }\n\n /**\n * Angular lifecycle hook.\n * Cleans up subscriptions on component destruction.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Checks if an author is provided.\n */\n get hasAuthor(): boolean {\n return this.author !== null;\n }\n\n /**\n * Handles updates to the language code when the I18n service state changes.\n */\n private handleLanguageChangeState(): void {\n this.i18nService.getState().pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n this.languageCode = lang.activeLang;\n this.cd.detectChanges();\n });\n }\n}\n","<ng-content select=\"picture[eclBlockquotePicture]\"></ng-content>\n<div class=\"ecl-blockquote__body\">\n <blockquote class=\"ecl-blockquote__quote\">\n <p class=\"ecl-blockquote__citation\" [attr.lang]=\"languageCode\">\n <ng-content></ng-content>\n </p>\n @if (hasAuthor) {\n <footer class=\"ecl-blockquote__attribution\">\n <cite class=\"ecl-blockquote__author\">{{ author }}</cite>\n </footer>\n }\n </blockquote>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for the picture element inside the ECL Blockquote.\n * Automatically applies the `ecl-picture` and `ecl-blockquote__picture` CSS classes.\n */\n@Directive({\n selector: 'picture[eclBlockquotePicture]',\n standalone: false,\n})\nexport class EclBlockquotePictureDirective extends ECLBaseDirective {\n /**\n * Returns the CSS classes to apply for the blockquote picture element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-blockquote__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive for the image inside the ECL Blockquote.\n * Automatically applies the `ecl-blockquote__image` CSS class.\n */\n@Directive({\n selector: 'img[eclBlockquoteImage]',\n standalone: false,\n})\nexport class EclBlockquoteImageDirective extends ECLBaseDirective {\n /**\n * Returns the CSS classes to apply for the blockquote image element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-blockquote__image')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EclBlockquoteComponent } from './ecl-blockquote.component';\nimport { EclBlockquoteImageDirective, EclBlockquotePictureDirective } from './ecl-blockquote-picture.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclBlockquoteComponent, EclBlockquoteImageDirective, EclBlockquotePictureDirective],\n declarations: [EclBlockquoteComponent, EclBlockquoteImageDirective, EclBlockquotePictureDirective],\n})\nexport class EclBlockquoteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|