@eui/ecl 23.0.0-alpha.10 → 23.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/assets/i18n-ecl/bg.json +13 -2
  2. package/assets/i18n-ecl/cs.json +13 -2
  3. package/assets/i18n-ecl/da.json +13 -2
  4. package/assets/i18n-ecl/de.json +13 -2
  5. package/assets/i18n-ecl/el.json +13 -2
  6. package/assets/i18n-ecl/en.json +13 -2
  7. package/assets/i18n-ecl/es.json +13 -2
  8. package/assets/i18n-ecl/et.json +13 -2
  9. package/assets/i18n-ecl/fi.json +13 -2
  10. package/assets/i18n-ecl/fr.json +13 -2
  11. package/assets/i18n-ecl/ga.json +13 -2
  12. package/assets/i18n-ecl/hr.json +13 -2
  13. package/assets/i18n-ecl/hu.json +13 -2
  14. package/assets/i18n-ecl/it.json +13 -2
  15. package/assets/i18n-ecl/lt.json +13 -2
  16. package/assets/i18n-ecl/lv.json +13 -2
  17. package/assets/i18n-ecl/mt.json +13 -2
  18. package/assets/i18n-ecl/nl.json +13 -2
  19. package/assets/i18n-ecl/pl.json +13 -2
  20. package/assets/i18n-ecl/pt.json +13 -2
  21. package/assets/i18n-ecl/ro.json +13 -2
  22. package/assets/i18n-ecl/sk.json +13 -2
  23. package/assets/i18n-ecl/sl.json +13 -2
  24. package/assets/i18n-ecl/sv.json +13 -2
  25. package/components/ecl-highlighted-search/package.json +4 -0
  26. package/components/ecl-story-card/package.json +4 -0
  27. package/docs/changelog.html +10 -0
  28. package/docs/classes/EclBaseEvent.html +3 -0
  29. package/docs/classes/EclHighlightedSearchEvent.html +443 -0
  30. package/docs/components/EclAccordionSummaryComponent.html +2 -79
  31. package/docs/components/EclAddToCalendarComponent.html +2 -2
  32. package/docs/components/EclAnimatedNumbersComponent.html +2 -2
  33. package/docs/components/EclAnimatedNumbersItemComponent.html +2 -2
  34. package/docs/components/EclAppComponent.html +2 -2
  35. package/docs/components/EclBannerComponent.html +2 -2
  36. package/docs/components/EclBlockquoteComponent.html +2 -2
  37. package/docs/components/EclBreadcrumbComponent.html +2 -2
  38. package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
  39. package/docs/components/EclButtonComponent.html +2 -2
  40. package/docs/components/EclCardBodyComponent.html +2 -2
  41. package/docs/components/EclCardComponent.html +2 -2
  42. package/docs/components/EclCarouselComponent.html +2 -2
  43. package/docs/components/EclCarouselItemComponent.html +2 -2
  44. package/docs/components/EclCategoryFilterComponent.html +2 -2
  45. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  46. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  47. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  48. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  49. package/docs/components/EclContentBlockComponent.html +2 -2
  50. package/docs/components/EclContentItemComponent.html +2 -2
  51. package/docs/components/EclDateBlockComponent.html +2 -2
  52. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  53. package/docs/components/EclExpandableComponent.html +2 -2
  54. package/docs/components/EclFactFiguresComponent.html +2 -2
  55. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  56. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  57. package/docs/components/EclFeaturedComponent.html +2 -2
  58. package/docs/components/EclFeaturedItemComponent.html +2 -2
  59. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  60. package/docs/components/EclFileComponent.html +234 -110
  61. package/docs/components/EclFileItemComponent.html +13 -250
  62. package/docs/components/EclFileItemsComponent.html +34 -313
  63. package/docs/components/{EclFileTaxonomyComponent.html → EclFileListsComponent.html} +16 -107
  64. package/docs/components/EclFormGroupComponent.html +2 -2
  65. package/docs/components/EclFormLabelComponent.html +2 -2
  66. package/docs/components/EclGalleryComponent.html +2 -2
  67. package/docs/components/EclGalleryFooterComponent.html +2 -2
  68. package/docs/components/EclGalleryItemComponent.html +3 -3
  69. package/docs/components/EclHighlightBoxComponent.html +2 -2
  70. package/docs/components/EclHighlightedSearchComponent.html +1042 -0
  71. package/docs/components/EclIconComponent.html +5 -2
  72. package/docs/components/EclIndicatorComponent-1.html +2 -2
  73. package/docs/components/EclIndicatorComponent.html +2 -2
  74. package/docs/components/EclInpageNavigationComponent.html +2 -2
  75. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  76. package/docs/components/EclLayoutWrapperComponent.html +6 -109
  77. package/docs/components/EclListIllustrationComponent.html +2 -2
  78. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  79. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  80. package/docs/components/EclMediaContainerComponent.html +2 -2
  81. package/docs/components/EclMegaMenuComponent.html +2 -2
  82. package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
  83. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  84. package/docs/components/EclMegaMenuItemComponent.html +2 -2
  85. package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
  86. package/docs/components/EclMenuComponent.html +2 -2
  87. package/docs/components/EclMenuItemComponent.html +2 -2
  88. package/docs/components/EclMenuMegaComponent.html +2 -2
  89. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  90. package/docs/components/EclModalBodyComponent.html +2 -2
  91. package/docs/components/EclModalComponent.html +2 -2
  92. package/docs/components/EclModalFooterComponent.html +2 -2
  93. package/docs/components/EclModalHeaderComponent.html +2 -2
  94. package/docs/components/EclMultiselectComponent.html +2 -2
  95. package/docs/components/EclMultiselectDropdownComponent.html +13 -98
  96. package/docs/components/EclMultiselectInputComponent.html +2 -2
  97. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  98. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  99. package/docs/components/EclNavigationListComponent.html +2 -2
  100. package/docs/components/EclNavigationListItemComponent.html +2 -2
  101. package/docs/components/EclNewsTickerComponent.html +2 -2
  102. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  103. package/docs/components/EclNotificationComponent.html +2 -2
  104. package/docs/components/EclPageHeaderComponent.html +2 -2
  105. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
  106. package/docs/components/EclPageHeaderExpandableComponent.html +2 -2
  107. package/docs/components/EclPageHeaderNextComponent.html +2 -2
  108. package/docs/components/EclPageHeaderSectionComponent.html +2 -2
  109. package/docs/components/EclPageHeaderSectionInfoComponent.html +2 -2
  110. package/docs/components/EclPageSummaryComponent.html +2 -2
  111. package/docs/components/EclPaginationComponent.html +2 -2
  112. package/docs/components/EclPaginationItemComponent.html +2 -2
  113. package/docs/components/EclPopoverComponent.html +2 -2
  114. package/docs/components/EclQuizCardComponent.html +2 -2
  115. package/docs/components/EclQuizComponent.html +3 -3
  116. package/docs/components/EclRadioHelpComponent.html +2 -2
  117. package/docs/components/EclRadioLabelComponent.html +2 -2
  118. package/docs/components/EclRangeBubbleComponent.html +2 -2
  119. package/docs/components/EclRangeValueComponent.html +2 -2
  120. package/docs/components/EclRatingFieldComponent.html +2 -2
  121. package/docs/components/EclSearchFormComponent.html +2 -2
  122. package/docs/components/EclSelectContainerComponent.html +2 -2
  123. package/docs/components/EclSiteFooterComponent.html +2 -2
  124. package/docs/components/EclSiteFooterCoownerComponent.html +2 -2
  125. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  126. package/docs/components/EclSiteFooterFeedbackComponent.html +2 -2
  127. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  128. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  129. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  130. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  131. package/docs/components/EclSiteHeaderComponent.html +2 -2
  132. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  133. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  134. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  135. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  136. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  137. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  138. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  139. package/docs/components/EclSloganTickerComponent.html +2 -2
  140. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  141. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  142. package/docs/components/EclSplashPageComponent.html +2 -2
  143. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  144. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  145. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  146. package/docs/components/EclSpotlightComponent.html +2 -2
  147. package/docs/components/EclSpotlightLinkComponent.html +2 -2
  148. package/docs/components/EclStickyContainerComponent.html +2 -2
  149. package/docs/components/EclStoryCardComponent.html +908 -0
  150. package/docs/components/EclStoryCardGridDetailsComponent.html +946 -0
  151. package/docs/components/EclStoryCardItemComponent.html +916 -0
  152. package/docs/components/EclTabComponent.html +2 -2
  153. package/docs/components/EclTabLabelComponent.html +2 -2
  154. package/docs/components/EclTableSortButtonComponent.html +2 -2
  155. package/docs/components/EclTabsComponent.html +2 -2
  156. package/docs/components/EclTagComponent.html +2 -2
  157. package/docs/components/EclTextMediaComponent.html +2 -2
  158. package/docs/components/EclTimelineComponent.html +2 -2
  159. package/docs/components/EclTimelineItemComponent.html +2 -2
  160. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  161. package/docs/directives/ECLBaseDirective.html +4 -4
  162. package/docs/directives/EclAccordionDirective.html +33 -36
  163. package/docs/directives/EclFileDownloadDirective.html +0 -116
  164. package/docs/directives/EclFileImageDirective.html +0 -116
  165. package/docs/directives/EclFileMetaDirective.html +488 -0
  166. package/docs/directives/EclFilePictureDirective.html +0 -95
  167. package/docs/directives/EclFilePreviewDirective.html +1 -199
  168. package/docs/directives/EclFileTitleDirective.html +0 -146
  169. package/docs/directives/EclFileTranslationDownloadDirective.html +0 -116
  170. package/docs/directives/EclHighlightedSearchSuggestionsDirective.html +394 -0
  171. package/docs/directives/EclLayoutItemDirective.html +0 -32
  172. package/docs/directives/EclStoryCardLinkDirective.html +491 -0
  173. package/docs/directives/EclStoryCardListDirective.html +491 -0
  174. package/docs/directives/EclStoryCardPictureDirective.html +497 -0
  175. package/docs/interfaces/EclStoryCardSelectionEvent.html +317 -0
  176. package/docs/js/menu-wc.js +34 -1
  177. package/docs/js/search/search_index.js +2 -2
  178. package/docs/json/EclAccordionDirective.md +1 -0
  179. package/docs/json/EclFileComponent.md +43 -7
  180. package/docs/json/EclFileItemComponent.md +6 -6
  181. package/docs/json/EclFileItemsComponent.md +6 -6
  182. package/docs/json/EclFileListsComponent.md +15 -0
  183. package/docs/json/EclFileMetaDirective.md +16 -0
  184. package/docs/json/EclFilePreviewDirective.md +1 -1
  185. package/docs/json/EclFileTitleDirective.md +0 -1
  186. package/docs/json/EclHighlightedSearchComponent.md +46 -0
  187. package/docs/json/EclHighlightedSearchSuggestionsDirective.md +13 -0
  188. package/docs/json/EclLayoutWrapperComponent.md +2 -2
  189. package/docs/json/EclStoryCardComponent.md +43 -0
  190. package/docs/json/EclStoryCardGridDetailsComponent.md +39 -0
  191. package/docs/json/EclStoryCardItemComponent.md +35 -0
  192. package/docs/json/EclStoryCardLinkDirective.md +19 -0
  193. package/docs/json/EclStoryCardListDirective.md +19 -0
  194. package/docs/json/EclStoryCardPictureDirective.md +22 -0
  195. package/docs/json/documentation.json +5287 -2643
  196. package/docs/llms.txt +242 -60
  197. package/docs/miscellaneous/variables.html +112 -1
  198. package/docs/overview.html +4 -4
  199. package/docs/properties.html +1 -1
  200. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +46 -15
  201. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  202. package/fesm2022/eui-ecl-components-ecl-file.mjs +284 -275
  203. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  204. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +2 -2
  205. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  206. package/fesm2022/eui-ecl-components-ecl-highlighted-search.mjs +193 -0
  207. package/fesm2022/eui-ecl-components-ecl-highlighted-search.mjs.map +1 -0
  208. package/fesm2022/eui-ecl-components-ecl-layout-wrapper.mjs +10 -11
  209. package/fesm2022/eui-ecl-components-ecl-layout-wrapper.mjs.map +1 -1
  210. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +26 -36
  211. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  212. package/fesm2022/eui-ecl-components-ecl-quiz.mjs +36 -2
  213. package/fesm2022/eui-ecl-components-ecl-quiz.mjs.map +1 -1
  214. package/fesm2022/eui-ecl-components-ecl-story-card.mjs +505 -0
  215. package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -0
  216. package/package.json +9 -1
  217. package/types/eui-ecl-components-ecl-accordion.d.ts +23 -5
  218. package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
  219. package/types/eui-ecl-components-ecl-file.d.ts +131 -116
  220. package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
  221. package/types/eui-ecl-components-ecl-highlighted-search.d.ts +104 -0
  222. package/types/eui-ecl-components-ecl-highlighted-search.d.ts.map +1 -0
  223. package/types/eui-ecl-components-ecl-layout-wrapper.d.ts +6 -8
  224. package/types/eui-ecl-components-ecl-layout-wrapper.d.ts.map +1 -1
  225. package/types/eui-ecl-components-ecl-multiselect.d.ts +2 -1
  226. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
  227. package/types/eui-ecl-components-ecl-quiz.d.ts +11 -0
  228. package/types/eui-ecl-components-ecl-quiz.d.ts.map +1 -1
  229. package/types/eui-ecl-components-ecl-story-card.d.ts +256 -0
  230. package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -0
  231. package/docs/json/EclFileTaxonomyComponent.md +0 -15
