@eui/ecl 22.0.0-alpha.51 → 22.0.0-alpha.53

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 (189) hide show
  1. package/assets/i18n-ecl/bg.json +6 -2
  2. package/assets/i18n-ecl/cs.json +6 -2
  3. package/assets/i18n-ecl/da.json +6 -2
  4. package/assets/i18n-ecl/de.json +6 -2
  5. package/assets/i18n-ecl/el.json +6 -2
  6. package/assets/i18n-ecl/en.json +6 -2
  7. package/assets/i18n-ecl/es.json +6 -2
  8. package/assets/i18n-ecl/et.json +6 -2
  9. package/assets/i18n-ecl/fi.json +6 -2
  10. package/assets/i18n-ecl/fr.json +6 -2
  11. package/assets/i18n-ecl/ga.json +6 -2
  12. package/assets/i18n-ecl/hr.json +6 -2
  13. package/assets/i18n-ecl/hu.json +6 -2
  14. package/assets/i18n-ecl/it.json +6 -2
  15. package/assets/i18n-ecl/lt.json +6 -2
  16. package/assets/i18n-ecl/lv.json +6 -2
  17. package/assets/i18n-ecl/mt.json +6 -2
  18. package/assets/i18n-ecl/nl.json +6 -2
  19. package/assets/i18n-ecl/pl.json +6 -2
  20. package/assets/i18n-ecl/pt.json +6 -2
  21. package/assets/i18n-ecl/ro.json +6 -2
  22. package/assets/i18n-ecl/sk.json +6 -2
  23. package/assets/i18n-ecl/sl.json +6 -2
  24. package/assets/i18n-ecl/sv.json +6 -2
  25. package/components/ecl-slider/package.json +4 -0
  26. package/docs/changelog.html +29 -0
  27. package/docs/components/EclAccordionSummaryComponent.html +1 -1
  28. package/docs/components/EclAddToCalendarComponent.html +1 -1
  29. package/docs/components/EclAnimatedNumbersComponent.html +1 -1
  30. package/docs/components/EclAnimatedNumbersItemComponent.html +1 -1
  31. package/docs/components/EclAppComponent.html +1 -1
  32. package/docs/components/EclBannerComponent.html +1 -1
  33. package/docs/components/EclBlockquoteComponent.html +1 -1
  34. package/docs/components/EclBreadcrumbComponent.html +1 -1
  35. package/docs/components/EclBreadcrumbSegmentComponent.html +1 -1
  36. package/docs/components/EclButtonComponent.html +1 -1
  37. package/docs/components/EclCardBodyComponent.html +1 -1
  38. package/docs/components/EclCardComponent.html +1 -1
  39. package/docs/components/EclCarouselComponent.html +182 -898
  40. package/docs/components/EclCarouselItemComponent.html +32 -1
  41. package/docs/components/EclCategoryFilterComponent.html +1 -1
  42. package/docs/components/EclCategoryFilterItemComponent.html +1 -1
  43. package/docs/components/EclCategoryFilterListComponent.html +1 -1
  44. package/docs/components/EclCheckboxHelpComponent.html +1 -1
  45. package/docs/components/EclCheckboxLabelComponent.html +1 -1
  46. package/docs/components/EclContentBlockComponent.html +1 -1
  47. package/docs/components/EclContentItemComponent.html +1 -1
  48. package/docs/components/EclDateBlockComponent.html +1 -1
  49. package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
  50. package/docs/components/EclExpandableComponent.html +1 -1
  51. package/docs/components/EclFactFiguresComponent.html +1 -1
  52. package/docs/components/EclFactFiguresItemComponent.html +1 -1
  53. package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
  54. package/docs/components/EclFeaturedComponent.html +1 -1
  55. package/docs/components/EclFeaturedItemComponent.html +1 -1
  56. package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
  57. package/docs/components/EclFileComponent.html +1 -1
  58. package/docs/components/EclFileItemComponent.html +1 -1
  59. package/docs/components/EclFileItemsComponent.html +1 -1
  60. package/docs/components/EclFileListsComponent.html +1 -1
  61. package/docs/components/EclFormGroupComponent.html +1 -1
  62. package/docs/components/EclFormLabelComponent.html +1 -1
  63. package/docs/components/EclGalleryComponent.html +1 -1
  64. package/docs/components/EclGalleryFooterComponent.html +1 -1
  65. package/docs/components/EclGalleryItemComponent.html +1 -1
  66. package/docs/components/EclHighlightBoxComponent.html +1 -1
  67. package/docs/components/EclHighlightedSearchComponent.html +1 -1
  68. package/docs/components/EclIconComponent.html +1 -10
  69. package/docs/components/EclIndicatorComponent.html +1 -1
  70. package/docs/components/EclInpageNavigationComponent.html +1 -1
  71. package/docs/components/EclInpageNavigationItemComponent.html +1 -1
  72. package/docs/components/EclLayoutWrapperComponent.html +1 -1
  73. package/docs/components/EclListIllustrationComponent.html +1 -1
  74. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  75. package/docs/components/EclLoadingIndicatorComponent.html +1 -1
  76. package/docs/components/EclMediaContainerComponent.html +1 -1
  77. package/docs/components/EclMegaMenuComponent.html +1 -1
  78. package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
  79. package/docs/components/EclMegaMenuInfoComponent.html +1 -1
  80. package/docs/components/EclMegaMenuItemComponent.html +1 -1
  81. package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
  82. package/docs/components/EclMenuComponent.html +1 -1
  83. package/docs/components/EclMenuItemComponent.html +1 -1
  84. package/docs/components/EclMenuMegaComponent.html +1 -1
  85. package/docs/components/EclMenuMegaItemComponent.html +1 -1
  86. package/docs/components/EclModalBodyComponent.html +1 -1
  87. package/docs/components/EclModalComponent.html +1 -1
  88. package/docs/components/EclModalFooterComponent.html +1 -1
  89. package/docs/components/EclModalHeaderComponent.html +1 -1
  90. package/docs/components/EclMultiselectComponent.html +1 -1
  91. package/docs/components/EclMultiselectDropdownComponent.html +1 -1
  92. package/docs/components/EclMultiselectInputComponent.html +1 -1
  93. package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
  94. package/docs/components/EclMultiselectOptionComponent.html +1 -1
  95. package/docs/components/EclNavigationListComponent.html +1 -1
  96. package/docs/components/EclNavigationListItemComponent.html +1 -1
  97. package/docs/components/EclNewsTickerComponent.html +1 -1
  98. package/docs/components/EclNewsTickerItemComponent.html +1 -1
  99. package/docs/components/EclNotificationComponent.html +1 -1
  100. package/docs/components/EclPageHeaderComponent.html +1 -1
  101. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +1 -1
  102. package/docs/components/EclPageHeaderExpandableComponent.html +1 -1
  103. package/docs/components/EclPageHeaderSectionComponent.html +1 -1
  104. package/docs/components/EclPageHeaderSectionInfoComponent.html +1 -1
  105. package/docs/components/EclPageSummaryComponent.html +1 -1
  106. package/docs/components/EclPaginationComponent.html +1 -1
  107. package/docs/components/EclPaginationItemComponent.html +1 -1
  108. package/docs/components/EclPopoverComponent.html +1 -1
  109. package/docs/components/EclQuizCardComponent.html +113 -44
  110. package/docs/components/EclQuizComponent.html +4 -9
  111. package/docs/components/EclRadioLabelComponent.html +1 -1
  112. package/docs/components/EclRangeBubbleComponent.html +1 -1
  113. package/docs/components/EclRangeValueComponent.html +1 -1
  114. package/docs/components/EclRatingFieldComponent.html +1 -1
  115. package/docs/components/EclSearchFormComponent.html +1 -1
  116. package/docs/components/EclSelectContainerComponent.html +1 -1
  117. package/docs/components/EclSiteFooterComponent.html +1 -1
  118. package/docs/components/EclSiteFooterCoownerComponent.html +1 -1
  119. package/docs/components/EclSiteFooterCoreComponent.html +1 -1
  120. package/docs/components/EclSiteFooterFeedbackComponent.html +1 -1
  121. package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
  122. package/docs/components/EclSiteFooterRowCommonComponent.html +1 -1
  123. package/docs/components/EclSiteHeaderActionComponent.html +1 -1
  124. package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
  125. package/docs/components/EclSiteHeaderComponent.html +1 -1
  126. package/docs/components/EclSiteHeaderCustomActionComponent.html +1 -1
  127. package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
  128. package/docs/components/EclSiteHeaderLanguageComponent.html +1 -1
  129. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
  130. package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
  131. package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
  132. package/docs/components/EclSiteHeaderSearchComponent.html +1 -1
  133. package/docs/components/EclSliderPagerComponent.html +1159 -0
  134. package/docs/components/EclSloganTickerComponent.html +1 -1
  135. package/docs/components/EclSocialMediaFollowComponent.html +1 -1
  136. package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
  137. package/docs/components/EclSplashPageComponent.html +1 -1
  138. package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
  139. package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
  140. package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
  141. package/docs/components/EclSpotlightComponent.html +1 -1
  142. package/docs/components/EclSpotlightLinkComponent.html +1 -1
  143. package/docs/components/EclStickyContainerComponent.html +1 -1
  144. package/docs/components/EclStoryCardComponent.html +4 -4
  145. package/docs/components/EclStoryCardGridDetailsComponent.html +57 -2
  146. package/docs/components/EclStoryCardItemComponent.html +77 -2
  147. package/docs/components/EclTabComponent.html +1 -1
  148. package/docs/components/EclTabLabelComponent.html +1 -1
  149. package/docs/components/EclTableSortButtonComponent.html +1 -1
  150. package/docs/components/EclTabsComponent.html +1 -1
  151. package/docs/components/EclTagComponent.html +1 -1
  152. package/docs/components/EclTextMediaComponent.html +1 -1
  153. package/docs/components/EclTimelineComponent.html +1 -1
  154. package/docs/components/EclTimelineItemComponent.html +1 -1
  155. package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
  156. package/docs/js/menu-wc.js +3 -0
  157. package/docs/js/search/search_index.js +2 -2
  158. package/docs/json/EclCarouselComponent.md +8 -4
  159. package/docs/json/EclCarouselItemComponent.md +1 -0
  160. package/docs/json/EclQuizCardComponent.md +6 -3
  161. package/docs/json/EclSliderPagerComponent.md +55 -0
  162. package/docs/json/EclStoryCardGridDetailsComponent.md +1 -0
  163. package/docs/json/EclStoryCardItemComponent.md +1 -0
  164. package/docs/json/documentation.json +1889 -565
  165. package/docs/llms.txt +67 -32
  166. package/docs/miscellaneous/variables.html +112 -0
  167. package/docs/overview.html +1 -1
  168. package/docs/properties.html +1 -1
  169. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +405 -407
  170. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  171. package/fesm2022/eui-ecl-components-ecl-menu.mjs +15 -15
  172. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  173. package/fesm2022/eui-ecl-components-ecl-quiz.mjs +93 -55
  174. package/fesm2022/eui-ecl-components-ecl-quiz.mjs.map +1 -1
  175. package/fesm2022/eui-ecl-components-ecl-slider.mjs +187 -0
  176. package/fesm2022/eui-ecl-components-ecl-slider.mjs.map +1 -0
  177. package/fesm2022/eui-ecl-components-ecl-story-card.mjs +96 -18
  178. package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
  179. package/package.json +18 -12
  180. package/types/eui-ecl-components-ecl-carousel.d.ts +234 -202
  181. package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
  182. package/types/eui-ecl-components-ecl-menu.d.ts +0 -2
  183. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
  184. package/types/eui-ecl-components-ecl-quiz.d.ts +94 -57
  185. package/types/eui-ecl-components-ecl-quiz.d.ts.map +1 -1
  186. package/types/eui-ecl-components-ecl-slider.d.ts +118 -0
  187. package/types/eui-ecl-components-ecl-slider.d.ts.map +1 -0
  188. package/types/eui-ecl-components-ecl-story-card.d.ts +78 -48
  189. package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -1
