@eui/ecl 19.3.3-snapshot-1755084070595 → 19.3.3-snapshot-1755871676480

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.
Files changed (153) hide show
  1. package/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  2. package/components/ecl-all/ecl-all.module.d.ts +1 -1
  3. package/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  4. package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  5. package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  6. package/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  7. package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
  8. package/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  9. package/components/ecl-featured/index.d.ts +2 -2
  10. package/components/ecl-featured/index.d.ts.map +1 -1
  11. package/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  12. package/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  13. package/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  14. package/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts.map +1 -1
  15. package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  16. package/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  17. package/components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.d.ts.map +1 -1
  18. package/components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.d.ts.map +1 -1
  19. package/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts.map +1 -1
  20. package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  21. package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
  22. package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  23. package/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  24. package/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
  25. package/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  26. package/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
  27. package/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
  28. package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
  29. package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
  30. package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
  31. package/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
  32. package/components/ecl-tabs/ecl-tabs.component.d.ts.map +1 -1
  33. package/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  34. package/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
  35. package/docs/components/EclAccordionComponent.html +1 -1
  36. package/docs/components/EclAccordionItemComponent.html +1 -1
  37. package/docs/components/EclBannerComponent.html +2 -2
  38. package/docs/components/EclBreadcrumbComponent.html +1 -1
  39. package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
  40. package/docs/components/EclButtonComponent.html +1 -1
  41. package/docs/components/EclCategoryFilterItemComponent.html +1 -1
  42. package/docs/components/EclCheckboxLabelComponent.html +1 -1
  43. package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
  44. package/docs/components/EclExpandableComponent.html +2 -2
  45. package/docs/components/EclFileComponent.html +2 -2
  46. package/docs/components/EclFileItemsComponent.html +2 -2
  47. package/docs/components/EclGalleryComponent.html +3 -2
  48. package/docs/components/EclGalleryFooterComponent.html +1 -1
  49. package/docs/components/EclGalleryItemComponent.html +1 -1
  50. package/docs/components/EclInpageNavigationComponent.html +1 -1
  51. package/docs/components/EclInpageNavigationItemComponent.html +1 -1
  52. package/docs/components/EclMediaContainerComponent.html +2 -2
  53. package/docs/components/EclMegaMenuComponent.html +2 -2
  54. package/docs/components/EclMegaMenuItemComponent.html +3 -3
  55. package/docs/components/EclMegaMenuSubitemComponent.html +3 -3
  56. package/docs/components/EclMenuComponent.html +2 -2
  57. package/docs/components/EclMenuItemComponent.html +3 -3
  58. package/docs/components/EclModalHeaderComponent.html +2 -2
  59. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  60. package/docs/components/EclMultiselectInputComponent.html +2 -2
  61. package/docs/components/EclNewsTickerComponent.html +2 -2
  62. package/docs/components/EclNotificationComponent.html +2 -2
  63. package/docs/components/EclPaginationItemComponent.html +2 -2
  64. package/docs/components/EclPopoverComponent.html +2 -2
  65. package/docs/components/EclRatingFieldComponent.html +1 -1
  66. package/docs/components/EclSearchFormComponent.html +2 -2
  67. package/docs/components/EclSelectContainerComponent.html +2 -2
  68. package/docs/components/EclSiteFooterFixedContentECComponent.html +1 -1
  69. package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
  70. package/docs/components/EclSiteHeaderComponent.html +1 -1
  71. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  72. package/docs/components/EclSiteHeaderLanguageComponent.html +1 -1
  73. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +3 -3
  74. package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
  75. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  76. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  77. package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
  78. package/docs/components/EclTabComponent.html +1 -1
  79. package/docs/components/EclTableSortButtonComponent.html +1 -1
  80. package/docs/components/EclTabsComponent.html +2 -2
  81. package/docs/components/EclTagComponent.html +1 -1
  82. package/docs/components/EclTimelineItemComponent.html +2 -2
  83. package/docs/js/search/search_index.js +2 -2
  84. package/docs/miscellaneous/variables.html +69 -67
  85. package/docs/modules/EclAllModule.html +0 -360
  86. package/docs/properties.html +1 -1
  87. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +5 -5
  88. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  89. package/fesm2022/eui-ecl-components-ecl-banner.mjs +5 -5
  90. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  91. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +7 -7
  92. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  93. package/fesm2022/eui-ecl-components-ecl-button.mjs +3 -3
  94. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  95. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +3 -3
  96. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  97. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +3 -3
  98. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  99. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +4 -4
  100. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  101. package/fesm2022/eui-ecl-components-ecl-featured.mjs +3 -1
  102. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  103. package/fesm2022/eui-ecl-components-ecl-file.mjs +9 -11
  104. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  105. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +10 -8
  106. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  107. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +7 -7
  108. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  109. package/fesm2022/eui-ecl-components-ecl-list.mjs +3 -3
  110. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  111. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +4 -4
  112. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  113. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +9 -9
  114. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  115. package/fesm2022/eui-ecl-components-ecl-menu.mjs +7 -7
  116. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  117. package/fesm2022/eui-ecl-components-ecl-modal.mjs +5 -5
  118. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  119. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +8 -8
  120. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  121. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +5 -5
  122. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  123. package/fesm2022/eui-ecl-components-ecl-notification.mjs +5 -5
  124. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  125. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +4 -4
  126. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-popover.mjs +5 -5
  128. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  129. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +3 -3
  130. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  131. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +4 -4
  132. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  133. package/fesm2022/eui-ecl-components-ecl-select.mjs +5 -5
  134. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +5 -5
  136. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +16 -16
  138. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +4 -4
  140. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  141. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +4 -4
  142. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
  143. package/fesm2022/eui-ecl-components-ecl-table.mjs +3 -3
  144. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  145. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +8 -8
  146. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  147. package/fesm2022/eui-ecl-components-ecl-tag.mjs +3 -3
  148. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  149. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +4 -4
  150. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  151. package/fesm2022/eui-ecl.mjs +182 -302
  152. package/fesm2022/eui-ecl.mjs.map +1 -1
  153. package/package.json +1 -1