@@ -20,3 +20,4 @@ in expandable sections.
20
20
 
21
21
  ## Inputs
22
22
  - **isSidebar**: `boolean` -
23
+ - **sidebarBreakpoint**: `480 | 768 | 996 | 1140 | 1440 | 1920 | 2560 | 3840` - Configurable breakpoint (in pixels) for the sidebar variant. When the viewport width is at or above this value, sidebar items are opened; below it, they are collapsed. Defaults to 996 (the 'lg' breakpoint). Matches the ECL pattern: data-ecl-accordion-sidebar-media-query="(min-width: 768px)" ```html <div eclAccordion isSidebar [sidebarBreakpoint]="768"> ```
@@ -4,21 +4,57 @@
4
4
 
5
5
 
6
6
 
7
- Component representing a file item with optional metadata, description,
8
- and image (thumbnail) support.
7
+ ECL File component.
8
+ Displays downloadable file information with an icon or picture,
9
+ metadata, and an optional expandable translations panel.
9
10
 
11
+ ```html
12
+ <ecl-file id="my-file" language="English" langId="my-file-lang"
13
+ [primaryMeta]="['Meta info', 'DD Month YYYY']"
14
+ labelInfo="Highlight" description="File description"
15
+ fileIcon="pdf"
16
+ toggleAriaLabel="Translations"
17
+ (translationsToggle)="onToggle($event)">
18
+ ___COMPODOC_EMPTY_LINE___
19
+ <div eclFileTitle id="my-file-title">State of the Union 2018 brochure</div>
20
+ ___COMPODOC_EMPTY_LINE___
21
+ <a eclFileDownload eclLink variant="standalone" isBranded href="/path/to/file">
22
+ <span eclLinkLabel>
23
+ <span>Download</span>
24
+ <span eclFileMeta>(16.2 MB - PDF)</span>
25
+ </span>
26
+ <ecl-icon icon="download-simple" iconSet="phosphor" size="fluid"></ecl-icon>
27
+ </a>
28
+ ___COMPODOC_EMPTY_LINE___
29
+ <ecl-file-items>
30
+ <ecl-file-item eclTitle="български" meta="(15.7 MB - PDF)" langDetail="bg"
31
+ titleId="my-file-0-title" metaId="my-file-0-meta">
32
+ <a eclFileTranslationDownload eclLink variant="standalone" href="/example#bg" hreflang="bg">
33
+ <span eclLinkLabel>Download</span>
34
+ <ecl-icon icon="download-simple" iconSet="phosphor" size="fluid"></ecl-icon>
35
+ </a>
36
+ </ecl-file-item>
37
+ </ecl-file-items>
38
+ </ecl-file>
39
+ ```
10
40
 
