@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
|
@@ -6,7 +6,14 @@ import { switchMap, of } from 'rxjs';
|
|
|
6
6
|
import * as i1 from '@eui/ecl/core';
|
|
7
7
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* ECL icon component – renders SVG icons from various sets depending on current theme.
|
|
11
|
+
* Integrates with ECL theming and supports accessibility options.
|
|
12
|
+
*/
|
|
9
13
|
class EclIconComponent {
|
|
14
|
+
/**
|
|
15
|
+
* Adds a dark background utility class if the color is set to `'inverted'`.
|
|
16
|
+
*/
|
|
10
17
|
get isColorInverted() {
|
|
11
18
|
return this.color === 'inverted';
|
|
12
19
|
}
|
|
@@ -14,10 +21,31 @@ class EclIconComponent {
|
|
|
14
21
|
this.el = el;
|
|
15
22
|
this.renderer = renderer;
|
|
16
23
|
this.eclThemeService = eclThemeService;
|
|
24
|
+
/**
|
|
25
|
+
* Defines the icon set to use.
|
|
26
|
+
* Available sets: `default`, `social`, `social-media`, `flag`, or a custom URL prefix.
|
|
27
|
+
* Defaults to `'default'`.
|
|
28
|
+
*/
|
|
17
29
|
this.iconSet = 'default';
|
|
30
|
+
/**
|
|
31
|
+
* Size of the icon.
|
|
32
|
+
* Supported values: `'2xs'`, `'xs'`, `'s'`, `'m'`, `'l'`, `'xl'`, `'2xl'`, `'fluid'`.
|
|
33
|
+
* Defaults to `'xs'`.
|
|
34
|
+
*/
|
|
18
35
|
this.size = 'xs';
|
|
36
|
+
/**
|
|
37
|
+
* Applies color styling to the icon.
|
|
38
|
+
* Use `'inverted'` for icons on dark backgrounds, or `'primary'` for emphasis.
|
|
39
|
+
*/
|
|
19
40
|
this.color = null;
|
|
41
|
+
/**
|
|
42
|
+
* Controls whether the icon is focusable via keyboard.
|
|
43
|
+
* Defaults to `false`.
|
|
44
|
+
*/
|
|
20
45
|
this.focusable = false;
|
|
46
|
+
/**
|
|
47
|
+
* Flips the icon horizontally if set to `true`.
|
|
48
|
+
*/
|
|
21
49
|
this.isFlipHorizontal = false;
|
|
22
50
|
this.baseDirective = baseDirective;
|
|
23
51
|
}
|
|
@@ -54,6 +82,10 @@ class EclIconComponent {
|
|
|
54
82
|
/* empty */
|
|
55
83
|
}
|
|
56
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Returns a map of CSS classes applied to the icon.
|
|
87
|
+
* Includes classes for size, color, transform, and base ECL styles.
|
|
88
|
+
*/
|
|
57
89
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
90
|
getClasses() {
|
|
59
91
|
const hostClasses = this.el.nativeElement.classList.toString();
|
|
@@ -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,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n 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/**\n * ECL icon component – renders SVG icons from various sets depending on current theme.\n * Integrates with ECL theming and supports accessibility options.\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 /**\n * Defines the icon set to use.\n * Available sets: `default`, `social`, `social-media`, `flag`, or a custom URL prefix.\n * Defaults to `'default'`.\n */\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n\n /**\n * Name of the icon to render from the selected set.\n */\n @Input() icon: string;\n\n /**\n * Size of the icon.\n * Supported values: `'2xs'`, `'xs'`, `'s'`, `'m'`, `'l'`, `'xl'`, `'2xl'`, `'fluid'`.\n * Defaults to `'xs'`.\n */\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n\n /**\n * Applies color styling to the icon.\n * Use `'inverted'` for icons on dark backgrounds, or `'primary'` for emphasis.\n */\n @Input() color: 'inverted' | 'primary' | null = null;\n\n /**\n * Adds a transformation modifier to the icon (e.g., rotation).\n */\n @Input() transform: string;\n\n /**\n * ID reference for an external element that labels this icon for screen readers.\n */\n @Input() ariaLabelledby: string;\n\n /**\n * ARIA role of the icon. If a `title` is provided and no role is defined, defaults to `'img'`.\n */\n @Input() role: string;\n\n /**\n * Title used for accessibility. Also affects `aria-hidden` and `role`.\n */\n @Input() title: string;\n\n /**\n * Determines whether the icon should be hidden from assistive technologies.\n * Defaults to `true` unless a title is provided.\n */\n @Input({ transform: booleanAttribute }) ariaHidden: boolean;\n\n /**\n * Controls whether the icon is focusable via keyboard.\n * Defaults to `false`.\n */\n @Input({ transform: booleanAttribute }) focusable = false;\n\n /**\n * Flips the icon horizontally if set to `true`.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-icon--flip-horizontal')\n isFlipHorizontal = false;\n\n /**\n * Adds a dark background utility class if the color is set to `'inverted'`.\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 /**\n * Returns a map of CSS classes applied to the icon.\n * Includes classes for size, color, transform, and base ECL styles.\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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"}
|
|
@@ -3,11 +3,31 @@ import { HostBinding, Input, Directive, NgModule } from '@angular/core';
|
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Directive for applying ECL label styles.
|
|
8
|
+
*
|
|
9
|
+
* Supports multiple visual variants based on importance or context.
|
|
10
|
+
* Adds appropriate ECL classes dynamically.
|
|
11
|
+
*/
|
|
6
12
|
class EclLabelDirective extends ECLBaseDirective {
|
|
7
13
|
constructor() {
|
|
8
14
|
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* Defines the visual variant of the label.
|
|
17
|
+
*
|
|
18
|
+
* - `'low'` – default styling
|
|
19
|
+
* - `'medium'` – medium emphasis
|
|
20
|
+
* - `'high'` – high emphasis
|
|
21
|
+
* - `'highlight'` – special highlight
|
|
22
|
+
*
|
|
23
|
+
* @default 'low'
|
|
24
|
+
*/
|
|
9
25
|
this.variant = 'low';
|
|
10
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* CSS classes applied to the host element.
|
|
29
|
+
* Combines base ECL label class with the variant modifier.
|
|
30
|
+
*/
|
|
11
31
|
get cssClasses() {
|
|
12
32
|
return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();
|
|
13
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-label.mjs","sources":["../../components/ecl-label/ecl-label.directive.ts","../../components/ecl-label/ecl-label.module.ts","../../components/ecl-label/eui-ecl-components-ecl-label.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLabel]',\n standalone: false,\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n @Input() variant: 'low' | 'medium' | 'high' | 'highlight' = 'low';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLabelDirective } from './ecl-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLabelDirective],\n declarations: [EclLabelDirective],\n})\nexport class EclLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-label.mjs","sources":["../../components/ecl-label/ecl-label.directive.ts","../../components/ecl-label/ecl-label.module.ts","../../components/ecl-label/eui-ecl-components-ecl-label.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for applying ECL label styles.\n *\n * Supports multiple visual variants based on importance or context.\n * Adds appropriate ECL classes dynamically.\n */\n@Directive({\n selector: '[eclLabel]',\n standalone: false,\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n /**\n * Defines the visual variant of the label.\n * \n * - `'low'` – default styling\n * - `'medium'` – medium emphasis\n * - `'high'` – high emphasis\n * - `'highlight'` – special highlight\n *\n * @default 'low'\n */\n @Input() variant: 'low' | 'medium' | 'high' | 'highlight' = 'low';\n\n /**\n * CSS classes applied to the host element.\n * Combines base ECL label class with the variant modifier.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLabelDirective } from './ecl-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLabelDirective],\n declarations: [EclLabelDirective],\n})\nexport class EclLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGA;;;;;AAKG;AAKG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAJvD,IAAA,WAAA,GAAA;;AAKI;;;;;;;;;AASG;QACM,IAAO,CAAA,OAAA,GAA4C,KAAK;AAUpE;AARG;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAnBnF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAYY,OAAO,EAAA,CAAA;sBAAf;gBAOG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;MCrBX,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,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,cAAc,EAFR,YAAA,EAAA,CAAA,iBAAiB,CAFtB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGlB,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,cAAc,YAJb,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACpC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -5,9 +5,17 @@ import * as i1 from '@angular/cdk/layout';
|
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import { TranslateModule } from '@ngx-translate/core';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Directive representing an icon within an ECL illustration list item.
|
|
10
|
+
*
|
|
11
|
+
* Applies the correct ECL class for list item icons.
|
|
12
|
+
*/
|
|
8
13
|
class EclListIllustrationIconDirective extends ECLBaseDirective {
|
|
9
14
|
constructor() {
|
|
10
15
|
super(...arguments);
|
|
16
|
+
/**
|
|
17
|
+
* Applies the ECL class for illustration item icons.
|
|
18
|
+
*/
|
|
11
19
|
this.className = true;
|
|
12
20
|
}
|
|
13
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclListIllustrationIconDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -24,17 +32,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
24
32
|
args: ['class.ecl-list-illustration__icon']
|
|
25
33
|
}] } });
|
|
26
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Component representing a single item in an ECL illustration list.
|
|
37
|
+
*
|
|
38
|
+
* Displays optional title, value, and one or more illustration icons.
|
|
39
|
+
*/
|
|
27
40
|
class EclListIllustrationItemComponent extends ECLBaseDirective {
|
|
28
41
|
constructor() {
|
|
29
42
|
super(...arguments);
|
|
43
|
+
/**
|
|
44
|
+
* Text displayed as the item title.
|
|
45
|
+
*/
|
|
30
46
|
this.eclTitle = '';
|
|
47
|
+
/**
|
|
48
|
+
* Text displayed as the item value.
|
|
49
|
+
*/
|
|
31
50
|
this.eclValue = '';
|
|
51
|
+
/**
|
|
52
|
+
* Applies ARIA role for list items.
|
|
53
|
+
*/
|
|
32
54
|
this.role = 'listitem';
|
|
55
|
+
/**
|
|
56
|
+
* Applies ECL class for illustration list item.
|
|
57
|
+
*/
|
|
33
58
|
this.className = true;
|
|
34
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Returns `true` if the item has a title or any projected icons.
|
|
62
|
+
*/
|
|
35
63
|
get hasTitle() {
|
|
36
64
|
return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;
|
|
37
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns `true` if the item has a value.
|
|
68
|
+
*/
|
|
38
69
|
get hasValue() {
|
|
39
70
|
return Boolean(this.eclValue);
|
|
40
71
|
}
|
|
@@ -59,7 +90,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
59
90
|
args: [forwardRef(() => EclListIllustrationIconDirective)]
|
|
60
91
|
}] } });
|
|
61
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Directive applied to `<picture>` elements within ECL list illustrations.
|
|
95
|
+
*
|
|
96
|
+
* Adds the necessary ECL CSS classes for illustration pictures.
|
|
97
|
+
*/
|
|
62
98
|
class EclListIllustrationPictureDirective extends ECLBaseDirective {
|
|
99
|
+
/**
|
|
100
|
+
* Applies the base ECL picture classes for list illustration pictures.
|
|
101
|
+
*/
|
|
63
102
|
get cssClasses() {
|
|
64
103
|
return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();
|
|
65
104
|
}
|
|
@@ -76,12 +115,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
76
115
|
type: HostBinding,
|
|
77
116
|
args: ['class']
|
|
78
117
|
}] } });
|
|
118
|
+
/**
|
|
119
|
+
* Directive applied to `<img>` elements within ECL list illustrations.
|
|
120
|
+
*
|
|
121
|
+
* Supports square variant and size options for image styling.
|
|
122
|
+
*/
|
|
79
123
|
class EclListIllustrationImageDirective extends ECLBaseDirective {
|
|
80
124
|
constructor() {
|
|
81
125
|
super(...arguments);
|
|
126
|
+
/**
|
|
127
|
+
* If true, image is styled with square dimensions.
|
|
128
|
+
*/
|
|
82
129
|
this.isSquare = false;
|
|
130
|
+
/**
|
|
131
|
+
* Defines the size variant of the image.
|
|
132
|
+
* Possible values: `'s'`, `'m'`, `'l'`.
|
|
133
|
+
*/
|
|
83
134
|
this.size = 'm';
|
|
84
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Computes the appropriate ECL CSS classes for the image.
|
|
138
|
+
*/
|
|
85
139
|
get cssClasses() {
|
|
86
140
|
return [
|
|
87
141
|
super.getCssClasses('ecl-list-illustration__image'),
|
|
@@ -110,7 +164,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
110
164
|
args: ['class']
|
|
111
165
|
}] } });
|
|
112
166
|
|
|
167
|
+
/**
|
|
168
|
+
* Component representing a list using ECL illustration styles.
|
|
169
|
+
*
|
|
170
|
+
* Supports zebra styling, responsive horizontal layout, and font size options.
|
|
171
|
+
*/
|
|
113
172
|
class EclListIllustrationComponent extends ECLBaseDirective {
|
|
173
|
+
/**
|
|
174
|
+
* Applies the appropriate ECL CSS classes to the host element.
|
|
175
|
+
*/
|
|
114
176
|
get cssClasses() {
|
|
115
177
|
return [
|
|
116
178
|
super.getCssClasses('ecl-list-illustration'),
|
|
@@ -121,6 +183,9 @@ class EclListIllustrationComponent extends ECLBaseDirective {
|
|
|
121
183
|
.join(' ')
|
|
122
184
|
.trim();
|
|
123
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Controls `display` style of the host element based on breakpoint and column count.
|
|
188
|
+
*/
|
|
124
189
|
get elementDisplayStyle() {
|
|
125
190
|
if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {
|
|
126
191
|
return null;
|
|
@@ -132,9 +197,24 @@ class EclListIllustrationComponent extends ECLBaseDirective {
|
|
|
132
197
|
constructor(cdkBreakpointObserver) {
|
|
133
198
|
super();
|
|
134
199
|
this.cdkBreakpointObserver = cdkBreakpointObserver;
|
|
200
|
+
/**
|
|
201
|
+
* Enables zebra style (alternating background colors for list items).
|
|
202
|
+
*/
|
|
135
203
|
this.isZebra = false;
|
|
204
|
+
/**
|
|
205
|
+
* Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.
|
|
206
|
+
*/
|
|
136
207
|
this.horizontalColumns = 0;
|
|
208
|
+
/**
|
|
209
|
+
* Font size for list content.
|
|
210
|
+
* Possible values:
|
|
211
|
+
* - `'m'` – medium
|
|
212
|
+
* - `'l'` – large (default)
|
|
213
|
+
*/
|
|
137
214
|
this.fontSize = 'l';
|
|
215
|
+
/**
|
|
216
|
+
* Applies ARIA role for list elements.
|
|
217
|
+
*/
|
|
138
218
|
this.role = 'list';
|
|
139
219
|
this.isTabletBreakpoint = false;
|
|
140
220
|
afterNextRender(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/ecl-list-illustration.module.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclListIllustrationIcon]',\n standalone: false,\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import { Component, ContentChildren, forwardRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n standalone: false,\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n @Input() eclTitle = '';\n @Input() eclValue = '';\n\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class.ecl-list-illustration__item') className = true;\n @ContentChildren(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcons: QueryList<EclListIllustrationIconDirective>;\n\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;\n }\n\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n","<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n standalone: false,\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n standalone: false,\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isSquare = false;\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n booleanAttribute,\n numberAttribute,\n afterNextRender,\n} from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n standalone: false,\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isZebra = false;\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n @Input() fontSize: 'm' | 'l' = 'l';\n\n @HostBinding('attr.role') role = 'list';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n this.fontSize === 'm' ? 'ecl-list-illustration--font-m' : '',\n ]\n .join(' ')\n .trim();\n }\n @HostBinding('style.display') get elementDisplayStyle(): string | null {\n if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {\n return null;\n } else {\n return 'block';\n }\n }\n\n private isTabletBreakpoint = false;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver) {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n })\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint = result.matches;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\nconst COMPONENTS = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListIllustrationModule {}\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-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/ecl-list-illustration.module.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n standalone: false,\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import {\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n} from '@angular/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n standalone: false,\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n @Input() eclTitle = '';\n\n /**\n * Text displayed as the item value.\n */\n @Input() eclValue = '';\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n @ContentChildren(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcons: QueryList<EclListIllustrationIconDirective>;\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;\n }\n\n /**\n * Returns `true` if the item has a value.\n */\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n","<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n standalone: false,\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective {\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n standalone: false,\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n @Input({ transform: booleanAttribute }) isSquare = false;\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n booleanAttribute,\n numberAttribute,\n afterNextRender,\n} from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n standalone: false,\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /**\n * Applies ARIA role for list elements.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n this.fontSize === 'm' ? 'ecl-list-illustration--font-m' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n @HostBinding('style.display')\n get elementDisplayStyle(): string | null {\n if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {\n return null;\n } else {\n return 'block';\n }\n }\n\n private isTabletBreakpoint = false;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver) {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint = result.matches;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\nconst COMPONENTS = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListIllustrationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,26 @@ import { ECLBaseDirective } from '@eui/ecl/core';
|
|
|
7
7
|
import * as i1 from '@eui/ecl/components/ecl-link';
|
|
8
8
|
import { EclLinkModule } from '@eui/ecl/components/ecl-link';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Directive representing a single item in an ECL description list definition.
|
|
12
|
+
*
|
|
13
|
+
* Applies the appropriate styling classes and allows visibility control for "see all" behavior.
|
|
14
|
+
*/
|
|
10
15
|
class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {
|
|
11
16
|
constructor() {
|
|
12
17
|
super(...arguments);
|
|
18
|
+
/**
|
|
19
|
+
* Internal state used to hide the item when exceeding the visible limit.
|
|
20
|
+
*/
|
|
13
21
|
this.isHidden = false;
|
|
22
|
+
/**
|
|
23
|
+
* Indicates whether this is the last item visible before the "see all" action is triggered.
|
|
24
|
+
*/
|
|
14
25
|
this.isLastVisible = false;
|
|
15
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Applies appropriate ECL classes based on visibility state.
|
|
29
|
+
*/
|
|
16
30
|
get cssClasses() {
|
|
17
31
|
return [
|
|
18
32
|
super.getCssClasses('ecl-description-list__definition-item'),
|
|
@@ -33,9 +47,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
33
47
|
type: HostBinding,
|
|
34
48
|
args: ['class']
|
|
35
49
|
}] } });
|
|
50
|
+
/**
|
|
51
|
+
* Directive representing a container for definition list items within an ECL description list.
|
|
52
|
+
*
|
|
53
|
+
* Applies the ECL-specific class for the list wrapper.
|
|
54
|
+
*/
|
|
36
55
|
class EclDescriptionListDefinitionListDirective extends ECLBaseDirective {
|
|
37
56
|
constructor() {
|
|
38
57
|
super(...arguments);
|
|
58
|
+
/**
|
|
59
|
+
* Applies the ECL list container class.
|
|
60
|
+
*/
|
|
39
61
|
this.cmpClass = true;
|
|
40
62
|
}
|
|
41
63
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclDescriptionListDefinitionListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -52,23 +74,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
52
74
|
args: ['class.ecl-description-list__definition-list']
|
|
53
75
|
}] } });
|
|
54
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Component representing a group of definition items in an ECL description list.
|
|
79
|
+
*
|
|
80
|
+
* Allows display of items in different visual variants and optionally limits how many items are visible by default.
|
|
81
|
+
* Additional items can be revealed via a "see all" toggle.
|
|
82
|
+
*/
|
|
55
83
|
class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
|
|
56
84
|
constructor() {
|
|
57
85
|
super(...arguments);
|
|
58
86
|
this.currentItemsNumber = 0;
|
|
59
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Applies appropriate ECL CSS classes to the host element.
|
|
90
|
+
*/
|
|
60
91
|
get cssClasses() {
|
|
61
92
|
return [
|
|
62
93
|
super.getCssClasses('ecl-description-list__definition'),
|
|
63
94
|
this.variant ? `ecl-description-list__definition--${this.variant}` : '',
|
|
64
95
|
].join(' ');
|
|
65
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Number of items visible before the "see all" button is displayed.
|
|
99
|
+
*/
|
|
66
100
|
set maxVisibleItems(value) {
|
|
67
101
|
this._maxVisibleItems = value;
|
|
68
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Returns `true` if there are hidden items and the "see all" button should be shown.
|
|
105
|
+
*/
|
|
69
106
|
get hasSeeAll() {
|
|
70
107
|
return this.hasHiddenListitems();
|
|
71
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Lifecycle hook triggered after content projection is initialized.
|
|
111
|
+
* Handles hiding excess items based on the configured limit.
|
|
112
|
+
*/
|
|
72
113
|
ngAfterViewInit() {
|
|
73
114
|
this.currentItemsNumber = this.eclListItems.length;
|
|
74
115
|
if (this.hasHiddenListitems()) {
|
|
@@ -78,6 +119,10 @@ class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
|
|
|
78
119
|
});
|
|
79
120
|
}
|
|
80
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Handles the "see all" link/button click.
|
|
124
|
+
* Reveals all hidden list items.
|
|
125
|
+
*/
|
|
81
126
|
onShowAllItems(evt) {
|
|
82
127
|
evt.preventDefault();
|
|
83
128
|
this.getHiddenItems().forEach((elem) => this.showListItem(elem));
|
|
@@ -120,9 +165,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
120
165
|
args: ['class']
|
|
121
166
|
}] } });
|
|
122
167
|
|
|
168
|
+
/**
|
|
169
|
+
* Directive representing an ordered list using ECL styles.
|
|
170
|
+
*/
|
|
123
171
|
class EclOrderedListDirective extends ECLBaseDirective {
|
|
124
172
|
constructor() {
|
|
125
173
|
super(...arguments);
|
|
174
|
+
/**
|
|
175
|
+
* Applies the ECL class for ordered lists.
|
|
176
|
+
*/
|
|
126
177
|
this.cmpClass = true;
|
|
127
178
|
}
|
|
128
179
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclOrderedListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -138,9 +189,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
138
189
|
type: HostBinding,
|
|
139
190
|
args: ['class.ecl-ordered-list']
|
|
140
191
|
}] } });
|
|
192
|
+
/**
|
|
193
|
+
* Directive for a single item within an ECL ordered list.
|
|
194
|
+
*/
|
|
141
195
|
class EclOrderedListItemDirective extends ECLBaseDirective {
|
|
142
196
|
constructor() {
|
|
143
197
|
super(...arguments);
|
|
198
|
+
/**
|
|
199
|
+
* Applies the ECL class for ordered list items.
|
|
200
|
+
*/
|
|
144
201
|
this.cmpClass = true;
|
|
145
202
|
}
|
|
146
203
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclOrderedListItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -156,11 +213,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
156
213
|
type: HostBinding,
|
|
157
214
|
args: ['class.ecl-ordered-list__item']
|
|
158
215
|
}] } });
|
|
216
|
+
/**
|
|
217
|
+
* Directive representing an unordered list using ECL styles.
|
|
218
|
+
*
|
|
219
|
+
* Supports optional variants like divider and no-marker.
|
|
220
|
+
*/
|
|
159
221
|
class EclUnorderedListDirective extends ECLBaseDirective {
|
|
160
222
|
constructor() {
|
|
161
223
|
super(...arguments);
|
|
224
|
+
/**
|
|
225
|
+
* Applies the ECL class for unordered lists.
|
|
226
|
+
*/
|
|
162
227
|
this.cmpClass = true;
|
|
228
|
+
/**
|
|
229
|
+
* Adds a divider between list items.
|
|
230
|
+
*/
|
|
163
231
|
this.isDivider = false;
|
|
232
|
+
/**
|
|
233
|
+
* Adds a divider between list items.
|
|
234
|
+
*/
|
|
164
235
|
this.isNoMarker = false;
|
|
165
236
|
}
|
|
166
237
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclUnorderedListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -188,9 +259,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
188
259
|
type: HostBinding,
|
|
189
260
|
args: ['class.ecl-unordered-list--no-marker']
|
|
190
261
|
}] } });
|
|
262
|
+
/**
|
|
263
|
+
* Directive for a single item within an ECL unordered list.
|
|
264
|
+
*/
|
|
191
265
|
class EclUnorderedListItemDirective extends ECLBaseDirective {
|
|
192
266
|
constructor() {
|
|
193
267
|
super(...arguments);
|
|
268
|
+
/**
|
|
269
|
+
* Applies the ECL class for unordered list items.
|
|
270
|
+
*/
|
|
194
271
|
this.cmpClass = true;
|
|
195
272
|
}
|
|
196
273
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclUnorderedListItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -206,16 +283,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
206
283
|
type: HostBinding,
|
|
207
284
|
args: ['class.ecl-unordered-list__item']
|
|
208
285
|
}] } });
|
|
286
|
+
/**
|
|
287
|
+
* Directive for a description list using ECL styles.
|
|
288
|
+
*
|
|
289
|
+
* Supports horizontal layout and maxVisibleItems functionality
|
|
290
|
+
* passed down to nested definition components.
|
|
291
|
+
*/
|
|
209
292
|
class EclDescriptionListDirective extends ECLBaseDirective {
|
|
293
|
+
/**
|
|
294
|
+
* Applies the base ECL class for description lists.
|
|
295
|
+
*/
|
|
210
296
|
get cssClasses() {
|
|
211
297
|
return [super.getCssClasses('ecl-description-list')].join(' ');
|
|
212
298
|
}
|
|
213
299
|
constructor(cd) {
|
|
214
300
|
super();
|
|
215
301
|
this.cd = cd;
|
|
302
|
+
/**
|
|
303
|
+
* Enables horizontal layout.
|
|
304
|
+
*/
|
|
216
305
|
this.isHorizontal = false;
|
|
306
|
+
/**
|
|
307
|
+
* Maximum number of visible items before collapsing.
|
|
308
|
+
* Applied to nested `eclDescriptionListDefinition` components.
|
|
309
|
+
*/
|
|
217
310
|
this.maxVisibleItems = 0;
|
|
218
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* Assigns `maxVisibleItems` to child definition components if needed.
|
|
314
|
+
*/
|
|
219
315
|
ngAfterContentInit() {
|
|
220
316
|
if (!this.isHorizontal && this.maxVisibleItems > 0) {
|
|
221
317
|
this.eclListItems.forEach((item) => (item.maxVisibleItems = this.maxVisibleItems));
|
|
@@ -247,9 +343,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
|
|
|
247
343
|
type: HostBinding,
|
|
248
344
|
args: ['class']
|
|
249
345
|
}] } });
|
|
346
|
+
/**
|
|
347
|
+
* Directive representing a term within an ECL description list.
|
|
348
|
+
*/
|
|
250
349
|
class EclDescriptionListTermDirective extends ECLBaseDirective {
|
|
251
350
|
constructor() {
|
|
252
351
|
super(...arguments);
|
|
352
|
+
/**
|
|
353
|
+
* Applies the ECL class for description list terms.
|
|
354
|
+
*/
|
|
253
355
|
this.cmpClass = true;
|
|
254
356
|
}
|
|
255
357
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclDescriptionListTermDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|