@@ -3,13 +3,13 @@ import { HostBinding, Directive, Input, ContentChild, Component, booleanAttribut
3
3
  import * as i1 from '@eui/ecl/core';
4
4
  import { ECLBaseDirective, EclBaseEvent } from '@eui/ecl/core';
5
5
  import * as i2 from '@eui/ecl/components/ecl-icon';
6
- import { EclIconModule } from '@eui/ecl/components/ecl-icon';
6
+ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
7
7
  import * as i3 from '@eui/ecl/components/ecl-label';
8
- import { EclLabelModule } from '@eui/ecl/components/ecl-label';
8
+ import { EUI_ECL_LABEL } from '@eui/ecl/components/ecl-label';
9
9
  import * as i3$1 from '@ngx-translate/core';
10
10
  import { TranslateModule } from '@ngx-translate/core';
11
11
  import * as i1$1 from '@eui/ecl/components/ecl-button';
12
- import { EclButtonModule } from '@eui/ecl/components/ecl-button';
12
+ import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
13
13
 
14
14
  /**
15
15
  * Directive to apply the correct styling class for a translation download link
@@ -189,14 +189,13 @@ class EclFileComponent extends ECLBaseDirective {
189
189
  return !!this.eclPictureContent;
190
190
  }
191
191
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclFileComponent, deps: [{ token: i1.EclThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclFileComponent, isStandalone: true, selector: "ecl-file", inputs: { description: "description", id: "id", langId: "langId", labelInfo: "labelInfo", language: "language", detailMeta: "detailMeta", meta: "meta" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPictureContent", first: true, predicate: EclFilePictureDirective, descendants: 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\">{{ 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: "ngmodule", type: EclIconModule }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: // TODO: Replace with Component
193
- EclLabelModule }, { kind: "directive", type: i3.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }] }); }
192
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclFileComponent, isStandalone: true, selector: "ecl-file", inputs: { description: "description", id: "id", langId: "langId", labelInfo: "labelInfo", language: "language", detailMeta: "detailMeta", meta: "meta" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPictureContent", first: true, predicate: EclFilePictureDirective, descendants: 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\">{{ 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: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }] }); }
194
193
  }
195
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclFileComponent, decorators: [{
196
195
  type: Component,
197
196
  args: [{ selector: 'ecl-file', imports: [
198
- EclIconModule, // TODO: Replace with Component
199
- EclLabelModule,
197
+ ...EUI_ECL_ICON,
198
+ ...EUI_ECL_LABEL,
200
199
  ], 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\">{{ 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"] }]
201
200
  }], ctorParameters: () => [{ type: i1.EclThemeService }], propDecorators: { cssClasses: [{
202
201
  type: HostBinding,
@@ -336,14 +335,13 @@ class EclFileItemsComponent extends ECLBaseDirective {
336
335
  }
337
336
  }
338
337
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclFileItemsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
339
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.14", type: EclFileItemsComponent, isStandalone: true, selector: "ecl-file-items", inputs: { label: "label", isExpanded: ["isExpanded", "isExpanded", booleanAttribute] }, outputs: { toggle: "toggle" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "items", predicate: EclFileItemComponent }], usesInheritance: true, ngImport: i0, template: "<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" [attr.aria-expanded]=\"isExpanded\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n", dependencies: [{ kind: "ngmodule", type: EclButtonModule }, { kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i1$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "ngmodule", type: EclIconModule }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: // TODO: Replace with Component
340
- TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.14", type: EclFileItemsComponent, isStandalone: true, selector: "ecl-file-items", inputs: { label: "label", isExpanded: ["isExpanded", "isExpanded", booleanAttribute] }, outputs: { toggle: "toggle" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "items", predicate: EclFileItemComponent }], usesInheritance: true, ngImport: i0, template: "<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" [attr.aria-expanded]=\"isExpanded\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n", dependencies: [{ kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i1$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] }); }
341
339
  }
342
340
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclFileItemsComponent, decorators: [{
343
341
  type: Component,
344
342
  args: [{ selector: 'ecl-file-items', imports: [
345
- EclButtonModule,
346
- EclIconModule, // TODO: Replace with Component
343
+ ...EUI_ECL_BUTTON,
344
+ ...EUI_ECL_ICON,
347
345
  TranslateModule,
348
346
  ], template: "<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" [attr.aria-expanded]=\"isExpanded\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n" }]
349
347
  }], propDecorators: { cssClasses: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-file.mjs","sources":["../../components/ecl-file/ecl-file-download.directive.ts","../../components/ecl-file/ecl-file-picture.directive.ts","../../components/ecl-file/ecl-file.component.ts","../../components/ecl-file/ecl-file.component.html","../../components/ecl-file/ecl-file-item/ecl-file-item.component.ts","../../components/ecl-file/ecl-file-item/ecl-file-item.component.html","../../components/ecl-file/events/ecl-file-items-toggle.event.ts","../../components/ecl-file/ecl-file-items/ecl-file-items.component.ts","../../components/ecl-file/ecl-file-items/ecl-file-items.component.html","../../components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.ts","../../components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.html","../../components/ecl-file/ecl-file.module.ts","../../components/ecl-file/index.ts","../../components/ecl-file/eui-ecl-components-ecl-file.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply the correct styling class for a translation download link\n * inside a file component.\n */\n@Directive({\n selector: '[eclFileTranslationDownload]',\n})\nexport class EclFileTranslationDownloadDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL translation download class to the host element.\n */\n @HostBinding('class.ecl-file__translation-download') className = true;\n}\n\n/**\n * Directive to apply the correct styling class for a standard file download link.\n */\n@Directive({\n selector: '[eclFileDownload]',\n})\nexport class EclFileDownloadDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL download class to the host element.\n */\n @HostBinding('class.ecl-file__download') className = true;\n}\n\n/**\n * Directive to style a file preview link.\n * Adds spacing and ECL link classes for standalone appearance.\n */\n@Directive({\n selector: '[eclFilePreview]',\n host: {\n '[style.margin-inline-end.px]': '24',\n },\n})\nexport class EclFilePreviewDirective extends ECLBaseDirective {\n\n /**\n * Applies ECL link class to the host element.\n */\n @HostBinding('class.ecl-link') hasClass = true;\n\n /**\n * Applies the standalone variant of the ECL link class to the host element.\n */\n @HostBinding('class.ecl-link--standalone') hasClassStandalone = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to style a <picture> element used in an ECL file component.\n * Adds ECL-specific picture and file picture classes.\n */\n@Directive({\n selector: 'picture[eclFilePicture]',\n})\nexport class EclFilePictureDirective extends ECLBaseDirective {\n\n /**\n * Applies ECL picture styling classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-file__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive to style an <img> element inside an ECL file component.\n * Adds the ECL-specific image class.\n */\n@Directive({\n selector: 'img[eclFileImage]',\n})\nexport class EclFileImageDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL image class to the host element.\n */\n @HostBinding('class.ecl-file__image') className = true;\n}\n\n/**\n * Directive to style a title element in an ECL file component.\n */\n@Directive({\n selector: '[eclFileTitle]',\n})\nexport class EclFileTitleDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL file title class to the host element.\n */\n @HostBinding('class.ecl-file__title') className = true;\n\n /**\n * ID attribute for the title element.\n */\n @Input() id: string;\n}\n","import {\n Component,\n ContentChild,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLabelModule } from '@eui/ecl/components/ecl-label';\nimport { ECLBaseDirective, EclThemeService } from '@eui/ecl/core';\nimport { EclFilePictureDirective } from './ecl-file-picture.directive';\n\n/**\n * Component representing a file item with optional metadata, description,\n * and image (thumbnail) support.\n */\n@Component({\n selector: 'ecl-file',\n templateUrl: './ecl-file.component.html',\n imports: [\n EclIconModule, // TODO: Replace with Component\n EclLabelModule,\n ],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFileComponent extends ECLBaseDirective {\n\n /**\n * Host element CSS classes based on theme and content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file'), this.isThumbnail ? 'ecl-file--thumbnail' : ''].join(' ').trim();\n }\n\n /**\n * Optional description displayed under the file title.\n */\n @Input() description: string;\n\n /**\n * Optional ID for the file component, useful for accessibility or referencing.\n */\n @Input() id: string;\n\n /**\n * Optional language ID (e.g., for translation or accessibility attributes).\n */\n @Input() langId: string;\n\n /**\n * Additional label shown next to the language label, e.g. file type or status.\n */\n @Input() labelInfo: string;\n\n /**\n * Language indicator string (e.g. \"EN\", \"FR\") used in the label.\n */\n @Input() language: string;\n\n /**\n * Additional details displayed in the file component (e.g. file size, date).\n */\n @Input() detailMeta: string[];\n\n /**\n * Main metadata displayed for the file (e.g. format, license).\n */\n @Input() meta: string;\n\n /**\n * Optional image directive projected via content slot, used for thumbnails.\n */\n @ContentChild(EclFilePictureDirective) eclPictureContent: EclFilePictureDirective;\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n /**\n * Determines whether the file has an associated thumbnail.\n * Returns true if an `EclFilePictureDirective` is present in projected content.\n */\n get isThumbnail(): boolean {\n return !!this.eclPictureContent;\n }\n}\n","<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\">{{ 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","import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclFileComponent } from '../ecl-file.component';\n\n/**\n * Component representing a single file translation or descriptive item\n * inside the main ECL File component.\n */\n@Component({\n selector: 'ecl-file-item',\n templateUrl: './ecl-file-item.component.html',\n})\nexport class EclFileItemComponent extends ECLBaseDirective {\n\n /**\n * Indicates whether the item is a description block rather than a translation.\n * Adds the `ecl-file__translation-description` class when true.\n */\n @Input({ transform: booleanAttribute }) isDescription = false;\n\n /**\n * Title text of the file item.\n */\n @Input() eclTitle: string;\n\n /**\n * ID applied to the title element for accessibility.\n */\n @Input() titleId: string;\n\n /**\n * Additional metadata for the item (e.g., file size, type).\n */\n @Input() meta: string;\n\n /**\n * Language label displayed next to the title (e.g., \"FR\", \"EN\").\n */\n @Input() label: string;\n\n /**\n * Supplementary language detail displayed below the language label.\n */\n @Input() langDetail: string;\n\n /**\n * Host CSS classes for the item, based on the content and state.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-file__translation-item'),\n this.isDescription ? 'ecl-file__translation-description' : '',\n ].join(' ').trim();\n }\n\n /**\n * ARIA role attribute set to 'listitem' for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Injects parent `EclFileComponent` to access thumbnail state.\n * Used to align or style this item in context of the main file.\n */\n constructor(private eclFileComponent: EclFileComponent) {\n super();\n }\n\n /**\n * Indicates whether the parent `EclFileComponent` has a thumbnail image.\n */\n get isThumbnail(): boolean {\n return this.eclFileComponent && this.eclFileComponent.isThumbnail;\n }\n}\n","@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\">{{ 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","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclFileItemsToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}","import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclFileItemComponent } from '../ecl-file-item/ecl-file-item.component';\nimport { EclFileItemsToggleEvent } from '../events/ecl-file-items-toggle.event';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\n\n/**\n * Component representing a container for file item translations within an ECL File component.\n * It can be expanded or collapsed, and emits an event when toggled.\n */\n@Component({\n selector: 'ecl-file-items',\n templateUrl: './ecl-file-items.component.html',\n imports: [\n EclButtonModule,\n EclIconModule, // TODO: Replace with Component\n TranslateModule,\n ],\n})\nexport class EclFileItemsComponent extends ECLBaseDirective {\n\n /**\n * CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__translation-container')].join(' ').trim();\n }\n\n /**\n * Label displayed above the translations list.\n */\n @Input() label: string;\n\n /**\n * Whether the list is initially expanded.\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * Emits a toggle event when the translations list is expanded or collapsed.\n * \n * @remarks\n * Consumers can call `preventDefault()` on the event to cancel the toggle.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclFileItemsToggleEvent>();\n\n /**\n * Content-projected list of translation items (excluding description blocks).\n */\n @ContentChildren(EclFileItemComponent) items: QueryList<EclFileItemComponent>;\n\n /**\n * Returns the number of translation items excluding description entries.\n */\n getItemsCount(): number {\n return this.items.filter((item) => !item.isDescription).length;\n }\n\n /**\n * Toggles the expansion state of the translation list.\n * Emits `toggle` event and updates `isExpanded` if not prevented.\n */\n onToggleClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclFileItemsToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n","<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" [attr.aria-expanded]=\"isExpanded\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the taxonomy section of a file in the ECL File component.\n */\n@Component({\n selector: 'ecl-file-taxonomy',\n templateUrl: './ecl-file-taxonomy.component.html',\n})\nexport class EclFileTaxonomyComponent extends ECLBaseDirective {\n\n /**\n * CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__taxonomy')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { EclFileDownloadDirective, EclFilePreviewDirective, EclFileTranslationDownloadDirective } from './ecl-file-download.directive';\nimport { EclFileItemComponent } from './ecl-file-item/ecl-file-item.component';\nimport { EclFileItemsComponent } from './ecl-file-items/ecl-file-items.component';\nimport { EclFileImageDirective, EclFilePictureDirective, EclFileTitleDirective } from './ecl-file-picture.directive';\nimport { EclFileTaxonomyComponent } from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nimport { EclFileComponent } from './ecl-file.component';\n\nconst COMPONENTS = [\n EclFileComponent,\n EclFileDownloadDirective,\n EclFileItemsComponent,\n EclFileItemComponent,\n EclFileTaxonomyComponent,\n EclFileTitleDirective,\n EclFileTranslationDownloadDirective,\n EclFilePictureDirective,\n EclFileImageDirective,\n EclFilePreviewDirective,\n];\n\n/**\n * Module that provides the EclFile component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_FILE} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclFileModule {}\n","import { EclFileDownloadDirective, EclFilePreviewDirective, EclFileTranslationDownloadDirective } from './ecl-file-download.directive';\nimport { EclFileItemComponent } from './ecl-file-item/ecl-file-item.component';\nimport { EclFileItemsComponent } from './ecl-file-items/ecl-file-items.component';\nimport { EclFileImageDirective, EclFilePictureDirective, EclFileTitleDirective } from './ecl-file-picture.directive';\nimport { EclFileTaxonomyComponent } from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nimport { EclFileComponent } from './ecl-file.component';\n\nexport * from './ecl-file.module';\nexport * from './ecl-file.component';\nexport * from './ecl-file-items/ecl-file-items.component';\nexport * from './ecl-file-item/ecl-file-item.component';\nexport * from './ecl-file-download.directive';\nexport * from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nexport * from './ecl-file-picture.directive';\nexport * from './events/ecl-file-items-toggle.event';\n\nexport const EUI_ECL_FILE = [\n EclFileComponent,\n EclFileDownloadDirective,\n EclFileItemsComponent,\n EclFileItemComponent,\n EclFileTaxonomyComponent,\n EclFileTitleDirective,\n EclFileTranslationDownloadDirective,\n EclFilePictureDirective,\n EclFileImageDirective,\n EclFilePreviewDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EclFileComponent","i1","i3"],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-file.mjs","sources":["../../components/ecl-file/ecl-file-download.directive.ts","../../components/ecl-file/ecl-file-picture.directive.ts","../../components/ecl-file/ecl-file.component.ts","../../components/ecl-file/ecl-file.component.html","../../components/ecl-file/ecl-file-item/ecl-file-item.component.ts","../../components/ecl-file/ecl-file-item/ecl-file-item.component.html","../../components/ecl-file/events/ecl-file-items-toggle.event.ts","../../components/ecl-file/ecl-file-items/ecl-file-items.component.ts","../../components/ecl-file/ecl-file-items/ecl-file-items.component.html","../../components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.ts","../../components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.html","../../components/ecl-file/ecl-file.module.ts","../../components/ecl-file/index.ts","../../components/ecl-file/eui-ecl-components-ecl-file.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply the correct styling class for a translation download link\n * inside a file component.\n */\n@Directive({\n selector: '[eclFileTranslationDownload]',\n})\nexport class EclFileTranslationDownloadDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL translation download class to the host element.\n */\n @HostBinding('class.ecl-file__translation-download') className = true;\n}\n\n/**\n * Directive to apply the correct styling class for a standard file download link.\n */\n@Directive({\n selector: '[eclFileDownload]',\n})\nexport class EclFileDownloadDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL download class to the host element.\n */\n @HostBinding('class.ecl-file__download') className = true;\n}\n\n/**\n * Directive to style a file preview link.\n * Adds spacing and ECL link classes for standalone appearance.\n */\n@Directive({\n selector: '[eclFilePreview]',\n host: {\n '[style.margin-inline-end.px]': '24',\n },\n})\nexport class EclFilePreviewDirective extends ECLBaseDirective {\n\n /**\n * Applies ECL link class to the host element.\n */\n @HostBinding('class.ecl-link') hasClass = true;\n\n /**\n * Applies the standalone variant of the ECL link class to the host element.\n */\n @HostBinding('class.ecl-link--standalone') hasClassStandalone = true;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to style a <picture> element used in an ECL file component.\n * Adds ECL-specific picture and file picture classes.\n */\n@Directive({\n selector: 'picture[eclFilePicture]',\n})\nexport class EclFilePictureDirective extends ECLBaseDirective {\n\n /**\n * Applies ECL picture styling classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-file__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive to style an <img> element inside an ECL file component.\n * Adds the ECL-specific image class.\n */\n@Directive({\n selector: 'img[eclFileImage]',\n})\nexport class EclFileImageDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL image class to the host element.\n */\n @HostBinding('class.ecl-file__image') className = true;\n}\n\n/**\n * Directive to style a title element in an ECL file component.\n */\n@Directive({\n selector: '[eclFileTitle]',\n})\nexport class EclFileTitleDirective extends ECLBaseDirective {\n\n /**\n * Applies the ECL file title class to the host element.\n */\n @HostBinding('class.ecl-file__title') className = true;\n\n /**\n * ID attribute for the title element.\n */\n @Input() id: string;\n}\n","import {\n Component,\n ContentChild,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LABEL } from '@eui/ecl/components/ecl-label';\nimport { ECLBaseDirective, EclThemeService } from '@eui/ecl/core';\nimport { EclFilePictureDirective } from './ecl-file-picture.directive';\n\n/**\n * Component representing a file item with optional metadata, description,\n * and image (thumbnail) support.\n */\n@Component({\n selector: 'ecl-file',\n templateUrl: './ecl-file.component.html',\n imports: [\n ...EUI_ECL_ICON,\n ...EUI_ECL_LABEL,\n ],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFileComponent extends ECLBaseDirective {\n\n /**\n * Host element CSS classes based on theme and content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file'), this.isThumbnail ? 'ecl-file--thumbnail' : ''].join(' ').trim();\n }\n\n /**\n * Optional description displayed under the file title.\n */\n @Input() description: string;\n\n /**\n * Optional ID for the file component, useful for accessibility or referencing.\n */\n @Input() id: string;\n\n /**\n * Optional language ID (e.g., for translation or accessibility attributes).\n */\n @Input() langId: string;\n\n /**\n * Additional label shown next to the language label, e.g. file type or status.\n */\n @Input() labelInfo: string;\n\n /**\n * Language indicator string (e.g. \"EN\", \"FR\") used in the label.\n */\n @Input() language: string;\n\n /**\n * Additional details displayed in the file component (e.g. file size, date).\n */\n @Input() detailMeta: string[];\n\n /**\n * Main metadata displayed for the file (e.g. format, license).\n */\n @Input() meta: string;\n\n /**\n * Optional image directive projected via content slot, used for thumbnails.\n */\n @ContentChild(EclFilePictureDirective) eclPictureContent: EclFilePictureDirective;\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n /**\n * Determines whether the file has an associated thumbnail.\n * Returns true if an `EclFilePictureDirective` is present in projected content.\n */\n get isThumbnail(): boolean {\n return !!this.eclPictureContent;\n }\n}\n","<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\">{{ 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","import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclFileComponent } from '../ecl-file.component';\n\n/**\n * Component representing a single file translation or descriptive item\n * inside the main ECL File component.\n */\n@Component({\n selector: 'ecl-file-item',\n templateUrl: './ecl-file-item.component.html',\n})\nexport class EclFileItemComponent extends ECLBaseDirective {\n\n /**\n * Indicates whether the item is a description block rather than a translation.\n * Adds the `ecl-file__translation-description` class when true.\n */\n @Input({ transform: booleanAttribute }) isDescription = false;\n\n /**\n * Title text of the file item.\n */\n @Input() eclTitle: string;\n\n /**\n * ID applied to the title element for accessibility.\n */\n @Input() titleId: string;\n\n /**\n * Additional metadata for the item (e.g., file size, type).\n */\n @Input() meta: string;\n\n /**\n * Language label displayed next to the title (e.g., \"FR\", \"EN\").\n */\n @Input() label: string;\n\n /**\n * Supplementary language detail displayed below the language label.\n */\n @Input() langDetail: string;\n\n /**\n * Host CSS classes for the item, based on the content and state.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-file__translation-item'),\n this.isDescription ? 'ecl-file__translation-description' : '',\n ].join(' ').trim();\n }\n\n /**\n * ARIA role attribute set to 'listitem' for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Injects parent `EclFileComponent` to access thumbnail state.\n * Used to align or style this item in context of the main file.\n */\n constructor(private eclFileComponent: EclFileComponent) {\n super();\n }\n\n /**\n * Indicates whether the parent `EclFileComponent` has a thumbnail image.\n */\n get isThumbnail(): boolean {\n return this.eclFileComponent && this.eclFileComponent.isThumbnail;\n }\n}\n","@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\">{{ 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","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclFileItemsToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}","import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclFileItemComponent } from '../ecl-file-item/ecl-file-item.component';\nimport { EclFileItemsToggleEvent } from '../events/ecl-file-items-toggle.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\n\n/**\n * Component representing a container for file item translations within an ECL File component.\n * It can be expanded or collapsed, and emits an event when toggled.\n */\n@Component({\n selector: 'ecl-file-items',\n templateUrl: './ecl-file-items.component.html',\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n TranslateModule,\n ],\n})\nexport class EclFileItemsComponent extends ECLBaseDirective {\n\n /**\n * CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__translation-container')].join(' ').trim();\n }\n\n /**\n * Label displayed above the translations list.\n */\n @Input() label: string;\n\n /**\n * Whether the list is initially expanded.\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * Emits a toggle event when the translations list is expanded or collapsed.\n * \n * @remarks\n * Consumers can call `preventDefault()` on the event to cancel the toggle.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclFileItemsToggleEvent>();\n\n /**\n * Content-projected list of translation items (excluding description blocks).\n */\n @ContentChildren(EclFileItemComponent) items: QueryList<EclFileItemComponent>;\n\n /**\n * Returns the number of translation items excluding description entries.\n */\n getItemsCount(): number {\n return this.items.filter((item) => !item.isDescription).length;\n }\n\n /**\n * Toggles the expansion state of the translation list.\n * Emits `toggle` event and updates `isExpanded` if not prevented.\n */\n onToggleClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclFileItemsToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n","<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" [attr.aria-expanded]=\"isExpanded\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the taxonomy section of a file in the ECL File component.\n */\n@Component({\n selector: 'ecl-file-taxonomy',\n templateUrl: './ecl-file-taxonomy.component.html',\n})\nexport class EclFileTaxonomyComponent extends ECLBaseDirective {\n\n /**\n * CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__taxonomy')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { EclFileDownloadDirective, EclFilePreviewDirective, EclFileTranslationDownloadDirective } from './ecl-file-download.directive';\nimport { EclFileItemComponent } from './ecl-file-item/ecl-file-item.component';\nimport { EclFileItemsComponent } from './ecl-file-items/ecl-file-items.component';\nimport { EclFileImageDirective, EclFilePictureDirective, EclFileTitleDirective } from './ecl-file-picture.directive';\nimport { EclFileTaxonomyComponent } from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nimport { EclFileComponent } from './ecl-file.component';\n\nconst COMPONENTS = [\n EclFileComponent,\n EclFileDownloadDirective,\n EclFileItemsComponent,\n EclFileItemComponent,\n EclFileTaxonomyComponent,\n EclFileTitleDirective,\n EclFileTranslationDownloadDirective,\n EclFilePictureDirective,\n EclFileImageDirective,\n EclFilePreviewDirective,\n];\n\n/**\n * Module that provides the EclFile component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_FILE} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclFileModule {}\n","import { EclFileDownloadDirective, EclFilePreviewDirective, EclFileTranslationDownloadDirective } from './ecl-file-download.directive';\nimport { EclFileItemComponent } from './ecl-file-item/ecl-file-item.component';\nimport { EclFileItemsComponent } from './ecl-file-items/ecl-file-items.component';\nimport { EclFileImageDirective, EclFilePictureDirective, EclFileTitleDirective } from './ecl-file-picture.directive';\nimport { EclFileTaxonomyComponent } from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nimport { EclFileComponent } from './ecl-file.component';\n\nexport * from './ecl-file.module';\nexport * from './ecl-file.component';\nexport * from './ecl-file-items/ecl-file-items.component';\nexport * from './ecl-file-item/ecl-file-item.component';\nexport * from './ecl-file-download.directive';\nexport * from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nexport * from './ecl-file-picture.directive';\nexport * from './events/ecl-file-items-toggle.event';\n\nexport const EUI_ECL_FILE = [\n EclFileComponent,\n EclFileDownloadDirective,\n EclFileItemsComponent,\n EclFileItemComponent,\n EclFileTaxonomyComponent,\n EclFileTitleDirective,\n EclFileTranslationDownloadDirective,\n EclFilePictureDirective,\n EclFileImageDirective,\n EclFilePreviewDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EclFileComponent","i3"],"mappings":"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"}
@@ -4,15 +4,17 @@ import * as i1 from '@ngx-translate/core';
4
4
  import { TranslateModule } from '@ngx-translate/core';
5
5
  import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
6
6
  import * as i3 from '@eui/ecl/components/ecl-button';
7
- import { EclButtonModule } from '@eui/ecl/components/ecl-button';
7
+ import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
8
8
  import * as i2 from '@eui/ecl/components/ecl-icon';
9
- import { EclIconModule } from '@eui/ecl/components/ecl-icon';
9
+ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
10
10
  import * as i1$1 from '@angular/platform-browser';
11
11
  import * as i1$2 from '@angular/cdk/layout';
12
12
  import { Breakpoints } from '@angular/cdk/layout';
13
13
  import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';
14
14
  import { Subject, delay } from 'rxjs';
15
15
  import { takeUntil } from 'rxjs/operators';
16
+ import * as i5 from '@eui/ecl/components/ecl-link';
17
+ import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
16
18
 
17
19
  class EclGalleryShowEvent extends EclBaseEvent {
18
20
  }
@@ -89,11 +91,11 @@ class EclGalleryFooterComponent {
89
91
  this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));
90
92
  }
91
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclGalleryFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclGalleryFooterComponent, isStandalone: true, selector: "ecl-gallery-footer", inputs: { infoId: "infoId" }, outputs: { toggleItems: "toggleItems" }, host: { properties: { "class.ecl-gallery__footer": "this.hasClass" } }, ngImport: i0, template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n }\n }\n</div>\n<hr class=\"ecl-gallery__footer-divider\" />\n<div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n</div>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: EclButtonModule }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }] }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclGalleryFooterComponent, isStandalone: true, selector: "ecl-gallery-footer", inputs: { infoId: "infoId" }, outputs: { toggleItems: "toggleItems" }, host: { properties: { "class.ecl-gallery__footer": "this.hasClass" } }, ngImport: i0, template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n }\n }\n</div>\n<hr class=\"ecl-gallery__footer-divider\" />\n<div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n</div>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }] }); }
93
95
  }