11
41
  **Selector:** `ecl-file`
12
42
 
13
43
  ## Inputs
14
44
  - **description**: `string` - Optional description displayed under the file title.
15
- - **detailMeta**: `string[]` - Additional details displayed in the file component (e.g. file size, date).
16
- - **id**: `string` - Optional ID for the file component, useful for accessibility or referencing.
45
+ - **detailMeta**: `string[]` -
46
+ - **fileIcon**: `"file" | "pdf" | "doc" | "xls" | "txt" | "zip"` - File type icon to display. Renders a phosphor icon internally. Options: 'file' (default), 'pdf', 'doc', 'xls', 'txt', 'zip'. Ignored when a picture is projected.
47
+ - **id**: `string` - Unique ID for the file component. Auto-generated if not provided. Used to derive accessibility IDs for child elements.
17
48
  - **labelInfo**: `string` - Additional label shown next to the language label, e.g. file type or status.
18
49
  - **langId**: `string` - Optional language ID (e.g., for translation or accessibility attributes).
19
- - **language**: `string` - Language indicator string (e.g. "EN", "FR") used in the label.
20
- - **meta**: `string` - Main metadata displayed for the file (e.g. format, license).
21
- - **metaId**: `string` - ID applied to the meta element for accessibility.
50
+ - **language**: `string` - Language indicator string (e.g. "English", "French") used in the footer. When translations are present, this becomes the toggle button label.
51
+ - **meta**: `string` - Kept for backward compatibility no longer rendered in the template.
52
+ - **metaId**: `string` - Kept for backward compatibility no longer rendered in the template.
53
+ - **primaryMeta**: `string[]` - Primary metadata array (e.g. ['Meta info', 'DD Month YYYY']). Rendered as a list below the title/description.
54
+ - **toggleAriaLabel**: `string` - Accessible label for the translation toggle button. Defaults to the `language` value if not provided.
22
55
  - **class**: `string` -