@@ -8,21 +8,25 @@ Carousel (slideshow) component following the ECL design system.
8
8
  Renders a sequence of `EclCarouselItemComponent` slides with autoplay, keyboard navigation,
9
9
  responsive breakpoint awareness, and RTL layout support.
10
10
 
11
+ The slide engine is powered by Embla (via `embla-carousel-angular`), matching the upstream
12
+ ECL implementation: an infinite `loop`, the `Autoplay` plugin driving the teaser loading bars,
13
+ and a slider pager with previous/next/play/pause controls, a counter, and a tablist of teaser
14
+ buttons (one per slide).
15
+
11
16
  - Selector: `ecl-carousel`.
12
17
  - Project `ecl-carousel-item` elements as slides (also via `contentChildren`).
13
- - `ariaLabel` — ARIA label for the carousel landmark; aliased as `aria-label`; default `'Carousel description here'`.
18
+ - `ariaLabel` — ARIA label for the carousel landmark; aliased as `aria-label`.
14
19
  - `isAutoplay` — enables automatic slide advancement; boolean attribute.
15
20
  - `playInterval` — milliseconds between automatic transitions; default `5000`.
21
+ - `counterLabel` — separator label used by the counter, defaults to `ecl.common.OF`.
16
22
  - `slide` — emits `EclSlideEvent` when the active slide changes.