94
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclGalleryFooterComponent, decorators: [{
95
97
  type: Component,
96
- args: [{ selector: 'ecl-gallery-footer', imports: [TranslateModule, EclButtonModule], template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n }\n }\n</div>\n<hr class=\"ecl-gallery__footer-divider\" />\n<div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n</div>" }]
98
+ args: [{ selector: 'ecl-gallery-footer', imports: [TranslateModule, ...EUI_ECL_BUTTON], template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n }\n }\n</div>\n<hr class=\"ecl-gallery__footer-divider\" />\n<div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n</div>" }]
97
99
  }], propDecorators: { hasClass: [{
98
100
  type: HostBinding,
99
101
  args: ['class.ecl-gallery__footer']
@@ -374,11 +376,11 @@ class EclGalleryItemComponent extends ECLBaseDirective {
374
376
  this.renderer.selectRootElement(this.el.nativeElement.children[0], true).focus();
375
377
  }
376
378
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclGalleryItemComponent, deps: [{ token: i1$1.DomSanitizer }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
377
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclGalleryItemComponent, isStandalone: true, selector: "ecl-gallery-item", inputs: { isShareable: ["isShareable", "isShareable", booleanAttribute], mediaType: "mediaType", src: "src", meta: "meta", description: "description", srVideoAudioDescription: "srVideoAudioDescription", icon: "icon", title: "title", itemId: "itemId" }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "mediaChild", first: true, predicate: EclGalleryMediaDirective, descendants: true }, { propertyName: "galleryThumbnail", first: true, predicate: EclGalleryThumbnailDirective, descendants: true }, { propertyName: "galleryPicture", first: true, predicate: EclGalleryPictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\">\n <figure class=\"ecl-gallery__image-container\">\n @if(mediaType !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon ecl-icon--inverted\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n } \n @if(hasGalleryThumbnail) { <!-- TODO: to be removed in v19. Thumbnail should be added by user. -->\n <picture class=\"ecl-picture ecl-gallery__thumbnail\">\n @for(el of galleryPicture?.sources; track el.srcset ) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img class=\"ecl-gallery__image\"\n [attr.src]=\"galleryPicture?.img.src\"\n [attr.alt]=\"galleryPicture?.img.alt\" />\n </picture>\n }\n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>", dependencies: [{ kind: "ngmodule", type: EclIconModule }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
379
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclGalleryItemComponent, isStandalone: true, selector: "ecl-gallery-item", inputs: { isShareable: ["isShareable", "isShareable", booleanAttribute], mediaType: "mediaType", src: "src", meta: "meta", description: "description", srVideoAudioDescription: "srVideoAudioDescription", icon: "icon", title: "title", itemId: "itemId" }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "mediaChild", first: true, predicate: EclGalleryMediaDirective, descendants: true }, { propertyName: "galleryThumbnail", first: true, predicate: EclGalleryThumbnailDirective, descendants: true }, { propertyName: "galleryPicture", first: true, predicate: EclGalleryPictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\">\n <figure class=\"ecl-gallery__image-container\">\n @if(mediaType !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon ecl-icon--inverted\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n } \n @if(hasGalleryThumbnail) { <!-- TODO: to be removed in v19. Thumbnail should be added by user. -->\n <picture class=\"ecl-picture ecl-gallery__thumbnail\">\n @for(el of galleryPicture?.sources; track el.srcset ) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img class=\"ecl-gallery__image\"\n [attr.src]=\"galleryPicture?.img.src\"\n [attr.alt]=\"galleryPicture?.img.alt\" />\n </picture>\n }\n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>", dependencies: [{ kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
378
380
  }
379
381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclGalleryItemComponent, decorators: [{
380
382
  type: Component,
381
- args: [{ selector: 'ecl-gallery-item', imports: [EclIconModule], template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\">\n <figure class=\"ecl-gallery__image-container\">\n @if(mediaType !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon ecl-icon--inverted\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n } \n @if(hasGalleryThumbnail) { <!-- TODO: to be removed in v19. Thumbnail should be added by user. -->\n <picture class=\"ecl-picture ecl-gallery__thumbnail\">\n @for(el of galleryPicture?.sources; track el.srcset ) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img class=\"ecl-gallery__image\"\n [attr.src]=\"galleryPicture?.img.src\"\n [attr.alt]=\"galleryPicture?.img.alt\" />\n </picture>\n }\n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>" }]
383
+ args: [{ selector: 'ecl-gallery-item', imports: [...EUI_ECL_ICON], template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\">\n <figure class=\"ecl-gallery__image-container\">\n @if(mediaType !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon ecl-icon--inverted\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n } \n @if(hasGalleryThumbnail) { <!-- TODO: to be removed in v19. Thumbnail should be added by user. -->\n <picture class=\"ecl-picture ecl-gallery__thumbnail\">\n @for(el of galleryPicture?.sources; track el.srcset ) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img class=\"ecl-gallery__image\"\n [attr.src]=\"galleryPicture?.img.src\"\n [attr.alt]=\"galleryPicture?.img.alt\" />\n </picture>\n }\n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>" }]
382
384
  }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { isShareable: [{
383
385
  type: Input,
384
386
  args: [{ transform: booleanAttribute }]
@@ -722,11 +724,11 @@ class EclGalleryComponent extends ECLBaseDirective {
722
724
  return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);
723
725
  }
724
726
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclGalleryComponent, deps: [{ token: i1$2.BreakpointObserver }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
725
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclGalleryComponent, isStandalone: true, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: ["isOpenInFullScreenPossible", "isOpenInFullScreenPossible", booleanAttribute], isShareable: ["isShareable", "isShareable", booleanAttribute], isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], isNoOverlay: ["isNoOverlay", "isNoOverlay", booleanAttribute], isShowTitleOnHover: ["isShowTitleOnHover", "isShowTitleOnHover", booleanAttribute], maxVisibleItems: ["maxVisibleItems", "maxVisibleItems", numberAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], columns: ["columns", "columns", numberAttribute], gridTemplate: "gridTemplate", ratio: "ratio" }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler($event)", "window:resize": "iframeResize($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true }, { propertyName: "galleryItems", predicate: EclGalleryItemComponent }], viewQueries: [{ propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EclButtonModule }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "ngmodule", type: EclIconModule }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
727
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclGalleryComponent, isStandalone: true, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: ["isOpenInFullScreenPossible", "isOpenInFullScreenPossible", booleanAttribute], isShareable: ["isShareable", "isShareable", booleanAttribute], isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], isNoOverlay: ["isNoOverlay", "isNoOverlay", booleanAttribute], isShowTitleOnHover: ["isShowTitleOnHover", "isShowTitleOnHover", booleanAttribute], maxVisibleItems: ["maxVisibleItems", "maxVisibleItems", numberAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], columns: ["columns", "columns", numberAttribute], gridTemplate: "gridTemplate", ratio: "ratio" }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler($event)", "window:resize": "iframeResize($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true }, { propertyName: "galleryItems", predicate: EclGalleryItemComponent }], viewQueries: [{ propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i5.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i5.EclLinkLabelDirective, selector: "[eclLinkLabel]" }] }); }
726
728
  }
727
729
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclGalleryComponent, decorators: [{
728
730
  type: Component,
729
- args: [{ selector: 'ecl-gallery', imports: [TranslateModule, NgTemplateOutlet, EclButtonModule, EclIconModule], template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"] }]
731
+ args: [{ selector: 'ecl-gallery', imports: [TranslateModule, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, ...EUI_ECL_LINK], template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"] }]
730
732
  }], ctorParameters: () => [{ type: i1$2.BreakpointObserver }, { type: undefined, decorators: [{
731
733
  type: Inject,
732
734
  args: [PLATFORM_ID]