23
56
  - **e2eAttr**: `any` -
24
57
  - **tabindex**: `number` -
58
+
59
+ ## Outputs
60
+ - **translationsToggle**: `EclFileItemsToggleEvent` - Emits when the translation toggle is clicked. Consumers can call `preventDefault()` on the event to cancel the toggle.
@@ -4,17 +4,17 @@
4
4
 
5
5
 
6
6
 
7
- Component representing a single file translation or descriptive item
8
- inside the main ECL File component.
7
+ Component representing a single file translation item
8
+ inside the ecl-file-items translation list.
9
9
 
10
10
 
11
11
  **Selector:** `ecl-file-item`
12
12
 
13
13
  ## Inputs
14
- - **eclTitle**: `string` - Title text of the file item.
15
- - **isDescription**: `boolean` - Indicates whether the item is a description block rather than a translation. Adds the `ecl-file__translation-description` class when true.
16
- - **label**: `string` - Language label displayed next to the title (e.g., "FR", "EN").
17
- - **langDetail**: `string` - Supplementary language detail displayed below the language label.
14
+ - **eclTitle**: `string` - Title text of the file item (language name, e.g. "български").
15
+ - **isDescription**: `boolean` -
16
+ - **label**: `string` -
17
+ - **langDetail**: `string` - Language code (e.g. "bg", "fr") applied as the `lang` attribute on the title element.
18
18
  - **meta**: `string` - Additional metadata for the item (e.g., file size, type).