17
- - `isPlaying` / `isPausedForced` — public flags reflecting playback state.
18
- - `isRtl` — public flag reflecting RTL mode.
19
- - Navigation controls and play/pause buttons are rendered internally.
20
23
 
21
24
 
22
25
  **Selector:** `ecl-carousel`
23
26
 
24
27
  ## Inputs
25
28
  - **aria-label**: `string | null` - Aria-label for screen readers to describe the carousel.
29
+ - **counterLabel**: `string` - Separator label used by the counter, e.g. the "of" in "1 of 5". Defaults to the translated `ecl.common.OF` key.
26
30
  - **isAutoplay**: `boolean` - Determines whether the carousel should autoplay.
27
31
  - **playInterval**: `number` - Interval in milliseconds between automatic slide transitions.
28
32
  - **class**: `string` -
@@ -22,6 +22,7 @@ the `inert` attribute so only the active slide is interactive.
22
22
  ## Inputs
23
23
  - **id**: `string` - The unique identifier of the slide.
24
24
  - **isCurrent**: `boolean` - Input controlling whether this slide starts as the active/visible one. Automatically coerced to a boolean value.
25
+ - **teaserText**: `string` - Text shown in the carousel teaser (navigation) button for this slide. Optional; when empty, no teaser label is rendered for the slide.
25
26
  - **class**: `string` -
