@eui/ecl 23.0.0-alpha.10 → 23.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n-ecl/bg.json +13 -2
- package/assets/i18n-ecl/cs.json +13 -2
- package/assets/i18n-ecl/da.json +13 -2
- package/assets/i18n-ecl/de.json +13 -2
- package/assets/i18n-ecl/el.json +13 -2
- package/assets/i18n-ecl/en.json +13 -2
- package/assets/i18n-ecl/es.json +13 -2
- package/assets/i18n-ecl/et.json +13 -2
- package/assets/i18n-ecl/fi.json +13 -2
- package/assets/i18n-ecl/fr.json +13 -2
- package/assets/i18n-ecl/ga.json +13 -2
- package/assets/i18n-ecl/hr.json +13 -2
- package/assets/i18n-ecl/hu.json +13 -2
- package/assets/i18n-ecl/it.json +13 -2
- package/assets/i18n-ecl/lt.json +13 -2
- package/assets/i18n-ecl/lv.json +13 -2
- package/assets/i18n-ecl/mt.json +13 -2
- package/assets/i18n-ecl/nl.json +13 -2
- package/assets/i18n-ecl/pl.json +13 -2
- package/assets/i18n-ecl/pt.json +13 -2
- package/assets/i18n-ecl/ro.json +13 -2
- package/assets/i18n-ecl/sk.json +13 -2
- package/assets/i18n-ecl/sl.json +13 -2
- package/assets/i18n-ecl/sv.json +13 -2
- package/components/ecl-highlighted-search/package.json +4 -0
- package/components/ecl-story-card/package.json +4 -0
- package/docs/changelog.html +10 -0
- package/docs/classes/EclBaseEvent.html +3 -0
- package/docs/classes/EclHighlightedSearchEvent.html +443 -0
- package/docs/components/EclAccordionSummaryComponent.html +2 -79
- package/docs/components/EclAddToCalendarComponent.html +2 -2
- package/docs/components/EclAnimatedNumbersComponent.html +2 -2
- package/docs/components/EclAnimatedNumbersItemComponent.html +2 -2
- package/docs/components/EclAppComponent.html +2 -2
- package/docs/components/EclBannerComponent.html +2 -2
- package/docs/components/EclBlockquoteComponent.html +2 -2
- package/docs/components/EclBreadcrumbComponent.html +2 -2
- package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
- package/docs/components/EclButtonComponent.html +2 -2
- package/docs/components/EclCardBodyComponent.html +2 -2
- package/docs/components/EclCardComponent.html +2 -2
- package/docs/components/EclCarouselComponent.html +2 -2
- package/docs/components/EclCarouselItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterComponent.html +2 -2
- package/docs/components/EclCategoryFilterItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterListComponent.html +2 -2
- package/docs/components/EclCheckboxHelpComponent.html +2 -2
- package/docs/components/EclCheckboxLabelComponent.html +2 -2
- package/docs/components/EclContentBlockComponent.html +2 -2
- package/docs/components/EclContentItemComponent.html +2 -2
- package/docs/components/EclDateBlockComponent.html +2 -2
- package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
- package/docs/components/EclExpandableComponent.html +2 -2
- package/docs/components/EclFactFiguresComponent.html +2 -2
- package/docs/components/EclFactFiguresItemComponent.html +2 -2
- package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
- package/docs/components/EclFeaturedComponent.html +2 -2
- package/docs/components/EclFeaturedItemComponent.html +2 -2
- package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
- package/docs/components/EclFileComponent.html +234 -110
- package/docs/components/EclFileItemComponent.html +13 -250
- package/docs/components/EclFileItemsComponent.html +34 -313
- package/docs/components/{EclFileTaxonomyComponent.html → EclFileListsComponent.html} +16 -107
- package/docs/components/EclFormGroupComponent.html +2 -2
- package/docs/components/EclFormLabelComponent.html +2 -2
- package/docs/components/EclGalleryComponent.html +2 -2
- package/docs/components/EclGalleryFooterComponent.html +2 -2
- package/docs/components/EclGalleryItemComponent.html +3 -3
- package/docs/components/EclHighlightBoxComponent.html +2 -2
- package/docs/components/EclHighlightedSearchComponent.html +1042 -0
- package/docs/components/EclIconComponent.html +5 -2
- package/docs/components/EclIndicatorComponent-1.html +2 -2
- package/docs/components/EclIndicatorComponent.html +2 -2
- package/docs/components/EclInpageNavigationComponent.html +2 -2
- package/docs/components/EclInpageNavigationItemComponent.html +2 -2
- package/docs/components/EclLayoutWrapperComponent.html +6 -109
- package/docs/components/EclListIllustrationComponent.html +2 -2
- package/docs/components/EclListIllustrationItemComponent.html +2 -2
- package/docs/components/EclLoadingIndicatorComponent.html +2 -2
- package/docs/components/EclMediaContainerComponent.html +2 -2
- package/docs/components/EclMegaMenuComponent.html +2 -2
- package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
- package/docs/components/EclMegaMenuInfoComponent.html +2 -2
- package/docs/components/EclMegaMenuItemComponent.html +2 -2
- package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
- package/docs/components/EclMenuComponent.html +2 -2
- package/docs/components/EclMenuItemComponent.html +2 -2
- package/docs/components/EclMenuMegaComponent.html +2 -2
- package/docs/components/EclMenuMegaItemComponent.html +2 -2
- package/docs/components/EclModalBodyComponent.html +2 -2
- package/docs/components/EclModalComponent.html +2 -2
- package/docs/components/EclModalFooterComponent.html +2 -2
- package/docs/components/EclModalHeaderComponent.html +2 -2
- package/docs/components/EclMultiselectComponent.html +2 -2
- package/docs/components/EclMultiselectDropdownComponent.html +13 -98
- package/docs/components/EclMultiselectInputComponent.html +2 -2
- package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
- package/docs/components/EclMultiselectOptionComponent.html +2 -2
- package/docs/components/EclNavigationListComponent.html +2 -2
- package/docs/components/EclNavigationListItemComponent.html +2 -2
- package/docs/components/EclNewsTickerComponent.html +2 -2
- package/docs/components/EclNewsTickerItemComponent.html +2 -2
- package/docs/components/EclNotificationComponent.html +2 -2
- package/docs/components/EclPageHeaderComponent.html +2 -2
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
- package/docs/components/EclPageHeaderExpandableComponent.html +2 -2
- package/docs/components/EclPageHeaderNextComponent.html +2 -2
- package/docs/components/EclPageHeaderSectionComponent.html +2 -2
- package/docs/components/EclPageHeaderSectionInfoComponent.html +2 -2
- package/docs/components/EclPageSummaryComponent.html +2 -2
- package/docs/components/EclPaginationComponent.html +2 -2
- package/docs/components/EclPaginationItemComponent.html +2 -2
- package/docs/components/EclPopoverComponent.html +2 -2
- package/docs/components/EclQuizCardComponent.html +2 -2
- package/docs/components/EclQuizComponent.html +3 -3
- package/docs/components/EclRadioHelpComponent.html +2 -2
- package/docs/components/EclRadioLabelComponent.html +2 -2
- package/docs/components/EclRangeBubbleComponent.html +2 -2
- package/docs/components/EclRangeValueComponent.html +2 -2
- package/docs/components/EclRatingFieldComponent.html +2 -2
- package/docs/components/EclSearchFormComponent.html +2 -2
- package/docs/components/EclSelectContainerComponent.html +2 -2
- package/docs/components/EclSiteFooterComponent.html +2 -2
- package/docs/components/EclSiteFooterCoownerComponent.html +2 -2
- package/docs/components/EclSiteFooterCoreComponent.html +2 -2
- package/docs/components/EclSiteFooterFeedbackComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
- package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
- package/docs/components/EclSiteHeaderActionComponent.html +2 -2
- package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
- package/docs/components/EclSiteHeaderComponent.html +2 -2
- package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
- package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
- package/docs/components/EclSloganTickerComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
- package/docs/components/EclSplashPageComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
- package/docs/components/EclSpotlightComponent.html +2 -2
- package/docs/components/EclSpotlightLinkComponent.html +2 -2
- package/docs/components/EclStickyContainerComponent.html +2 -2
- package/docs/components/EclStoryCardComponent.html +908 -0
- package/docs/components/EclStoryCardGridDetailsComponent.html +946 -0
- package/docs/components/EclStoryCardItemComponent.html +916 -0
- package/docs/components/EclTabComponent.html +2 -2
- package/docs/components/EclTabLabelComponent.html +2 -2
- package/docs/components/EclTableSortButtonComponent.html +2 -2
- package/docs/components/EclTabsComponent.html +2 -2
- package/docs/components/EclTagComponent.html +2 -2
- package/docs/components/EclTextMediaComponent.html +2 -2
- package/docs/components/EclTimelineComponent.html +2 -2
- package/docs/components/EclTimelineItemComponent.html +2 -2
- package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
- package/docs/directives/ECLBaseDirective.html +4 -4
- package/docs/directives/EclAccordionDirective.html +33 -36
- package/docs/directives/EclFileDownloadDirective.html +0 -116
- package/docs/directives/EclFileImageDirective.html +0 -116
- package/docs/directives/EclFileMetaDirective.html +488 -0
- package/docs/directives/EclFilePictureDirective.html +0 -95
- package/docs/directives/EclFilePreviewDirective.html +1 -199
- package/docs/directives/EclFileTitleDirective.html +0 -146
- package/docs/directives/EclFileTranslationDownloadDirective.html +0 -116
- package/docs/directives/EclHighlightedSearchSuggestionsDirective.html +394 -0
- package/docs/directives/EclLayoutItemDirective.html +0 -32
- package/docs/directives/EclStoryCardLinkDirective.html +491 -0
- package/docs/directives/EclStoryCardListDirective.html +491 -0
- package/docs/directives/EclStoryCardPictureDirective.html +497 -0
- package/docs/interfaces/EclStoryCardSelectionEvent.html +317 -0
- package/docs/js/menu-wc.js +34 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclAccordionDirective.md +1 -0
- package/docs/json/EclFileComponent.md +43 -7
- package/docs/json/EclFileItemComponent.md +6 -6
- package/docs/json/EclFileItemsComponent.md +6 -6
- package/docs/json/EclFileListsComponent.md +15 -0
- package/docs/json/EclFileMetaDirective.md +16 -0
- package/docs/json/EclFilePreviewDirective.md +1 -1
- package/docs/json/EclFileTitleDirective.md +0 -1
- package/docs/json/EclHighlightedSearchComponent.md +46 -0
- package/docs/json/EclHighlightedSearchSuggestionsDirective.md +13 -0
- package/docs/json/EclLayoutWrapperComponent.md +2 -2
- package/docs/json/EclStoryCardComponent.md +43 -0
- package/docs/json/EclStoryCardGridDetailsComponent.md +39 -0
- package/docs/json/EclStoryCardItemComponent.md +35 -0
- package/docs/json/EclStoryCardLinkDirective.md +19 -0
- package/docs/json/EclStoryCardListDirective.md +19 -0
- package/docs/json/EclStoryCardPictureDirective.md +22 -0
- package/docs/json/documentation.json +5287 -2643
- package/docs/llms.txt +242 -60
- package/docs/miscellaneous/variables.html +112 -1
- package/docs/overview.html +4 -4
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +46 -15
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +284 -275
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-highlighted-search.mjs +193 -0
- package/fesm2022/eui-ecl-components-ecl-highlighted-search.mjs.map +1 -0
- package/fesm2022/eui-ecl-components-ecl-layout-wrapper.mjs +10 -11
- package/fesm2022/eui-ecl-components-ecl-layout-wrapper.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +26 -36
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-quiz.mjs +36 -2
- package/fesm2022/eui-ecl-components-ecl-quiz.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-story-card.mjs +505 -0
- package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -0
- package/package.json +9 -1
- package/types/eui-ecl-components-ecl-accordion.d.ts +23 -5
- package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file.d.ts +131 -116
- package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-highlighted-search.d.ts +104 -0
- package/types/eui-ecl-components-ecl-highlighted-search.d.ts.map +1 -0
- package/types/eui-ecl-components-ecl-layout-wrapper.d.ts +6 -8
- package/types/eui-ecl-components-ecl-layout-wrapper.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts +2 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-quiz.d.ts +11 -0
- package/types/eui-ecl-components-ecl-quiz.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-story-card.d.ts +256 -0
- package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -0
- package/docs/json/EclFileTaxonomyComponent.md +0 -15
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { ECLBaseDirective,
|
|
2
|
+
import { Directive, input, booleanAttribute, Component, model, inject, signal, output, contentChild, computed, effect } from '@angular/core';
|
|
3
|
+
import { ECLBaseDirective, EclBaseEvent, EclThemeService } from '@eui/ecl/core';
|
|
4
4
|
import * as i1 from '@eui/ecl/components/ecl-icon';
|
|
5
5
|
import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
|
|
6
6
|
import * as i2 from '@eui/ecl/components/ecl-label';
|
|
7
7
|
import { EUI_ECL_LABEL } from '@eui/ecl/components/ecl-label';
|
|
8
|
-
import
|
|
9
|
-
import * as i1$1 from '@eui/ecl/components/ecl-button';
|
|
8
|
+
import * as i3 from '@eui/ecl/components/ecl-button';
|
|
10
9
|
import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
|
|
11
10
|
|
|
12
11
|
/**
|
|
@@ -14,166 +13,279 @@ import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
|
|
|
14
13
|
* inside a file component.
|
|
15
14
|
*/
|
|
16
15
|
class EclFileTranslationDownloadDirective extends ECLBaseDirective {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
/**
|
|
20
|
-
* Applies the ECL translation download class to the host element.
|
|
21
|
-
*/
|
|
22
|
-
this.className = true;
|
|
23
|
-
}
|
|
24
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileTranslationDownloadDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileTranslationDownloadDirective, isStandalone: true, selector: "[eclFileTranslationDownload]", host: {
|
|
17
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileTranslationDownloadDirective, isStandalone: true, selector: "[eclFileTranslationDownload]", host: { classAttribute: "ecl-file__translation-download" }, usesInheritance: true, ngImport: i0 }); }
|
|
26
18
|
}
|
|
27
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileTranslationDownloadDirective, decorators: [{
|
|
28
20
|
type: Directive,
|
|
29
21
|
args: [{
|
|
30
22
|
selector: '[eclFileTranslationDownload]',
|
|
23
|
+
host: {
|
|
24
|
+
class: 'ecl-file__translation-download',
|
|
25
|
+
},
|
|
31
26
|
}]
|
|
32
|
-
}]
|
|
33
|
-
type: HostBinding,
|
|
34
|
-
args: ['class.ecl-file__translation-download']
|
|
35
|
-
}] } });
|
|
27
|
+
}] });
|
|
36
28
|
/**
|
|
37
29
|
* Directive to apply the correct styling class for a standard file download link.
|
|
38
30
|
*/
|
|
39
31
|
class EclFileDownloadDirective extends ECLBaseDirective {
|
|
40
|
-
constructor() {
|
|
41
|
-
super(...arguments);
|
|
42
|
-
/**
|
|
43
|
-
* Applies the ECL download class to the host element.
|
|
44
|
-
*/
|
|
45
|
-
this.className = true;
|
|
46
|
-
}
|
|
47
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileDownloadDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileDownloadDirective, isStandalone: true, selector: "[eclFileDownload]", host: {
|
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileDownloadDirective, isStandalone: true, selector: "[eclFileDownload]", host: { classAttribute: "ecl-file__download" }, usesInheritance: true, ngImport: i0 }); }
|
|
49
34
|
}
|
|
50
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileDownloadDirective, decorators: [{
|
|
51
36
|
type: Directive,
|
|
52
37
|
args: [{
|
|
53
38
|
selector: '[eclFileDownload]',
|
|
39
|
+
host: {
|
|
40
|
+
class: 'ecl-file__download',
|
|
41
|
+
},
|
|
54
42
|
}]
|
|
55
|
-
}]
|
|
56
|
-
type: HostBinding,
|
|
57
|
-
args: ['class.ecl-file__download']
|
|
58
|
-
}] } });
|
|
43
|
+
}] });
|
|
59
44
|
/**
|
|
60
45
|
* Directive to style a file preview link.
|
|
61
|
-
* Adds
|
|
46
|
+
* Adds ECL link classes for standalone branded appearance.
|
|
62
47
|
*/
|
|
63
48
|
class EclFilePreviewDirective extends ECLBaseDirective {
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFilePreviewDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFilePreviewDirective, isStandalone: true, selector: "[eclFilePreview]", usesInheritance: true, ngImport: i0 }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFilePreviewDirective, decorators: [{
|
|
53
|
+
type: Directive,
|
|
54
|
+
args: [{
|
|
55
|
+
selector: '[eclFilePreview]',
|
|
56
|
+
}]
|
|
57
|
+
}] });
|
|
58
|
+
/**
|
|
59
|
+
* Directive to style the file meta element (e.g. file size and format)
|
|
60
|
+
* inside the download link label.
|
|
61
|
+
*/
|
|
62
|
+
class EclFileMetaDirective extends ECLBaseDirective {
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileMetaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
64
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileMetaDirective, isStandalone: true, selector: "[eclFileMeta]", host: { classAttribute: "ecl-file__meta" }, usesInheritance: true, ngImport: i0 }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileMetaDirective, decorators: [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: '[eclFileMeta]',
|
|
70
|
+
host: {
|
|
71
|
+
class: 'ecl-file__meta',
|
|
72
|
+
},
|
|
73
|
+
}]
|
|
74
|
+
}] });
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Component representing a single file translation item
|
|
78
|
+
* inside the ecl-file-items translation list.
|
|
79
|
+
*/
|
|
80
|
+
class EclFileItemComponent extends ECLBaseDirective {
|
|
64
81
|
constructor() {
|
|
65
82
|
super(...arguments);
|
|
66
83
|
/**
|
|
67
|
-
*
|
|
84
|
+
* @deprecated No longer used in v5.1.0. Kept for backward compatibility.
|
|
68
85
|
*/
|
|
69
|
-
this.
|
|
86
|
+
this.isDescription = input(false, { ...(ngDevMode ? { debugName: "isDescription" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
70
87
|
/**
|
|
71
|
-
*
|
|
88
|
+
* Title text of the file item (language name, e.g. "български").
|
|
72
89
|
*/
|
|
73
|
-
this.
|
|
90
|
+
this.eclTitle = input(/* @ts-ignore */
|
|
91
|
+
...(ngDevMode ? [undefined, { debugName: "eclTitle" }] : /* istanbul ignore next */ []));
|
|
92
|
+
/**
|
|
93
|
+
* ID applied to the title element for accessibility.
|
|
94
|
+
*/
|
|
95
|
+
this.titleId = input(/* @ts-ignore */
|
|
96
|
+
...(ngDevMode ? [undefined, { debugName: "titleId" }] : /* istanbul ignore next */ []));
|
|
97
|
+
/**
|
|
98
|
+
* ID applied to the meta element for accessibility.
|
|
99
|
+
*/
|
|
100
|
+
this.metaId = input(/* @ts-ignore */
|
|
101
|
+
...(ngDevMode ? [undefined, { debugName: "metaId" }] : /* istanbul ignore next */ []));
|
|
102
|
+
/**
|
|
103
|
+
* Additional metadata for the item (e.g., file size, type).
|
|
104
|
+
*/
|
|
105
|
+
this.meta = input(/* @ts-ignore */
|
|
106
|
+
...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
|
|
107
|
+
/**
|
|
108
|
+
* @deprecated No longer used in v5.1.0. Kept for backward compatibility.
|
|
109
|
+
*/
|
|
110
|
+
this.label = input(/* @ts-ignore */
|
|
111
|
+
...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
|
|
112
|
+
/**
|
|
113
|
+
* Language code (e.g. "bg", "fr") applied as the `lang` attribute on the title element.
|
|
114
|
+
*/
|
|
115
|
+
this.langDetail = input(/* @ts-ignore */
|
|
116
|
+
...(ngDevMode ? [undefined, { debugName: "langDetail" }] : /* istanbul ignore next */ []));
|
|
74
117
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type:
|
|
76
|
-
static { this.ɵ
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclFileItemComponent, isStandalone: true, selector: "ecl-file-item", inputs: { isDescription: { classPropertyName: "isDescription", publicName: "isDescription", isSignal: true, isRequired: false, transformFunction: null }, eclTitle: { classPropertyName: "eclTitle", publicName: "eclTitle", isSignal: true, isRequired: false, transformFunction: null }, titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, metaId: { classPropertyName: "metaId", publicName: "metaId", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, langDetail: { classPropertyName: "langDetail", publicName: "langDetail", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, classAttribute: "ecl-file__translation-item" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-file__translation-info\">\n @if (eclTitle()) {\n <div class=\"ecl-file__translation-title\" [id]=\"titleId()\" [attr.lang]=\"langDetail()\">{{ eclTitle() }}</div>\n }\n @if (meta()) {\n <div class=\"ecl-file__translation-meta\" [id]=\"metaId()\">{{ meta() }}</div>\n }\n</div>\n<div class=\"ecl-file__translation-action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n</div>\n" }); }
|
|
77
120
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type:
|
|
79
|
-
type:
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileItemComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{ selector: 'ecl-file-item', host: {
|
|
124
|
+
class: 'ecl-file__translation-item',
|
|
125
|
+
role: 'listitem',
|
|
126
|
+
}, template: "<div class=\"ecl-file__translation-info\">\n @if (eclTitle()) {\n <div class=\"ecl-file__translation-title\" [id]=\"titleId()\" [attr.lang]=\"langDetail()\">{{ eclTitle() }}</div>\n }\n @if (meta()) {\n <div class=\"ecl-file__translation-meta\" [id]=\"metaId()\">{{ meta() }}</div>\n }\n</div>\n<div class=\"ecl-file__translation-action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n</div>\n" }]
|
|
127
|
+
}], propDecorators: { isDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDescription", required: false }] }], eclTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclTitle", required: false }] }], titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], metaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaId", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], langDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "langDetail", required: false }] }] } });
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Component representing the translation list within an ECL File component.
|
|
131
|
+
* The host element IS the list. The toggle button is rendered by the parent ecl-file.
|
|
132
|
+
*/
|
|
133
|
+
class EclFileItemsComponent extends ECLBaseDirective {
|
|
134
|
+
constructor() {
|
|
135
|
+
super(...arguments);
|
|
136
|
+
/**
|
|
137
|
+
* ID for the list, used by the toggle button's aria-controls.
|
|
138
|
+
*/
|
|
139
|
+
this.id = model(/* @ts-ignore */
|
|
140
|
+
...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
|
|
141
|
+
/**
|
|
142
|
+
* Whether the list is expanded. Managed by the parent ecl-file component.
|
|
143
|
+
*/
|
|
144
|
+
this.isExpanded = model(false, /* @ts-ignore */
|
|
145
|
+
...(ngDevMode ? [{ debugName: "isExpanded" }] : /* istanbul ignore next */ []));
|
|
146
|
+
}
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileItemsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EclFileItemsComponent, isStandalone: true, selector: "ecl-file-items", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { id: "idChange", isExpanded: "isExpandedChange" }, host: { attributes: { "role": "list" }, properties: { "attr.id": "id()", "style.display": "isExpanded() ? \"block\" : \"none\"" }, classAttribute: "ecl-file__translation-list" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileItemsComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
80
152
|
args: [{
|
|
81
|
-
selector: '
|
|
153
|
+
selector: 'ecl-file-items',
|
|
154
|
+
template: '<ng-content></ng-content>',
|
|
82
155
|
host: {
|
|
83
|
-
'
|
|
156
|
+
class: 'ecl-file__translation-list',
|
|
157
|
+
role: 'list',
|
|
158
|
+
'[attr.id]': 'id()',
|
|
159
|
+
'[style.display]': 'isExpanded() ? "block" : "none"',
|
|
84
160
|
},
|
|
85
161
|
}]
|
|
86
|
-
}], propDecorators: {
|
|
87
|
-
type: HostBinding,
|
|
88
|
-
args: ['class.ecl-link']
|
|
89
|
-
}], hasClassStandalone: [{
|
|
90
|
-
type: HostBinding,
|
|
91
|
-
args: ['class.ecl-link--standalone']
|
|
92
|
-
}] } });
|
|
162
|
+
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }, { type: i0.Output, args: ["idChange"] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }, { type: i0.Output, args: ["isExpandedChange"] }] } });
|
|
93
163
|
|
|
94
164
|
/**
|
|
95
165
|
* Directive to style a <picture> element used in an ECL file component.
|
|
96
166
|
* Adds ECL-specific picture and file picture classes.
|
|
97
167
|
*/
|
|
98
168
|
class EclFilePictureDirective extends ECLBaseDirective {
|
|
99
|
-
/**
|
|
100
|
-
* Applies ECL picture styling classes to the host element.
|
|
101
|
-
*/
|
|
102
|
-
get cssClasses() {
|
|
103
|
-
return [super.getCssClasses('ecl-picture ecl-file__picture')].join(' ').trim();
|
|
104
|
-
}
|
|
105
169
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFilePictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
106
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFilePictureDirective, isStandalone: true, selector: "picture[eclFilePicture]", host: {
|
|
170
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFilePictureDirective, isStandalone: true, selector: "picture[eclFilePicture]", host: { classAttribute: "ecl-picture ecl-file__picture" }, usesInheritance: true, ngImport: i0 }); }
|
|
107
171
|
}
|
|
108
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFilePictureDirective, decorators: [{
|
|
109
173
|
type: Directive,
|
|
110
174
|
args: [{
|
|
111
175
|
selector: 'picture[eclFilePicture]',
|
|
176
|
+
host: {
|
|
177
|
+
class: 'ecl-picture ecl-file__picture',
|
|
178
|
+
},
|
|
112
179
|
}]
|
|
113
|
-
}]
|
|
114
|
-
type: HostBinding,
|
|
115
|
-
args: ['class']
|
|
116
|
-
}] } });
|
|
180
|
+
}] });
|
|
117
181
|
/**
|
|
118
182
|
* Directive to style an <img> element inside an ECL file component.
|
|
119
183
|
* Adds the ECL-specific image class.
|
|
120
184
|
*/
|
|
121
185
|
class EclFileImageDirective extends ECLBaseDirective {
|
|
122
|
-
constructor() {
|
|
123
|
-
super(...arguments);
|
|
124
|
-
/**
|
|
125
|
-
* Applies the ECL image class to the host element.
|
|
126
|
-
*/
|
|
127
|
-
this.className = true;
|
|
128
|
-
}
|
|
129
186
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
130
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileImageDirective, isStandalone: true, selector: "img[eclFileImage]", host: {
|
|
187
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileImageDirective, isStandalone: true, selector: "img[eclFileImage]", host: { classAttribute: "ecl-file__image" }, usesInheritance: true, ngImport: i0 }); }
|
|
131
188
|
}
|
|
132
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileImageDirective, decorators: [{
|
|
133
190
|
type: Directive,
|
|
134
191
|
args: [{
|
|
135
192
|
selector: 'img[eclFileImage]',
|
|
193
|
+
host: {
|
|
194
|
+
class: 'ecl-file__image',
|
|
195
|
+
},
|
|
136
196
|
}]
|
|
137
|
-
}]
|
|
138
|
-
type: HostBinding,
|
|
139
|
-
args: ['class.ecl-file__image']
|
|
140
|
-
}] } });
|
|
197
|
+
}] });
|
|
141
198
|
/**
|
|
142
199
|
* Directive to style a title element in an ECL file component.
|
|
143
200
|
*/
|
|
144
201
|
class EclFileTitleDirective extends ECLBaseDirective {
|
|
145
|
-
constructor() {
|
|
146
|
-
super(...arguments);
|
|
147
|
-
/**
|
|
148
|
-
* Applies the ECL file title class to the host element.
|
|
149
|
-
*/
|
|
150
|
-
this.className = true;
|
|
151
|
-
/**
|
|
152
|
-
* ID attribute for the title element.
|
|
153
|
-
*/
|
|
154
|
-
this.id = input(undefined, /* @ts-ignore */
|
|
155
|
-
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
156
|
-
}
|
|
157
202
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
158
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
203
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclFileTitleDirective, isStandalone: true, selector: "[eclFileTitle]", host: { classAttribute: "ecl-file__title" }, usesInheritance: true, ngImport: i0 }); }
|
|
159
204
|
}
|
|
160
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileTitleDirective, decorators: [{
|
|
161
206
|
type: Directive,
|
|
162
207
|
args: [{
|
|
163
208
|
selector: '[eclFileTitle]',
|
|
209
|
+
host: {
|
|
210
|
+
class: 'ecl-file__title',
|
|
211
|
+
},
|
|
164
212
|
}]
|
|
165
|
-
}]
|
|
166
|
-
type: HostBinding,
|
|
167
|
-
args: ['class.ecl-file__title']
|
|
168
|
-
}], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
213
|
+
}] });
|
|
169
214
|
|
|
170
215
|
/**
|
|
171
|
-
* Component representing a file
|
|
172
|
-
|
|
216
|
+
* Component representing the lists section of a file in the ECL File component.
|
|
217
|
+
*/
|
|
218
|
+
class EclFileListsComponent extends ECLBaseDirective {
|
|
219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileListsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EclFileListsComponent, isStandalone: true, selector: "ecl-file-lists, ecl-file-taxonomy", host: { styleAttribute: "display: block", classAttribute: "ecl-file__lists" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
221
|
+
}
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileListsComponent, decorators: [{
|
|
223
|
+
type: Component,
|
|
224
|
+
args: [{
|
|
225
|
+
selector: 'ecl-file-lists, ecl-file-taxonomy',
|
|
226
|
+
template: '<ng-content></ng-content>',
|
|
227
|
+
host: {
|
|
228
|
+
class: 'ecl-file__lists',
|
|
229
|
+
style: 'display: block',
|
|
230
|
+
},
|
|
231
|
+
}]
|
|
232
|
+
}] });
|
|
233
|
+
|
|
234
|
+
class EclFileItemsToggleEvent extends EclBaseEvent {
|
|
235
|
+
constructor(isExpanded) {
|
|
236
|
+
super();
|
|
237
|
+
this.isExpanded = isExpanded;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* ECL File component.
|
|
243
|
+
* Displays downloadable file information with an icon or picture,
|
|
244
|
+
* metadata, and an optional expandable translations panel.
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```html
|
|
248
|
+
* <ecl-file id="my-file" language="English" langId="my-file-lang"
|
|
249
|
+
* [primaryMeta]="['Meta info', 'DD Month YYYY']"
|
|
250
|
+
* labelInfo="Highlight" description="File description"
|
|
251
|
+
* fileIcon="pdf"
|
|
252
|
+
* toggleAriaLabel="Translations"
|
|
253
|
+
* (translationsToggle)="onToggle($event)">
|
|
254
|
+
*
|
|
255
|
+
* <div eclFileTitle id="my-file-title">State of the Union 2018 brochure</div>
|
|
256
|
+
*
|
|
257
|
+
* <a eclFileDownload eclLink variant="standalone" isBranded href="/path/to/file">
|
|
258
|
+
* <span eclLinkLabel>
|
|
259
|
+
* <span>Download</span>
|
|
260
|
+
* <span eclFileMeta>(16.2 MB - PDF)</span>
|
|
261
|
+
* </span>
|
|
262
|
+
* <ecl-icon icon="download-simple" iconSet="phosphor" size="fluid"></ecl-icon>
|
|
263
|
+
* </a>
|
|
264
|
+
*
|
|
265
|
+
* <ecl-file-items>
|
|
266
|
+
* <ecl-file-item eclTitle="български" meta="(15.7 MB - PDF)" langDetail="bg"
|
|
267
|
+
* titleId="my-file-0-title" metaId="my-file-0-meta">
|
|
268
|
+
* <a eclFileTranslationDownload eclLink variant="standalone" href="/example#bg" hreflang="bg">
|
|
269
|
+
* <span eclLinkLabel>Download</span>
|
|
270
|
+
* <ecl-icon icon="download-simple" iconSet="phosphor" size="fluid"></ecl-icon>
|
|
271
|
+
* </a>
|
|
272
|
+
* </ecl-file-item>
|
|
273
|
+
* </ecl-file-items>
|
|
274
|
+
* </ecl-file>
|
|
275
|
+
* ```
|
|
173
276
|
*/
|
|
174
277
|
class EclFileComponent extends ECLBaseDirective {
|
|
278
|
+
/**
|
|
279
|
+
* Host element CSS classes.
|
|
280
|
+
*/
|
|
281
|
+
get cssClasses() {
|
|
282
|
+
return [
|
|
283
|
+
super.getCssClasses('ecl-file'),
|
|
284
|
+
this.isTranslationsExpanded() ? 'ecl-file--open' : '',
|
|
285
|
+
].join(' ').trim();
|
|
286
|
+
}
|
|
175
287
|
constructor() {
|
|
176
|
-
super(
|
|
288
|
+
super();
|
|
177
289
|
this.eclThemeService = inject(EclThemeService);
|
|
178
290
|
/**
|
|
179
291
|
* Optional description displayed under the file title.
|
|
@@ -181,9 +293,10 @@ class EclFileComponent extends ECLBaseDirective {
|
|
|
181
293
|
this.description = input(/* @ts-ignore */
|
|
182
294
|
...(ngDevMode ? [undefined, { debugName: "description" }] : /* istanbul ignore next */ []));
|
|
183
295
|
/**
|
|
184
|
-
*
|
|
296
|
+
* Unique ID for the file component. Auto-generated if not provided.
|
|
297
|
+
* Used to derive accessibility IDs for child elements.
|
|
185
298
|
*/
|
|
186
|
-
this.id = input(
|
|
299
|
+
this.id = input(`ecl-file-${crypto.randomUUID()}`, /* @ts-ignore */
|
|
187
300
|
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
188
301
|
/**
|
|
189
302
|
* Optional language ID (e.g., for translation or accessibility attributes).
|
|
@@ -196,249 +309,145 @@ class EclFileComponent extends ECLBaseDirective {
|
|
|
196
309
|
this.labelInfo = input(/* @ts-ignore */
|
|
197
310
|
...(ngDevMode ? [undefined, { debugName: "labelInfo" }] : /* istanbul ignore next */ []));
|
|
198
311
|
/**
|
|
199
|
-
* Language indicator string (e.g. "
|
|
312
|
+
* Language indicator string (e.g. "English", "French") used in the footer.
|
|
313
|
+
* When translations are present, this becomes the toggle button label.
|
|
200
314
|
*/
|
|
201
315
|
this.language = input(/* @ts-ignore */
|
|
202
316
|
...(ngDevMode ? [undefined, { debugName: "language" }] : /* istanbul ignore next */ []));
|
|
203
317
|
/**
|
|
204
|
-
*
|
|
318
|
+
* Primary metadata array (e.g. ['Meta info', 'DD Month YYYY']).
|
|
319
|
+
* Rendered as a list below the title/description.
|
|
320
|
+
*/
|
|
321
|
+
this.primaryMeta = input(/* @ts-ignore */
|
|
322
|
+
...(ngDevMode ? [undefined, { debugName: "primaryMeta" }] : /* istanbul ignore next */ []));
|
|
323
|
+
/**
|
|
324
|
+
* @deprecated Use `primaryMeta` instead. Kept for backward compatibility.
|
|
205
325
|
*/
|
|
206
326
|
this.detailMeta = input(/* @ts-ignore */
|
|
207
327
|
...(ngDevMode ? [undefined, { debugName: "detailMeta" }] : /* istanbul ignore next */ []));
|
|
208
328
|
/**
|
|
209
|
-
*
|
|
329
|
+
* @deprecated Meta is now rendered inside the download link by the consumer.
|
|
330
|
+
* Kept for backward compatibility — no longer rendered in the template.
|
|
210
331
|
*/
|
|
211
332
|
this.meta = input(/* @ts-ignore */
|
|
212
333
|
...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
|
|
213
334
|
/**
|
|
214
|
-
* ID
|
|
335
|
+
* @deprecated Meta ID is now managed by the consumer inside the download link.
|
|
336
|
+
* Kept for backward compatibility — no longer rendered in the template.
|
|
215
337
|
*/
|
|
216
338
|
this.metaId = input(/* @ts-ignore */
|
|
217
339
|
...(ngDevMode ? [undefined, { debugName: "metaId" }] : /* istanbul ignore next */ []));
|
|
218
340
|
/**
|
|
219
|
-
*
|
|
220
|
-
|
|
221
|
-
this.eclPictureContent = contentChild(EclFilePictureDirective, /* @ts-ignore */
|
|
222
|
-
...(ngDevMode ? [{ debugName: "eclPictureContent" }] : /* istanbul ignore next */ []));
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Host element CSS classes based on theme and content.
|
|
226
|
-
*/
|
|
227
|
-
get cssClasses() {
|
|
228
|
-
return [super.getCssClasses('ecl-file'), this.isThumbnail ? 'ecl-file--thumbnail' : ''].join(' ').trim();
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Determines whether the file has an associated thumbnail.
|
|
232
|
-
* Returns true if an `EclFilePictureDirective` is present in projected content.
|
|
233
|
-
*/
|
|
234
|
-
get isThumbnail() {
|
|
235
|
-
return !!this.eclPictureContent();
|
|
236
|
-
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
238
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclFileComponent, isStandalone: true, selector: "ecl-file", inputs: { description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, langId: { classPropertyName: "langId", publicName: "langId", isSignal: true, isRequired: false, transformFunction: null }, labelInfo: { classPropertyName: "labelInfo", publicName: "labelInfo", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, detailMeta: { classPropertyName: "detailMeta", publicName: "detailMeta", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, metaId: { classPropertyName: "metaId", publicName: "metaId", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPictureContent", first: true, predicate: EclFilePictureDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo()) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo() }}</span>\n </div>\n }\n @if(detailMeta()) {\n <ul class=\"ecl-file__detail-meta\">\n @for (el of detailMeta(); track el) {\n <li class=\"ecl-file__detail-meta-item\" >{{ el }}</li>\n }\n </ul>\n }\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n @if(description()) {\n <div class=\"ecl-file__description\">{{ description() }}</div>\n }\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n </div>\n\n </div>\n <div class=\"ecl-file__footer\">\n <div class=\"ecl-file__language\" [id]=\"langId()\">{{ language() }}</div>\n <div class=\"ecl-file__meta\" [id]=\"metaId()\">{{ meta() }}</div>\n <div class=\"ecl-file__action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n </div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }] }); }
|
|
239
|
-
}
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileComponent, decorators: [{
|
|
241
|
-
type: Component,
|
|
242
|
-
args: [{ selector: 'ecl-file', imports: [
|
|
243
|
-
...EUI_ECL_ICON,
|
|
244
|
-
...EUI_ECL_LABEL,
|
|
245
|
-
], template: "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo()) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo() }}</span>\n </div>\n }\n @if(detailMeta()) {\n <ul class=\"ecl-file__detail-meta\">\n @for (el of detailMeta(); track el) {\n <li class=\"ecl-file__detail-meta-item\" >{{ el }}</li>\n }\n </ul>\n }\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n @if(description()) {\n <div class=\"ecl-file__description\">{{ description() }}</div>\n }\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n </div>\n\n </div>\n <div class=\"ecl-file__footer\">\n <div class=\"ecl-file__language\" [id]=\"langId()\">{{ language() }}</div>\n <div class=\"ecl-file__meta\" [id]=\"metaId()\">{{ meta() }}</div>\n <div class=\"ecl-file__action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n </div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
246
|
-
}], propDecorators: { cssClasses: [{
|
|
247
|
-
type: HostBinding,
|
|
248
|
-
args: ['class']
|
|
249
|
-
}], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], langId: [{ type: i0.Input, args: [{ isSignal: true, alias: "langId", required: false }] }], labelInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelInfo", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], detailMeta: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailMeta", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], metaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaId", required: false }] }], eclPictureContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclFilePictureDirective), { isSignal: true }] }] } });
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Component representing a single file translation or descriptive item
|
|
253
|
-
* inside the main ECL File component.
|
|
254
|
-
*/
|
|
255
|
-
class EclFileItemComponent extends ECLBaseDirective {
|
|
256
|
-
constructor() {
|
|
257
|
-
super(...arguments);
|
|
258
|
-
/**
|
|
259
|
-
* Indicates whether the item is a description block rather than a translation.
|
|
260
|
-
* Adds the `ecl-file__translation-description` class when true.
|
|
341
|
+
* Accessible label for the translation toggle button.
|
|
342
|
+
* Defaults to the `language` value if not provided.
|
|
261
343
|
*/
|
|
262
|
-
this.
|
|
344
|
+
this.toggleAriaLabel = input(/* @ts-ignore */
|
|
345
|
+
...(ngDevMode ? [undefined, { debugName: "toggleAriaLabel" }] : /* istanbul ignore next */ []));
|
|
263
346
|
/**
|
|
264
|
-
*
|
|
347
|
+
* File type icon to display. Renders a phosphor icon internally.
|
|
348
|
+
* Options: 'file' (default), 'pdf', 'doc', 'xls', 'txt', 'zip'.
|
|
349
|
+
* Ignored when a picture is projected.
|
|
265
350
|
*/
|
|
266
|
-
this.
|
|
267
|
-
...(ngDevMode ? [
|
|
351
|
+
this.fileIcon = input('file', /* @ts-ignore */
|
|
352
|
+
...(ngDevMode ? [{ debugName: "fileIcon" }] : /* istanbul ignore next */ []));
|
|
268
353
|
/**
|
|
269
|
-
*
|
|
354
|
+
* Whether the translation list is currently expanded.
|
|
270
355
|
*/
|
|
271
|
-
this.
|
|
272
|
-
...(ngDevMode ? [
|
|
273
|
-
/**
|
|
274
|
-
* ID applied to the meta element for accessibility.
|
|
275
|
-
*/
|
|
276
|
-
this.metaId = input(/* @ts-ignore */
|
|
277
|
-
...(ngDevMode ? [undefined, { debugName: "metaId" }] : /* istanbul ignore next */ []));
|
|
356
|
+
this.isTranslationsExpanded = signal(false, /* @ts-ignore */
|
|
357
|
+
...(ngDevMode ? [{ debugName: "isTranslationsExpanded" }] : /* istanbul ignore next */ []));
|
|
278
358
|
/**
|
|
279
|
-
*
|
|
280
|
-
|
|
281
|
-
this.meta = input(/* @ts-ignore */
|
|
282
|
-
...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
|
|
283
|
-
/**
|
|
284
|
-
* Language label displayed next to the title (e.g., "FR", "EN").
|
|
359
|
+
* Emits when the translation toggle is clicked.
|
|
360
|
+
* Consumers can call `preventDefault()` on the event to cancel the toggle.
|
|
285
361
|
*/
|
|
286
|
-
this.
|
|
287
|
-
...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
|
|
362
|
+
this.translationsToggle = output();
|
|
288
363
|
/**
|
|
289
|
-
*
|
|
364
|
+
* Optional image directive projected via content slot, used for pictures.
|
|
290
365
|
*/
|
|
291
|
-
this.
|
|
292
|
-
...(ngDevMode ? [
|
|
366
|
+
this.eclPictureContent = contentChild(EclFilePictureDirective, /* @ts-ignore */
|
|
367
|
+
...(ngDevMode ? [{ debugName: "eclPictureContent" }] : /* istanbul ignore next */ []));
|
|
293
368
|
/**
|
|
294
|
-
*
|
|
369
|
+
* Projected translation list component.
|
|
295
370
|
*/
|
|
296
|
-
this.
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Host CSS classes for the item, based on the content and state.
|
|
301
|
-
*/
|
|
302
|
-
get cssClasses() {
|
|
303
|
-
return [
|
|
304
|
-
super.getCssClasses('ecl-file__translation-item'),
|
|
305
|
-
this.isDescription() ? 'ecl-file__translation-description' : '',
|
|
306
|
-
].join(' ').trim();
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Indicates whether the parent `EclFileComponent` has a thumbnail image.
|
|
310
|
-
*/
|
|
311
|
-
get isThumbnail() {
|
|
312
|
-
return this.eclFileComponent && this.eclFileComponent.isThumbnail;
|
|
313
|
-
}
|
|
314
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
315
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclFileItemComponent, isStandalone: true, selector: "ecl-file-item", inputs: { isDescription: { classPropertyName: "isDescription", publicName: "isDescription", isSignal: true, isRequired: false, transformFunction: null }, eclTitle: { classPropertyName: "eclTitle", publicName: "eclTitle", isSignal: true, isRequired: false, transformFunction: null }, titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, metaId: { classPropertyName: "metaId", publicName: "metaId", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, langDetail: { classPropertyName: "langDetail", publicName: "langDetail", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "@if (isDescription()) {\n <ng-content></ng-content>\n} @else {\n <div class=\"ecl-file__translation-info\">\n <div class=\"ecl-file__translation-title\" [id]=\"titleId()\" [attr.lang]=\"langDetail()\">{{ eclTitle() }}</div>\n <div class=\"ecl-file__translation-meta\" [id]=\"metaId()\">{{ meta() }}</div>\n </div>\n <div class=\"ecl-file__translation-action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n </div>\n}\n" }); }
|
|
316
|
-
}
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileItemComponent, decorators: [{
|
|
318
|
-
type: Component,
|
|
319
|
-
args: [{ selector: 'ecl-file-item', template: "@if (isDescription()) {\n <ng-content></ng-content>\n} @else {\n <div class=\"ecl-file__translation-info\">\n <div class=\"ecl-file__translation-title\" [id]=\"titleId()\" [attr.lang]=\"langDetail()\">{{ eclTitle() }}</div>\n <div class=\"ecl-file__translation-meta\" [id]=\"metaId()\">{{ meta() }}</div>\n </div>\n <div class=\"ecl-file__translation-action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n </div>\n}\n" }]
|
|
320
|
-
}], propDecorators: { isDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDescription", required: false }] }], eclTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclTitle", required: false }] }], titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], metaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaId", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], langDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "langDetail", required: false }] }], cssClasses: [{
|
|
321
|
-
type: HostBinding,
|
|
322
|
-
args: ['class']
|
|
323
|
-
}], role: [{
|
|
324
|
-
type: HostBinding,
|
|
325
|
-
args: ['attr.role']
|
|
326
|
-
}] } });
|
|
327
|
-
|
|
328
|
-
class EclFileItemsToggleEvent extends EclBaseEvent {
|
|
329
|
-
constructor(isExpanded) {
|
|
330
|
-
super();
|
|
331
|
-
this.isExpanded = isExpanded;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* Component representing a container for file item translations within an ECL File component.
|
|
337
|
-
* It can be expanded or collapsed, and emits an event when toggled.
|
|
338
|
-
*/
|
|
339
|
-
class EclFileItemsComponent extends ECLBaseDirective {
|
|
340
|
-
constructor() {
|
|
341
|
-
super(...arguments);
|
|
371
|
+
this.eclFileItems = contentChild(EclFileItemsComponent, /* @ts-ignore */
|
|
372
|
+
...(ngDevMode ? [{ debugName: "eclFileItems" }] : /* istanbul ignore next */ []));
|
|
342
373
|
/**
|
|
343
|
-
*
|
|
374
|
+
* Whether this file has a picture projected.
|
|
344
375
|
*/
|
|
345
|
-
this.
|
|
346
|
-
...(ngDevMode ? [{ debugName: "
|
|
376
|
+
this.hasPicture = computed(() => !!this.eclPictureContent(), /* @ts-ignore */
|
|
377
|
+
...(ngDevMode ? [{ debugName: "hasPicture" }] : /* istanbul ignore next */ []));
|
|
347
378
|
/**
|
|
348
|
-
*
|
|
379
|
+
* Resolved phosphor icon name based on the fileIcon input.
|
|
349
380
|
*/
|
|
350
|
-
this.
|
|
351
|
-
|
|
381
|
+
this.resolvedIconName = computed(() => {
|
|
382
|
+
const icon = this.fileIcon();
|
|
383
|
+
return icon === 'file' ? 'file' : `file-${icon}`;
|
|
384
|
+
}, /* @ts-ignore */
|
|
385
|
+
...(ngDevMode ? [{ debugName: "resolvedIconName" }] : /* istanbul ignore next */ []));
|
|
352
386
|
/**
|
|
353
|
-
*
|
|
354
|
-
*
|
|
355
|
-
* @remarks
|
|
356
|
-
* Consumers can call `preventDefault()` on the event to cancel the toggle.
|
|
387
|
+
* Whether translations are present.
|
|
357
388
|
*/
|
|
358
|
-
|
|
359
|
-
|
|
389
|
+
this.hasTranslations = computed(() => !!this.eclFileItems(), /* @ts-ignore */
|
|
390
|
+
...(ngDevMode ? [{ debugName: "hasTranslations" }] : /* istanbul ignore next */ []));
|
|
360
391
|
/**
|
|
361
|
-
*
|
|
392
|
+
* Resolved primary meta — uses primaryMeta if available, falls back to deprecated detailMeta.
|
|
362
393
|
*/
|
|
363
|
-
this.
|
|
364
|
-
...(ngDevMode ? [{ debugName: "
|
|
394
|
+
this.resolvedPrimaryMeta = computed(() => this.primaryMeta() ?? this.detailMeta(), /* @ts-ignore */
|
|
395
|
+
...(ngDevMode ? [{ debugName: "resolvedPrimaryMeta" }] : /* istanbul ignore next */ []));
|
|
396
|
+
// When eclFileItems becomes available, assign ID if not set
|
|
397
|
+
effect(() => {
|
|
398
|
+
const items = this.eclFileItems();
|
|
399
|
+
if (items && !items.id()) {
|
|
400
|
+
items.id.set(`${this.id()}-translations`);
|
|
401
|
+
}
|
|
402
|
+
});
|
|
365
403
|
}
|
|
366
404
|
/**
|
|
367
|
-
*
|
|
405
|
+
* Handles the translation toggle button click.
|
|
368
406
|
*/
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
* Returns the number of translation items excluding description entries.
|
|
374
|
-
*/
|
|
375
|
-
getItemsCount() {
|
|
376
|
-
return this.items().filter((item) => !item.isDescription()).length;
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
* Toggles the expansion state of the translation list.
|
|
380
|
-
* Emits `toggle` event and updates `isExpanded` if not prevented.
|
|
381
|
-
*/
|
|
382
|
-
onToggleClick(evt) {
|
|
383
|
-
const nextExpandedState = !this.isExpanded();
|
|
384
|
-
const event = new EclFileItemsToggleEvent(nextExpandedState);
|
|
385
|
-
this.toggle.emit(event);
|
|
407
|
+
onTranslationToggleClick() {
|
|
408
|
+
const nextState = !this.isTranslationsExpanded();
|
|
409
|
+
const event = new EclFileItemsToggleEvent(nextState);
|
|
410
|
+
this.translationsToggle.emit(event);
|
|
386
411
|
if (!event.defaultPrevented) {
|
|
387
|
-
this.
|
|
412
|
+
this.isTranslationsExpanded.set(nextState);
|
|
413
|
+
const items = this.eclFileItems();
|
|
414
|
+
if (items) {
|
|
415
|
+
items.isExpanded.set(nextState);
|
|
416
|
+
}
|
|
388
417
|
}
|
|
389
418
|
}
|
|
390
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type:
|
|
391
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
420
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclFileComponent, isStandalone: true, selector: "ecl-file", inputs: { description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, langId: { classPropertyName: "langId", publicName: "langId", isSignal: true, isRequired: false, transformFunction: null }, labelInfo: { classPropertyName: "labelInfo", publicName: "labelInfo", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, primaryMeta: { classPropertyName: "primaryMeta", publicName: "primaryMeta", isSignal: true, isRequired: false, transformFunction: null }, detailMeta: { classPropertyName: "detailMeta", publicName: "detailMeta", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, metaId: { classPropertyName: "metaId", publicName: "metaId", isSignal: true, isRequired: false, transformFunction: null }, toggleAriaLabel: { classPropertyName: "toggleAriaLabel", publicName: "toggleAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, fileIcon: { classPropertyName: "fileIcon", publicName: "fileIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { translationsToggle: "translationsToggle" }, host: { properties: { "class": "cssClasses", "attr.id": "id()" } }, queries: [{ propertyName: "eclPictureContent", first: true, predicate: EclFilePictureDirective, descendants: true, isSignal: true }, { propertyName: "eclFileItems", first: true, predicate: EclFileItemsComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<article class=\"ecl-file__container\">\n <div class=\"ecl-file__info\">\n @if (hasPicture()) {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n } @else {\n <div class=\"ecl-file__icon-box\">\n <ecl-icon [icon]=\"resolvedIconName()\" iconSet=\"phosphor\" size=\"l\" class=\"ecl-file__icon\" [title]=\"fileIcon()\"></ecl-icon>\n </div>\n }\n\n <div class=\"ecl-file__content\">\n @if (labelInfo()) {\n <div class=\"ecl-file__labels\">\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo() }}</span>\n </div>\n </div>\n }\n\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n\n @if (description()) {\n <div class=\"ecl-file__description\">{{ description() }}</div>\n }\n\n @if (resolvedPrimaryMeta()) {\n <ul class=\"ecl-file__primary-meta\">\n @for (item of resolvedPrimaryMeta(); track item) {\n <li class=\"ecl-file__primary-meta-item\">{{ item }}</li>\n }\n </ul>\n }\n\n <ng-content select=\"ecl-file-lists, ecl-file-taxonomy\"></ng-content>\n </div>\n </div>\n\n <footer class=\"ecl-file__footer\">\n @if (language()) {\n @if (hasTranslations()) {\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\"\n class=\"ecl-file__translation-toggle\"\n type=\"button\"\n [attr.aria-expanded]=\"isTranslationsExpanded()\"\n [attr.aria-controls]=\"eclFileItems()?.id()\"\n [attr.aria-label]=\"toggleAriaLabel() || language()\"\n (click)=\"onTranslationToggleClick()\">\n <span eclButtonLabel>\n <span class=\"ecl-file__language\" [id]=\"langId()\">{{ language() }}</span>\n </span>\n <ecl-icon icon=\"caret-down\" iconSet=\"phosphor\" size=\"fluid\"></ecl-icon>\n </button>\n } @else {\n <span class=\"ecl-file__language ecl-file__language--no-toggle\" [id]=\"langId()\">{{ language() }}</span>\n }\n }\n\n <div class=\"ecl-file__action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n </footer>\n</article>\n\n<ng-content select=\"ecl-file-items\"></ng-content>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }] }); }
|
|
392
421
|
}
|
|
393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type:
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileComponent, decorators: [{
|
|
394
423
|
type: Component,
|
|
395
|
-
args: [{ selector: 'ecl-file
|
|
396
|
-
...EUI_ECL_BUTTON,
|
|
424
|
+
args: [{ selector: 'ecl-file', imports: [
|
|
397
425
|
...EUI_ECL_ICON,
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
/**
|
|
406
|
-
* Component representing the taxonomy section of a file in the ECL File component.
|
|
407
|
-
*/
|
|
408
|
-
class EclFileTaxonomyComponent extends ECLBaseDirective {
|
|
409
|
-
/**
|
|
410
|
-
* CSS classes applied to the host element.
|
|
411
|
-
*/
|
|
412
|
-
get cssClasses() {
|
|
413
|
-
return [super.getCssClasses('ecl-file__taxonomy')].join(' ').trim();
|
|
414
|
-
}
|
|
415
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileTaxonomyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EclFileTaxonomyComponent, isStandalone: true, selector: "ecl-file-taxonomy", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
417
|
-
}
|
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclFileTaxonomyComponent, decorators: [{
|
|
419
|
-
type: Component,
|
|
420
|
-
args: [{ selector: 'ecl-file-taxonomy', template: "<ng-content></ng-content>\n" }]
|
|
421
|
-
}], propDecorators: { cssClasses: [{
|
|
422
|
-
type: HostBinding,
|
|
423
|
-
args: ['class']
|
|
424
|
-
}] } });
|
|
426
|
+
...EUI_ECL_LABEL,
|
|
427
|
+
...EUI_ECL_BUTTON,
|
|
428
|
+
], host: {
|
|
429
|
+
'[class]': 'cssClasses',
|
|
430
|
+
'[attr.id]': 'id()',
|
|
431
|
+
}, template: "<article class=\"ecl-file__container\">\n <div class=\"ecl-file__info\">\n @if (hasPicture()) {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n } @else {\n <div class=\"ecl-file__icon-box\">\n <ecl-icon [icon]=\"resolvedIconName()\" iconSet=\"phosphor\" size=\"l\" class=\"ecl-file__icon\" [title]=\"fileIcon()\"></ecl-icon>\n </div>\n }\n\n <div class=\"ecl-file__content\">\n @if (labelInfo()) {\n <div class=\"ecl-file__labels\">\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo() }}</span>\n </div>\n </div>\n }\n\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n\n @if (description()) {\n <div class=\"ecl-file__description\">{{ description() }}</div>\n }\n\n @if (resolvedPrimaryMeta()) {\n <ul class=\"ecl-file__primary-meta\">\n @for (item of resolvedPrimaryMeta(); track item) {\n <li class=\"ecl-file__primary-meta-item\">{{ item }}</li>\n }\n </ul>\n }\n\n <ng-content select=\"ecl-file-lists, ecl-file-taxonomy\"></ng-content>\n </div>\n </div>\n\n <footer class=\"ecl-file__footer\">\n @if (language()) {\n @if (hasTranslations()) {\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\"\n class=\"ecl-file__translation-toggle\"\n type=\"button\"\n [attr.aria-expanded]=\"isTranslationsExpanded()\"\n [attr.aria-controls]=\"eclFileItems()?.id()\"\n [attr.aria-label]=\"toggleAriaLabel() || language()\"\n (click)=\"onTranslationToggleClick()\">\n <span eclButtonLabel>\n <span class=\"ecl-file__language\" [id]=\"langId()\">{{ language() }}</span>\n </span>\n <ecl-icon icon=\"caret-down\" iconSet=\"phosphor\" size=\"fluid\"></ecl-icon>\n </button>\n } @else {\n <span class=\"ecl-file__language ecl-file__language--no-toggle\" [id]=\"langId()\">{{ language() }}</span>\n }\n }\n\n <div class=\"ecl-file__action\">\n <ng-content select=\"[eclFilePreview]\"></ng-content>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n </footer>\n</article>\n\n<ng-content select=\"ecl-file-items\"></ng-content>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
432
|
+
}], ctorParameters: () => [], propDecorators: { description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], langId: [{ type: i0.Input, args: [{ isSignal: true, alias: "langId", required: false }] }], labelInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelInfo", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], primaryMeta: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryMeta", required: false }] }], detailMeta: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailMeta", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], metaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaId", required: false }] }], toggleAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleAriaLabel", required: false }] }], fileIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileIcon", required: false }] }], translationsToggle: [{ type: i0.Output, args: ["translationsToggle"] }], eclPictureContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclFilePictureDirective), { isSignal: true }] }], eclFileItems: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclFileItemsComponent), { isSignal: true }] }] } });
|
|
425
433
|
|
|
426
434
|
const EUI_ECL_FILE = [
|
|
427
435
|
EclFileComponent,
|
|
428
436
|
EclFileDownloadDirective,
|
|
429
437
|
EclFileItemsComponent,
|
|
430
438
|
EclFileItemComponent,
|
|
431
|
-
|
|
439
|
+
EclFileListsComponent,
|
|
432
440
|
EclFileTitleDirective,
|
|
433
441
|
EclFileTranslationDownloadDirective,
|
|
434
442
|
EclFilePictureDirective,
|
|
435
443
|
EclFileImageDirective,
|
|
436
444
|
EclFilePreviewDirective,
|
|
445
|
+
EclFileMetaDirective,
|
|
437
446
|
];
|
|
438
447
|
|
|
439
448
|
/**
|
|
440
449
|
* Generated bundle index. Do not edit.
|
|
441
450
|
*/
|
|
442
451
|
|
|
443
|
-
export { EUI_ECL_FILE, EclFileComponent, EclFileDownloadDirective, EclFileImageDirective, EclFileItemComponent, EclFileItemsComponent, EclFileItemsToggleEvent, EclFilePictureDirective, EclFilePreviewDirective,
|
|
452
|
+
export { EUI_ECL_FILE, EclFileComponent, EclFileDownloadDirective, EclFileImageDirective, EclFileItemComponent, EclFileItemsComponent, EclFileItemsToggleEvent, EclFileListsComponent, EclFileMetaDirective, EclFilePictureDirective, EclFilePreviewDirective, EclFileTitleDirective, EclFileTranslationDownloadDirective };
|
|
444
453
|
//# sourceMappingURL=eui-ecl-components-ecl-file.mjs.map
|