19
19
  - **metaId**: `string` - ID applied to the meta element for accessibility.
20
20
  - **titleId**: `string` - ID applied to the title element for accessibility.
@@ -4,19 +4,19 @@
4
4
 
5
5
 
6
6
 
7
- Component representing a container for file item translations within an ECL File component.
8
- It can be expanded or collapsed, and emits an event when toggled.
7
+ Component representing the translation list within an ECL File component.
8
+ The host element IS the list. The toggle button is rendered by the parent ecl-file.
9
9
 
10
10
 
11
11
  **Selector:** `ecl-file-items`
12
12
 
13
13
  ## Inputs
14
- - **isExpanded**: `boolean` - Whether the list is initially expanded.
15
- - **label**: `string` - Label displayed above the translations list.
14
+ - **id**: `string` - ID for the list, used by the toggle button's aria-controls.
15
+ - **isExpanded**: `boolean` - Whether the list is expanded. Managed by the parent ecl-file component.
16
16
  - **class**: `string` -
17
17
  - **e2eAttr**: `any` -
18
18
  - **tabindex**: `number` -
19
19
 
20
20
  ## Outputs
21
- - **isExpanded**: `boolean` - Whether the list is initially expanded.
22
- - **toggle**: `EclFileItemsToggleEvent` - Emits a toggle event when the translations list is expanded or collapsed. Consumers can call `preventDefault()` on the event to cancel the toggle.
21
+ - **id**: `string` - ID for the list, used by the toggle button's aria-controls.
22
+ - **isExpanded**: `boolean` - Whether the list is expanded. Managed by the parent ecl-file component.
@@ -0,0 +1,15 @@
1
+ # EclFileListsComponent
2
+
3
+ **Type:** component
4
+
5
+
6
+
7
+ Component representing the lists section of a file in the ECL File component.
8
+
9
+
10
+ **Selector:** `ecl-file-lists, ecl-file-taxonomy`
11
+
12
+ ## Inputs
13
+ - **class**: `string` -
14
+ - **e2eAttr**: `any` -
15
+ - **tabindex**: `number` -
@@ -0,0 +1,16 @@
1
+ # EclFileMetaDirective
2
+
3
+ **Type:** directive
4
+
5
+
6
+
7
+ Directive to style the file meta element (e.g. file size and format)
8
+ inside the download link label.
9
+
10
+
11
+ **Selector:** `[eclFileMeta]`
12
+
13
+ ## Inputs
14
+ - **class**: `string` -
15
+ - **e2eAttr**: `any` -
16
+ - **tabindex**: `number` -
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
  Directive to style a file preview link.