26
27
  - **e2eAttr**: `string` -
27
28
  - **tabindex**: `undefined` -
@@ -15,10 +15,13 @@ For the 'poll' variant, individual options trigger the flip.
15
15
  ## Inputs
16
16
  - **answer**: `string` - The answer text displayed on the back of the card. Used in 'reveal' variant or as explanation in 'poll' variant.
17
17
  - **answerTitle**: `string` - The answer title (e.g. "The correct answer is A.") for poll variant.
18
- - **category**: `string` - Category label displayed in the card header (poll variant).
19
- - **icon**: `string` - Icon name for the card header. Defaults to 'sparkle' for reveal, 'question' for poll.
20
- - **iconSize**: `"xs" | "s" | "m" | "l" | "xl" | "2xl"` - Icon size for the card header.
18
+ - **category**: `string` - Category label displayed in the card header (poll variant). category label (it is no longer part of the markup or styled by `@eui/styles`); the back of the card now relies on the answer title and the success/error result icons. This input is kept only to preserve the public API and no longer renders anything. To be removed in v22.x.
19
+ - **icon**: `string` - Icon name for the card header. Defaults to 'sparkle' for reveal, 'question-mark' for poll.
20
+ - **iconSize**: `'' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl'` - Icon size for the card header. When empty, a variant-based default is used ('xl' for poll, 'l' for reveal).
21
21
  - **id**: `string` - Unique identifier for the card, used for accessibility attributes. If not provided, a unique ID is generated automatically.
22
+ - **imageAlt**: `string` - Alternative text for the card image.
23
+ - **imageDisplay**: `"none" | "back" | "always"` - Controls where the image/illustration is displayed: - 'none': no image (default) - 'back': image only on the back; for poll variant an animated question-mark illustration is shown on the front - 'always': image on both front and back
24
+ - **imageSrc**: `string` - Image source for the card. When set together with a supported {@link imageDisplay} mode, a picture is rendered on the card.
22
25
  - **options**: `{ text: string; match: boolean }[]` - Options for the poll variant. Each option has text and a match flag.
23
26
  - **question**: `string` - The question text displayed on the front of the card.
24
27
  - **class**: `string` -