8
- Adds spacing and ECL link classes for standalone appearance.
8
+ Adds ECL link classes for standalone branded appearance.
9
9
 
10
10
 
11
11
  **Selector:** `[eclFilePreview]`
@@ -10,7 +10,6 @@ Directive to style a title element in an ECL file component.
10
10
  **Selector:** `[eclFileTitle]`
11
11
 
12
12
  ## Inputs
13
- - **id**: `string` - ID attribute for the title element.
14
13
  - **class**: `string` -
15
14
  - **e2eAttr**: `any` -
16
15
  - **tabindex**: `number` -
@@ -0,0 +1,46 @@
1
+ # EclHighlightedSearchComponent
2
+
3
+ **Type:** component
4
+
5
+
6
+
7
+ Highlighted search component based on ECL design system.
8
+ Renders a prominent search banner with title, description, search form,
9
+ and an optional suggestion area via content projection.
10
+
11
+ Implements ControlValueAccessor for use with ngModel and reactive forms.
12
+
13
+ ```html
14
+ <ecl-highlighted-search
15
+ eclTitle="Find your next role"
16
+ description="Discover job opportunities in the EU institutions"
17
+ helperText="Enter the job you're looking for"
18
+ placeholder="Enter a search keyword"
19
+ suggestionLabel="Or explore:"
20
+ searchButtonLabel="Search"
21
+ (searchEvent)="onSearch($event)">
22
+ ___COMPODOC_EMPTY_LINE___
23
+ <ul eclTagSet eclHighlightedSearchSuggestions>
24
+ <li eclTagSetItem><a href="/traineeships" eclTag>Traineeships</a></li>
25
+ <li eclTagSetItem><a href="/it" eclTag>IT &amp; Digital</a></li>
26
+ <li eclTagSetItem><a href="/policy" eclTag>Policy &amp; Law</a></li>
27
+ </ul>
28
+ ___COMPODOC_EMPTY_LINE___
29
+ </ecl-highlighted-search>
30
+ ```
31
+
32
+ **Selector:** `ecl-highlighted-search`
33
+
34
+ ## Inputs
35
+ - **description**: `string` - Subtitle text displayed below the title.
36
+ - **eclTitle**: `string` - The heading text displayed above the search form.
37
+ - **helperText**: `string` - Helper text displayed below the search input.
38
+ - **placeholder**: `string` - Placeholder text for the search input field.
39
+ - **searchButtonLabel**: `string` - Label text for the search button. Defaults to "Search".
40
+ - **suggestionLabel**: `string` - Label for the suggestion section (e.g. "Or explore:").
41
+ - **class**: `string` -
42
+ - **e2eAttr**: `any` -
43
+ - **tabindex**: `number` -
44
+
45
+ ## Outputs
46
+ - **searchEvent**: `EclHighlightedSearchEvent` - Emitted when the user submits the search form.
@@ -0,0 +1,13 @@
1
+ # EclHighlightedSearchSuggestionsDirective
2
+
3
+ **Type:** directive
4
+
5
+
6
+
7
+ Marker directive for the suggestions content projection slot.
8
+ Applies the `ecl-highlighted-search__suggestion-list` class to the host element.
9
+ The parent `ecl-highlighted-search` component uses this to locate
10
+ the projected element and set `aria-labelledby`.
11
+
12
+
13
+ **Selector:** `[eclHighlightedSearchSuggestions]`
@@ -9,7 +9,7 @@ Arranges projected content into a responsive grid layout with configurable colum
9
9
  Includes optional title, description, and "view all" link areas.
10
10
 
11
11
  ```html
12
- <section eclLayoutWrapper [columns]="3" direction="horizontal">
12
+ <div eclLayoutWrapper [columns]="3" direction="horizontal">
13
13
  <h2 eclLayoutWrapperTitle>Heading</h2>
14
14
  <div eclLayoutWrapperDescription>Description text</div>
15
15
  ___COMPODOC_EMPTY_LINE___
@@ -18,7 +18,7 @@ ___COMPODOC_EMPTY_LINE___
18
18
  <div eclLayoutItem><article eclCard>...</article></div>
19
19
  ___COMPODOC_EMPTY_LINE___
20
20
  <a eclLayoutWrapperViewAll eclLink [standalone]="true" icon="arrow-left">View all</a>
21
- </section>
21
+ </div>
22
22
  ```
23
23
 
24
24
  **Selector:** `div[eclLayoutWrapper]`
@@ -0,0 +1,43 @@
1
+ # EclStoryCardComponent
2
+
3
+ **Type:** component
4
+
5
+
6
+
7
+ ECL Story Card component.
8
+
9
+ Renders a desktop grid accordion (user-authored) and automatically
10
+ generates a mobile carousel from the same data.
11
+
12
+ Desktop: tablist/tab/tabpanel pattern with autoplay loading bar.
13
+ Mobile: Embla carousel with prev/next and dot navigation.
14
+
15
+ ```html
16
+ <section eclStoryCard isAutoplay [autoplayDelay]="10000"
17
+ [eclTitle]="'Stories'" [eclDescription]="'...'">
18
+ <ul eclStoryCardList>
19
+ <li eclStoryCardItem gridTitle="why twelve">
20
+ <picture eclStoryCardPicture>...</picture>
21
+ </li>
22
+ </ul>
23
+ <div eclStoryCardGridDetails eclTitle="..." description="...">
24
+ <a eclStoryCardLink href="...">Read more</a>
25
+ </div>
26
+ </section>
27
+ ```
28
+
29
+ **Selector:** `section[eclStoryCard]`
30
+
31
+ ## Inputs
32
+ - **autoplayDelay**: `number` - Autoplay delay in milliseconds. Default: 10000.
33
+ - **eclDescription**: `string` - Description displayed below the title.
34
+ - **id**: `string` - ID for the component. All internal IDs derive from it. If not provided, auto-generated.
35
+ - **eclTitle**: `string` - Title displayed in the story card header.
36
+ - **isAutoplay**: `boolean` - Whether autoplay is enabled for the grid accordion.
37
+ - **variant**: `"story" | "testimonial"` - Variant of the story card: 'story' (default) or 'testimonial'.
38
+ - **class**: `string` -
39
+ - **e2eAttr**: `any` -
40
+ - **tabindex**: `number` -
41
+
42
+ ## Outputs
43
+ - **selectionChange**: `EclStoryCardSelectionEvent` - Emitted when the active grid item changes.
@@ -0,0 +1,39 @@
1
+ # EclStoryCardGridDetailsComponent
2
+
3
+ **Type:** component
4
+
5
+
6
+
7
+ Component for a story card grid details panel (tabpanel).
8
+ Contains the expanded content: title, description, and optional link.
9
+
10
+ For the 'testimonial' variant, additional inputs are available:
11
+ - `author`: name of the author
12
+ - `role`: role/position of the author
13
+ - `source`: publication source
14
+
15
+ ```html
16
+ <div eclStoryCardGridDetails
17
+ eclTitle="The European flag..."
18
+ description="It appears on official documents..."
19
+ author="John Doe"
20
+ role="Commissioner"
21
+ source="Published on The Guardian">
22
+ <a eclStoryCardLink eclLink variant="standalone" href="/example">
23
+ <span eclLinkLabel>Read more</span>
24
+ <ecl-icon icon="arrow-right" size="xs"></ecl-icon>
25
+ </a>
26
+ </div>
27
+ ```
28
+
29
+ **Selector:** `[eclStoryCardGridDetails]`
30
+
31
+ ## Inputs
32
+ - **author**: `string` - Author name (testimonial variant).
33
+ - **description**: `string` - Description shown in the details panel.
34
+ - **eclTitle**: `string` - Title shown in the details panel.
35
+ - **role**: `string` - Author role/position (testimonial variant).
36
+ - **source**: `string` - Publication source (testimonial variant).
37
+ - **class**: `string` -
38
+ - **e2eAttr**: `any` -
39
+ - **tabindex**: `number` -
@@ -0,0 +1,35 @@
1
+ # EclStoryCardItemComponent
2
+
3
+ **Type:** component
4
+
5
+
6
+
7
+ Component for a single story card grid item (tab).
8
+ Applied to <li> elements within the story card list.
9
+
10
+ The user provides:
11
+ - `gridTitle`: the short label shown in the accordion tab button
12
+ - A <picture eclStoryCardPicture> as projected content
13
+
14
+ The component internally renders the button with role="tab",
15
+ the loading bar, and the title wrapper.
16
+
17
+ ```html
18
+ <li eclStoryCardItem gridTitle="why twelve">
19
+ <picture eclStoryCardPicture>
20
+ <img src="example.jpg" alt="Example">
21
+ </picture>
22
+ </li>
23
+ ```
24
+
25
+ **Selector:** `li[eclStoryCardItem]`
26
+
27
+ ## Inputs
28
+ - **gridTitle**: `string` - Short title displayed in the accordion tab button.
29
+ - **class**: `string` -
30
+ - **e2eAttr**: `any` -
31
+ - **tabindex**: `number` -
32
+
33
+ ## Outputs
34
+ - **itemClick**: `number` - Emitted when the item's button is clicked.
35
+ - **loadingBarAnimationEnd**: `void` - Emitted when the loading bar animation ends.
@@ -0,0 +1,19 @@
1
+ # EclStoryCardLinkDirective
2
+
3
+ **Type:** directive
4
+
5
+
6
+
7
+ Directive applied to <a> elements inside story card grid details.
8
+ Adds the ECL link classes for the "Read more" link.
9
+
10
+ ```html
11
+ <a eclStoryCardLink href="/example">Read more</a>
12
+ ```
13
+
14
+ **Selector:** `[eclStoryCardLink]`
15
+
16
+ ## Inputs
17
+ - **class**: `string` -
18
+ - **e2eAttr**: `any` -
19
+ - **tabindex**: `number` -
@@ -0,0 +1,19 @@
1
+ # EclStoryCardListDirective
2
+
3
+ **Type:** directive
4
+
5
+
6
+
7
+ Directive applied to the <ul> element that holds the story card items.
8
+ Adds the grid container class and tablist role.
9
+
10
+ ```html
11
+ <ul eclStoryCardList>...</ul>
12
+ ```
13
+
14
+ **Selector:** `ul[eclStoryCardList]`
15
+
16
+ ## Inputs
17
+ - **class**: `string` -
18
+ - **e2eAttr**: `any` -
19
+ - **tabindex**: `number` -
@@ -0,0 +1,22 @@
1
+ # EclStoryCardPictureDirective
2
+
3
+ **Type:** directive
4
+
5
+
6
+
7
+ Directive applied to <picture> elements inside a story card item.
8
+ Adds the ECL picture classes.
9
+
10
+ ```html
11
+ <picture eclStoryCardPicture>
12
+ <source srcset="..." media="(max-width: 50rem)">
13
+ <img src="..." alt="...">
14
+ </picture>
15
+ ```
16
+
17
+ **Selector:** `picture[eclStoryCardPicture]`
18
+
19
+ ## Inputs
20
+ - **class**: `string` -
21
+ - **e2eAttr**: `any` -
22
+ - **tabindex**: `number` -