@@ -0,0 +1,55 @@
1
+ # EclSliderPagerComponent
2
+
3
+ **Type:** component
4
+
5
+
6
+
7
+ ECL Slider Pager component.
8
+
9
+ A presentational navigation strip (previous / dots / optional play-pause / next)
10
+ shared by slider-like components such as quiz, story-card and carousel.
11
+
12
+ It is intentionally self-contained and framework-presentational:
13
+ - It owns no carousel. The parent owns its own source of truth (e.g. an Embla
14
+ carousel or an accordion state) and maps that state onto this component's inputs.
15
+ - It only renders markup and emits intent through its outputs
16
+ (`prev`, `next`, `goTo`, `play`, `pause`).
17
+
18
+ For the `play-pause` variant the DOM order is `play/pause -> prev -> next`, so
19
+ keyboard/screen-reader focus reaches the play/pause control first (accessibility
20
+ requirement, see FRONT-5436). For the `dots` variant the DOM order stays
21
+ `prev -> dots -> next`. The visual skeleton `prev -> [middle] -> next` is
22
+ preserved via CSS `order` on the per-slot classes.
23
+
24
+ Styling (including the `order` rules that restore the visual layout) is provided
25
+ by the shared `ecl-slider-pager__*` classes shipped in `@eui/styles`.
26
+
27
+
28
+ **Selector:** `ecl-slider-pager`
29
+
30
+ ## Inputs
31
+ - **activeIndex**: `number` - Index of the currently active dot.
32
+ - **dotAriaLabels**: `string[]` - Accessible label for each dot, indexed by dot index. The parent is responsible for computing these (e.g. "Show slides 1 to 3 of 5"), since the wording depends on the parent's slide grouping and translations.
33
+ - **dotExtraClasses**: `string` -
34
+ - **dotIndices**: `number[]` - Indices of the dots to render. Length determines the number of dots.
35
+ - **dotsExtraClasses**: `string` -
36
+ - **isNextDisabled**: `boolean` - Whether the next button is disabled.
37
+ - **isPlaying**: `boolean` - Whether playback is currently active (controls play/pause visibility).
38
+ - **isPrevDisabled**: `boolean` - Whether the previous button is disabled.
39
+ - **nextExtraClasses**: `string` -
40
+ - **pauseExtraClasses**: `string` -
41
+ - **playExtraClasses**: `string` -
42
+ - **prevExtraClasses**: `string` - Component-scoped extra classes applied per slot, alongside the shared `ecl-slider-pager__*` classes. Consumers use these to attach their own BEM classes (e.g. `ecl-story-card__next`) so component-specific styles in `@eui/styles` can target a given slot.
43
+ - **size**: `"s" | "m" | "l"` - Size of the prev/next (and play/pause) buttons.
44
+ - **variant**: `"dots" | "play-pause" | "play-pause-dots"` - Which controls to render: - `'dots'`: prev / dots / next. - `'play-pause'`: play-pause / prev / next. - `'play-pause-dots'`: play-pause / prev / dots / next. Used by the carousel, which shows play/pause + teasers on desktop and the dots strip on mobile (the ECL CSS toggles which parts are visible per breakpoint).
45
+ - **class**: `string` -
46
+ - **e2eAttr**: `string` -
47
+ - **tabindex**: `undefined` -
48
+
49
+ ## Outputs
50
+ - **goTo**: `number` - Emitted when a dot is activated. Payload is the dot index.
51
+ - **next**: `void` - Emitted when the next button is activated.
52
+ - **pause**: `void` - Emitted when the pause button is activated.
53
+ - **play**: `void` - Emitted when the play button is activated.
54
+ - **prev**: `void` - Emitted when the previous button is activated.
55
+ - **class**: `string` -
@@ -23,6 +23,7 @@ For the `'testimonial'` variant, additional `author`, `role`, and `source` input
23
23
  - **eclTitle**: `string` - Title shown in the details panel.
24
24
  - **role**: `string` - Author role/position for the testimonial variant.
25
25
  - **source**: `string` - Publication source for the testimonial variant.
26
+ - **teaserLabel**: `string` - Optional teaser label shown above the title. Hidden by CSS in the testimonial variant.
26
27
  - **class**: `string` -
27
28
  - **e2eAttr**: `string` -
28
29
  - **tabindex**: `undefined` -
@@ -28,5 +28,6 @@ For the mobile carousel, the parent `EclStoryCardComponent` clones the projected
28
28
 
29
29
  ## Outputs
30
30
  - **itemClick**: `number` - Emitted when the tab button is clicked; payload is this item's index.
31
+ - **keydownTab**: `KeyboardEvent` - Emitted when a keydown occurs on the tab button. The parent story card orchestrates keyboard navigation (arrows, Home, End) across all items.
31
32
  - **loadingBarAnimationEnd**: `void` - Emitted when the loading bar CSS animation ends, signalling to advance to the next item.
32
33
  - **class**: `string` -