@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.
- package/assets/i18n-ecl/bg.json +6 -2
- package/assets/i18n-ecl/cs.json +6 -2
- package/assets/i18n-ecl/da.json +6 -2
- package/assets/i18n-ecl/de.json +6 -2
- package/assets/i18n-ecl/el.json +6 -2
- package/assets/i18n-ecl/en.json +6 -2
- package/assets/i18n-ecl/es.json +6 -2
- package/assets/i18n-ecl/et.json +6 -2
- package/assets/i18n-ecl/fi.json +6 -2
- package/assets/i18n-ecl/fr.json +6 -2
- package/assets/i18n-ecl/ga.json +6 -2
- package/assets/i18n-ecl/hr.json +6 -2
- package/assets/i18n-ecl/hu.json +6 -2
- package/assets/i18n-ecl/it.json +6 -2
- package/assets/i18n-ecl/lt.json +6 -2
- package/assets/i18n-ecl/lv.json +6 -2
- package/assets/i18n-ecl/mt.json +6 -2
- package/assets/i18n-ecl/nl.json +6 -2
- package/assets/i18n-ecl/pl.json +6 -2
- package/assets/i18n-ecl/pt.json +6 -2
- package/assets/i18n-ecl/ro.json +6 -2
- package/assets/i18n-ecl/sk.json +6 -2
- package/assets/i18n-ecl/sl.json +6 -2
- package/assets/i18n-ecl/sv.json +6 -2
- package/components/ecl-slider/package.json +4 -0
- package/docs/changelog.html +29 -0
- package/docs/components/EclAccordionSummaryComponent.html +1 -1
- package/docs/components/EclAddToCalendarComponent.html +1 -1
- package/docs/components/EclAnimatedNumbersComponent.html +1 -1
- package/docs/components/EclAnimatedNumbersItemComponent.html +1 -1
- package/docs/components/EclAppComponent.html +1 -1
- package/docs/components/EclBannerComponent.html +1 -1
- package/docs/components/EclBlockquoteComponent.html +1 -1
- package/docs/components/EclBreadcrumbComponent.html +1 -1
- package/docs/components/EclBreadcrumbSegmentComponent.html +1 -1
- package/docs/components/EclButtonComponent.html +1 -1
- package/docs/components/EclCardBodyComponent.html +1 -1
- package/docs/components/EclCardComponent.html +1 -1
- package/docs/components/EclCarouselComponent.html +182 -898
- package/docs/components/EclCarouselItemComponent.html +32 -1
- package/docs/components/EclCategoryFilterComponent.html +1 -1
- package/docs/components/EclCategoryFilterItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterListComponent.html +1 -1
- package/docs/components/EclCheckboxHelpComponent.html +1 -1
- package/docs/components/EclCheckboxLabelComponent.html +1 -1
- package/docs/components/EclContentBlockComponent.html +1 -1
- package/docs/components/EclContentItemComponent.html +1 -1
- package/docs/components/EclDateBlockComponent.html +1 -1
- package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
- package/docs/components/EclExpandableComponent.html +1 -1
- package/docs/components/EclFactFiguresComponent.html +1 -1
- package/docs/components/EclFactFiguresItemComponent.html +1 -1
- package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
- package/docs/components/EclFeaturedComponent.html +1 -1
- package/docs/components/EclFeaturedItemComponent.html +1 -1
- package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
- package/docs/components/EclFileComponent.html +1 -1
- package/docs/components/EclFileItemComponent.html +1 -1
- package/docs/components/EclFileItemsComponent.html +1 -1
- package/docs/components/EclFileListsComponent.html +1 -1
- package/docs/components/EclFormGroupComponent.html +1 -1
- package/docs/components/EclFormLabelComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +1 -1
- package/docs/components/EclGalleryFooterComponent.html +1 -1
- package/docs/components/EclGalleryItemComponent.html +1 -1
- package/docs/components/EclHighlightBoxComponent.html +1 -1
- package/docs/components/EclHighlightedSearchComponent.html +1 -1
- package/docs/components/EclIconComponent.html +1 -10
- package/docs/components/EclIndicatorComponent.html +1 -1
- package/docs/components/EclInpageNavigationComponent.html +1 -1
- package/docs/components/EclInpageNavigationItemComponent.html +1 -1
- package/docs/components/EclLayoutWrapperComponent.html +1 -1
- package/docs/components/EclListIllustrationComponent.html +1 -1
- package/docs/components/EclListIllustrationItemComponent.html +1 -1
- package/docs/components/EclLoadingIndicatorComponent.html +1 -1
- package/docs/components/EclMediaContainerComponent.html +1 -1
- package/docs/components/EclMegaMenuComponent.html +1 -1
- package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
- package/docs/components/EclMegaMenuInfoComponent.html +1 -1
- package/docs/components/EclMegaMenuItemComponent.html +1 -1
- package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
- package/docs/components/EclMenuComponent.html +1 -1
- package/docs/components/EclMenuItemComponent.html +1 -1
- package/docs/components/EclMenuMegaComponent.html +1 -1
- package/docs/components/EclMenuMegaItemComponent.html +1 -1
- package/docs/components/EclModalBodyComponent.html +1 -1
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclModalFooterComponent.html +1 -1
- package/docs/components/EclModalHeaderComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +1 -1
- package/docs/components/EclMultiselectDropdownComponent.html +1 -1
- package/docs/components/EclMultiselectInputComponent.html +1 -1
- package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
- package/docs/components/EclMultiselectOptionComponent.html +1 -1
- package/docs/components/EclNavigationListComponent.html +1 -1
- package/docs/components/EclNavigationListItemComponent.html +1 -1
- package/docs/components/EclNewsTickerComponent.html +1 -1
- package/docs/components/EclNewsTickerItemComponent.html +1 -1
- package/docs/components/EclNotificationComponent.html +1 -1
- package/docs/components/EclPageHeaderComponent.html +1 -1
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +1 -1
- package/docs/components/EclPageHeaderExpandableComponent.html +1 -1
- package/docs/components/EclPageHeaderSectionComponent.html +1 -1
- package/docs/components/EclPageHeaderSectionInfoComponent.html +1 -1
- package/docs/components/EclPageSummaryComponent.html +1 -1
- package/docs/components/EclPaginationComponent.html +1 -1
- package/docs/components/EclPaginationItemComponent.html +1 -1
- package/docs/components/EclPopoverComponent.html +1 -1
- package/docs/components/EclQuizCardComponent.html +113 -44
- package/docs/components/EclQuizComponent.html +4 -9
- package/docs/components/EclRadioLabelComponent.html +1 -1
- package/docs/components/EclRangeBubbleComponent.html +1 -1
- package/docs/components/EclRangeValueComponent.html +1 -1
- package/docs/components/EclRatingFieldComponent.html +1 -1
- package/docs/components/EclSearchFormComponent.html +1 -1
- package/docs/components/EclSelectContainerComponent.html +1 -1
- package/docs/components/EclSiteFooterComponent.html +1 -1
- package/docs/components/EclSiteFooterCoownerComponent.html +1 -1
- package/docs/components/EclSiteFooterCoreComponent.html +1 -1
- package/docs/components/EclSiteFooterFeedbackComponent.html +1 -1
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
- package/docs/components/EclSiteFooterRowCommonComponent.html +1 -1
- package/docs/components/EclSiteHeaderActionComponent.html +1 -1
- package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
- package/docs/components/EclSiteHeaderComponent.html +1 -1
- package/docs/components/EclSiteHeaderCustomActionComponent.html +1 -1
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
- package/docs/components/EclSiteHeaderLanguageComponent.html +1 -1
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
- package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
- package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
- package/docs/components/EclSiteHeaderSearchComponent.html +1 -1
- package/docs/components/EclSliderPagerComponent.html +1159 -0
- package/docs/components/EclSloganTickerComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
- package/docs/components/EclSplashPageComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
- package/docs/components/EclSpotlightComponent.html +1 -1
- package/docs/components/EclSpotlightLinkComponent.html +1 -1
- package/docs/components/EclStickyContainerComponent.html +1 -1
- package/docs/components/EclStoryCardComponent.html +4 -4
- package/docs/components/EclStoryCardGridDetailsComponent.html +57 -2
- package/docs/components/EclStoryCardItemComponent.html +77 -2
- package/docs/components/EclTabComponent.html +1 -1
- package/docs/components/EclTabLabelComponent.html +1 -1
- package/docs/components/EclTableSortButtonComponent.html +1 -1
- package/docs/components/EclTabsComponent.html +1 -1
- package/docs/components/EclTagComponent.html +1 -1
- package/docs/components/EclTextMediaComponent.html +1 -1
- package/docs/components/EclTimelineComponent.html +1 -1
- package/docs/components/EclTimelineItemComponent.html +1 -1
- package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
- package/docs/js/menu-wc.js +3 -0
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclCarouselComponent.md +8 -4
- package/docs/json/EclCarouselItemComponent.md +1 -0
- package/docs/json/EclQuizCardComponent.md +6 -3
- package/docs/json/EclSliderPagerComponent.md +55 -0
- package/docs/json/EclStoryCardGridDetailsComponent.md +1 -0
- package/docs/json/EclStoryCardItemComponent.md +1 -0
- package/docs/json/documentation.json +1889 -565
- package/docs/llms.txt +67 -32
- package/docs/miscellaneous/variables.html +112 -0
- package/docs/overview.html +1 -1
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +405 -407
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +15 -15
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-quiz.mjs +93 -55
- package/fesm2022/eui-ecl-components-ecl-quiz.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-slider.mjs +187 -0
- package/fesm2022/eui-ecl-components-ecl-slider.mjs.map +1 -0
- package/fesm2022/eui-ecl-components-ecl-story-card.mjs +96 -18
- package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
- package/package.json +18 -12
- package/types/eui-ecl-components-ecl-carousel.d.ts +234 -202
- package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-menu.d.ts +0 -2
- package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-quiz.d.ts +94 -57
- package/types/eui-ecl-components-ecl-quiz.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-slider.d.ts +118 -0
- package/types/eui-ecl-components-ecl-slider.d.ts.map +1 -0
- package/types/eui-ecl-components-ecl-story-card.d.ts +78 -48
- package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { WritableSignal, Signal,
|
|
2
|
+
import { WritableSignal, Signal, OnInit, OnDestroy, AfterContentInit, ElementRef } from '@angular/core';
|
|
3
3
|
import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
|
|
4
|
+
import { EmblaOptionsType, EmblaPluginType, EmblaEventType } from 'embla-carousel';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Interface implemented by `EclCarouselItemComponent`.
|
|
@@ -28,78 +29,23 @@ declare class EclSlideEvent extends EclBaseEvent {
|
|
|
28
29
|
constructor(item: EclCarouselItem);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
/**
|
|
32
|
-
* Single slide item for use inside an `EclCarouselComponent`.
|
|
33
|
-
* Renders a `role="tabpanel"` element with an `aria-roledescription="slide"` and handles
|
|
34
|
-
* the `inert` attribute so only the active slide is interactive.
|
|
35
|
-
*
|
|
36
|
-
* - Selector: `ecl-carousel-item`.
|
|
37
|
-
* - `id` — optional unique identifier; used by the carousel for navigation buttons.
|
|
38
|
-
* - `isCurrent` (input alias) — initial active state; kept as a `linkedSignal` so the parent
|
|
39
|
-
* carousel can update it imperatively as the user navigates.
|
|
40
|
-
* - `slideClick` — emits `EclSlideEvent` when the slide is clicked.
|
|
41
|
-
* - `index` / `ariaLabel` — writable signals assigned by the parent carousel.
|
|
42
|
-
* - Project an optional `EclBannerComponent` inside the slide for banner-style slides.
|
|
43
|
-
*/
|
|
44
|
-
declare class EclCarouselItemComponent extends ECLBaseDirective implements EclCarouselItem {
|
|
45
|
-
el: ElementRef<any>;
|
|
46
|
-
/**
|
|
47
|
-
* The aria-label for the slide, assigned dynamically by the carousel.
|
|
48
|
-
*/
|
|
49
|
-
readonly ariaLabel: _angular_core.WritableSignal<string>;
|
|
50
|
-
/**
|
|
51
|
-
* The unique identifier of the slide.
|
|
52
|
-
*/
|
|
53
|
-
readonly id: _angular_core.InputSignal<string>;
|
|
54
|
-
/**
|
|
55
|
-
* Input controlling whether this slide starts as the active/visible one.
|
|
56
|
-
* Automatically coerced to a boolean value.
|
|
57
|
-
*/
|
|
58
|
-
readonly isCurrentInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
59
|
-
/**
|
|
60
|
-
* Indicates whether this slide is currently active/visible.
|
|
61
|
-
* Seeded from the `isCurrent` input but can be updated imperatively by the
|
|
62
|
-
* parent carousel as the user navigates between slides.
|
|
63
|
-
*/
|
|
64
|
-
readonly isCurrent: _angular_core.WritableSignal<boolean>;
|
|
65
|
-
/**
|
|
66
|
-
* Emits an event when the slide is clicked.
|
|
67
|
-
*/
|
|
68
|
-
readonly slideClick: _angular_core.OutputEmitterRef<EclSlideEvent>;
|
|
69
|
-
/**
|
|
70
|
-
* Optionally captures a banner component projected into the slide.
|
|
71
|
-
*/
|
|
72
|
-
readonly banner: _angular_core.Signal<any>;
|
|
73
|
-
/**
|
|
74
|
-
* Internal slide index, assigned dynamically by the carousel.
|
|
75
|
-
*/
|
|
76
|
-
readonly index: _angular_core.WritableSignal<number>;
|
|
77
|
-
/**
|
|
78
|
-
* Computes the slide's CSS class.
|
|
79
|
-
*/
|
|
80
|
-
protected readonly cssClasses: _angular_core.Signal<string>;
|
|
81
|
-
/**
|
|
82
|
-
* Handles click events on the slide and emits a slideClick event.
|
|
83
|
-
*/
|
|
84
|
-
onSlideClick(): void;
|
|
85
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclCarouselItemComponent, never>;
|
|
86
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclCarouselItemComponent, "ecl-carousel-item", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "isCurrentInput": { "alias": "isCurrent"; "required": false; "isSignal": true; }; }, { "slideClick": "slideClick"; }, ["banner"], ["*"], true, never>;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
32
|
/**
|
|
90
33
|
* Carousel (slideshow) component following the ECL design system.
|
|
91
34
|
* Renders a sequence of `EclCarouselItemComponent` slides with autoplay, keyboard navigation,
|
|
92
35
|
* responsive breakpoint awareness, and RTL layout support.
|
|
93
36
|
*
|
|
37
|
+
* The slide engine is powered by Embla (via `embla-carousel-angular`), matching the upstream
|
|
38
|
+
* ECL implementation: an infinite `loop`, the `Autoplay` plugin driving the teaser loading bars,
|
|
39
|
+
* and a slider pager with previous/next/play/pause controls, a counter, and a tablist of teaser
|
|
40
|
+
* buttons (one per slide).
|
|
41
|
+
*
|
|
94
42
|
* - Selector: `ecl-carousel`.
|
|
95
43
|
* - Project `ecl-carousel-item` elements as slides (also via `contentChildren`).
|
|
96
|
-
* - `ariaLabel` — ARIA label for the carousel landmark; aliased as `aria-label
|
|
44
|
+
* - `ariaLabel` — ARIA label for the carousel landmark; aliased as `aria-label`.
|
|
97
45
|
* - `isAutoplay` — enables automatic slide advancement; boolean attribute.
|
|
98
46
|
* - `playInterval` — milliseconds between automatic transitions; default `5000`.
|
|
47
|
+
* - `counterLabel` — separator label used by the counter, defaults to `ecl.common.OF`.
|
|
99
48
|
* - `slide` — emits `EclSlideEvent` when the active slide changes.
|
|
100
|
-
* - `isPlaying` / `isPausedForced` — public flags reflecting playback state.
|
|
101
|
-
* - `isRtl` — public flag reflecting RTL mode.
|
|
102
|
-
* - Navigation controls and play/pause buttons are rendered internally.
|
|
103
49
|
*/
|
|
104
50
|
declare class EclCarouselComponent extends ECLBaseDirective implements OnInit, OnDestroy, AfterContentInit {
|
|
105
51
|
/**
|
|
@@ -114,12 +60,17 @@ declare class EclCarouselComponent extends ECLBaseDirective implements OnInit, O
|
|
|
114
60
|
* Interval in milliseconds between automatic slide transitions.
|
|
115
61
|
*/
|
|
116
62
|
readonly playInterval: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
63
|
+
/**
|
|
64
|
+
* Separator label used by the counter, e.g. the "of" in "1 of 5".
|
|
65
|
+
* Defaults to the translated `ecl.common.OF` key.
|
|
66
|
+
*/
|
|
67
|
+
readonly counterLabel: _angular_core.InputSignal<string>;
|
|
117
68
|
/**
|
|
118
69
|
* Event emitted when a slide change occurs.
|
|
119
70
|
*/
|
|
120
71
|
readonly slide: _angular_core.OutputEmitterRef<EclSlideEvent>;
|
|
121
72
|
/**
|
|
122
|
-
* Reference to the main carousel
|
|
73
|
+
* Reference to the main carousel viewport element (the Embla root).
|
|
123
74
|
*/
|
|
124
75
|
readonly carouselContainerElement: _angular_core.Signal<ElementRef<any>>;
|
|
125
76
|
/**
|
|
@@ -127,71 +78,98 @@ declare class EclCarouselComponent extends ECLBaseDirective implements OnInit, O
|
|
|
127
78
|
*/
|
|
128
79
|
readonly slides: _angular_core.Signal<readonly any[]>;
|
|
129
80
|
/**
|
|
130
|
-
*
|
|
81
|
+
* Indicates whether autoplay is currently active.
|
|
82
|
+
*/
|
|
83
|
+
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Indicates whether autoplay was manually paused (via the pause button or
|
|
86
|
+
* on mobile). When paused this way the loading bar is cleared.
|
|
131
87
|
*/
|
|
132
|
-
readonly
|
|
88
|
+
readonly isPausedForced: _angular_core.WritableSignal<boolean>;
|
|
133
89
|
/**
|
|
134
|
-
*
|
|
90
|
+
* Indicates whether the layout is currently in RTL mode.
|
|
135
91
|
*/
|
|
136
|
-
|
|
92
|
+
isRtl: boolean;
|
|
137
93
|
/**
|
|
138
|
-
*
|
|
94
|
+
* Zero-based index of the currently active slide (mirrors Embla's selected snap).
|
|
139
95
|
*/
|
|
140
|
-
|
|
96
|
+
private activeIndex;
|
|
141
97
|
/**
|
|
142
|
-
*
|
|
98
|
+
* Start index of the currently visible teaser window (desktop only).
|
|
143
99
|
*/
|
|
144
|
-
|
|
100
|
+
private teaserWindowStart;
|
|
145
101
|
/**
|
|
146
|
-
*
|
|
102
|
+
* Indicates whether autoplay is temporarily paused by hover/focus. Unlike a
|
|
103
|
+
* manual pause, the loading bar stays visible and frozen at its current
|
|
104
|
+
* progress (matching ECL), resuming when the pointer/focus leaves.
|
|
147
105
|
*/
|
|
148
|
-
readonly
|
|
106
|
+
protected readonly isHoverPaused: _angular_core.WritableSignal<boolean>;
|
|
149
107
|
/**
|
|
150
|
-
*
|
|
108
|
+
* Whether the current viewport is at the mobile breakpoint. A signal so the
|
|
109
|
+
* template can react (the pager drops play/pause on mobile, matching ECL,
|
|
110
|
+
* where play/pause is a desktop-only control).
|
|
151
111
|
*/
|
|
152
|
-
readonly
|
|
112
|
+
protected readonly isMobileBreakpoint: _angular_core.WritableSignal<boolean>;
|
|
153
113
|
/**
|
|
154
|
-
*
|
|
114
|
+
* Whether the viewport is at or above the ECL desktop breakpoint (1140px).
|
|
115
|
+
* This is the boundary the ECL CSS uses to show the play/pause controls and
|
|
116
|
+
* the teaser tablist (and to hide the mobile dots). A signal so the pager
|
|
117
|
+
* variant can react: play/pause only renders at/above this width, matching
|
|
118
|
+
* the CSS so the pause button never leaks onto narrower viewports.
|
|
155
119
|
*/
|
|
156
|
-
|
|
120
|
+
protected readonly isDesktopBreakpointActive: _angular_core.WritableSignal<boolean>;
|
|
157
121
|
/**
|
|
158
|
-
*
|
|
122
|
+
* Embla options, mirroring the upstream ECL configuration.
|
|
159
123
|
*/
|
|
160
|
-
|
|
124
|
+
protected emblaOptions: EmblaOptionsType;
|
|
161
125
|
/**
|
|
162
|
-
*
|
|
126
|
+
* Embla plugins. Built once so the Embla directive does not needlessly re-init.
|
|
163
127
|
*/
|
|
164
|
-
|
|
128
|
+
protected emblaPlugins: EmblaPluginType[];
|
|
129
|
+
/**
|
|
130
|
+
* Embla events the component reacts to.
|
|
131
|
+
*/
|
|
132
|
+
protected readonly emblaEvents: EmblaEventType[];
|
|
133
|
+
/**
|
|
134
|
+
* Reference to the Embla directive driving the slide engine.
|
|
135
|
+
*/
|
|
136
|
+
private readonly embla;
|
|
137
|
+
/**
|
|
138
|
+
* References to the teaser navigation buttons corresponding to each slide.
|
|
139
|
+
*/
|
|
140
|
+
private readonly teaserButtons;
|
|
165
141
|
/**
|
|
166
|
-
*
|
|
142
|
+
* References to the teaser loading-bar completion elements (one per slide),
|
|
143
|
+
* used to restart the progress animation when the active slide changes.
|
|
167
144
|
*/
|
|
168
|
-
|
|
169
|
-
private isMobileBreakpoint;
|
|
170
|
-
private isSmallTabletBreakpoint;
|
|
145
|
+
private readonly loadingBars;
|
|
171
146
|
private isTabletBreakpoint;
|
|
172
|
-
private isDesktopBreakpoint;
|
|
173
147
|
private isLargeBreakpoint;
|
|
174
|
-
private
|
|
175
|
-
private stopSubject;
|
|
148
|
+
private isDesktopBreakpoint;
|
|
176
149
|
private destroy$;
|
|
177
|
-
private unsubscribeListener;
|
|
178
150
|
/**
|
|
179
151
|
* Debounce interval (ms) used internally for timing and transitions.
|
|
180
152
|
*/
|
|
181
153
|
private readonly TIMEOUT_INTERVAL;
|
|
182
|
-
private cdkBreakpointObserver;
|
|
183
|
-
private cd;
|
|
184
|
-
private renderer2;
|
|
185
|
-
private eclRtlService;
|
|
154
|
+
private readonly cdkBreakpointObserver;
|
|
155
|
+
private readonly cd;
|
|
156
|
+
private readonly renderer2;
|
|
157
|
+
private readonly eclRtlService;
|
|
158
|
+
private readonly translate;
|
|
186
159
|
private readonly document;
|
|
187
160
|
private readonly window;
|
|
188
|
-
|
|
161
|
+
/**
|
|
162
|
+
* Host element, used to locate the slider pager's play/pause buttons by their
|
|
163
|
+
* ECL classes for focus management after a play/pause toggle.
|
|
164
|
+
*/
|
|
165
|
+
private readonly hostEl;
|
|
189
166
|
/**
|
|
190
167
|
* Returns the computed CSS class list for the component.
|
|
191
168
|
*/
|
|
192
169
|
protected readonly cssClasses: _angular_core.Signal<string>;
|
|
170
|
+
constructor();
|
|
193
171
|
/**
|
|
194
|
-
* Angular lifecycle hook: initializes
|
|
172
|
+
* Angular lifecycle hook: initializes RTL detection and the Embla plugins.
|
|
195
173
|
*/
|
|
196
174
|
ngOnInit(): void;
|
|
197
175
|
/**
|
|
@@ -199,208 +177,262 @@ declare class EclCarouselComponent extends ECLBaseDirective implements OnInit, O
|
|
|
199
177
|
*/
|
|
200
178
|
ngAfterContentInit(): void;
|
|
201
179
|
/**
|
|
202
|
-
* Angular lifecycle hook: cleans up subscriptions
|
|
180
|
+
* Angular lifecycle hook: cleans up subscriptions.
|
|
203
181
|
*/
|
|
204
182
|
ngOnDestroy(): void;
|
|
205
183
|
/**
|
|
206
|
-
*
|
|
207
|
-
*/
|
|
208
|
-
onPlayClick(): void;
|
|
209
|
-
/**
|
|
210
|
-
* Stops autoplay and focuses the play button.
|
|
211
|
-
*/
|
|
212
|
-
onPauseClick(): void;
|
|
213
|
-
/**
|
|
214
|
-
* Handles key press on the first carousel element to stop autoplay if TAB is pressed.
|
|
184
|
+
* Returns whether the carousel has padding applied (e.g., on desktop breakpoint).
|
|
215
185
|
*/
|
|
216
|
-
|
|
186
|
+
isPadded(): boolean;
|
|
217
187
|
/**
|
|
218
|
-
*
|
|
188
|
+
* Checks whether there are enough slides to render controls.
|
|
219
189
|
*/
|
|
220
|
-
|
|
190
|
+
hasControls(): boolean;
|
|
221
191
|
/**
|
|
222
|
-
*
|
|
192
|
+
* Retrieves the current active slide index (zero-based).
|
|
223
193
|
*/
|
|
224
|
-
|
|
194
|
+
getCurrentSlideIndex(): number;
|
|
225
195
|
/**
|
|
226
|
-
*
|
|
196
|
+
* Returns the 1-based position of the active slide (for the counter).
|
|
227
197
|
*/
|
|
228
|
-
|
|
198
|
+
getCounterCurrent(): number;
|
|
229
199
|
/**
|
|
230
|
-
*
|
|
200
|
+
* Returns the total number of slides (for the counter).
|
|
231
201
|
*/
|
|
232
|
-
|
|
202
|
+
getCounterTotal(): number;
|
|
233
203
|
/**
|
|
234
|
-
*
|
|
204
|
+
* Dot indices for the mobile slider pager (one dot per slide). The dots are
|
|
205
|
+
* hidden on desktop via the ECL CSS (`.ecl-carousel__dots { display: none }`)
|
|
206
|
+
* and shown at the mobile breakpoint.
|
|
235
207
|
*/
|
|
236
|
-
|
|
208
|
+
getDotIndices(): number[];
|
|
237
209
|
/**
|
|
238
|
-
*
|
|
210
|
+
* Pre-translated accessible label for each pager dot. Translated here since
|
|
211
|
+
* the shared `ecl-slider-pager` receives plain strings.
|
|
239
212
|
*/
|
|
240
|
-
|
|
213
|
+
getDotAriaLabels(): string[];
|
|
241
214
|
/**
|
|
242
|
-
*
|
|
215
|
+
* Returns whether a teaser button should be visible in the current window.
|
|
243
216
|
*/
|
|
244
|
-
|
|
217
|
+
isTeaserVisible(index: number): boolean;
|
|
245
218
|
/**
|
|
246
|
-
*
|
|
219
|
+
* Returns the flex order of a teaser button within the visible window.
|
|
247
220
|
*/
|
|
248
|
-
|
|
221
|
+
getTeaserOrder(index: number): number;
|
|
249
222
|
/**
|
|
250
|
-
*
|
|
223
|
+
* Whether the pager should show the "pause" control (i.e. autoplay is
|
|
224
|
+
* actively running). While the pointer/focus hover-pauses the carousel the
|
|
225
|
+
* timer is suspended, so the pager must show "play" even though a manual
|
|
226
|
+
* pause was not triggered. Mirrors upstream ECL, where hovering flips the
|
|
227
|
+
* control to play.
|
|
251
228
|
*/
|
|
252
|
-
|
|
229
|
+
protected isPagerPlaying(): boolean;
|
|
253
230
|
/**
|
|
254
|
-
*
|
|
231
|
+
* Pager variant by breakpoint. Below the ECL desktop breakpoint (1140px)
|
|
232
|
+
* the carousel shows only the dots navigation (prev / dots / next);
|
|
233
|
+
* play/pause is a desktop-only control in ECL. Rendering `'dots'` there
|
|
234
|
+
* avoids the pager's inline play/pause `display` style (which would
|
|
235
|
+
* otherwise beat the ECL CSS and leave the pause button visible on narrower
|
|
236
|
+
* viewports). At/above 1140px the dots are hidden by CSS, so
|
|
237
|
+
* `'play-pause-dots'` yields play/pause + prev/next + teasers.
|
|
238
|
+
*
|
|
239
|
+
* The 1140px boundary mirrors the media query the ECL CSS uses to toggle
|
|
240
|
+
* `.ecl-carousel__play/__pause` and `.ecl-carousel__teasers`.
|
|
255
241
|
*/
|
|
256
|
-
|
|
242
|
+
protected pagerVariant(): 'dots' | 'play-pause-dots';
|
|
257
243
|
/**
|
|
258
|
-
*
|
|
244
|
+
* Handles the throttled Embla events the component subscribed to.
|
|
259
245
|
*/
|
|
260
|
-
|
|
246
|
+
protected onEmblaEvent(event: EmblaEventType): void;
|
|
261
247
|
/**
|
|
262
|
-
*
|
|
248
|
+
* Starts autoplay.
|
|
249
|
+
*
|
|
250
|
+
* @param moveFocus when true (a user clicked play) focus moves to the pause
|
|
251
|
+
* button. Auto-starts (e.g. on breakpoint changes) pass false so the
|
|
252
|
+
* page is not scrolled to the carousel on load.
|
|
263
253
|
*/
|
|
264
|
-
|
|
254
|
+
protected onPlayClick(moveFocus?: boolean): void;
|
|
265
255
|
/**
|
|
266
|
-
*
|
|
267
|
-
* Corrects index for internal structure with hidden buffer slides.
|
|
256
|
+
* Stops autoplay and focuses the play button.
|
|
268
257
|
*/
|
|
269
|
-
|
|
258
|
+
protected onPauseClick(): void;
|
|
270
259
|
/**
|
|
271
|
-
*
|
|
260
|
+
* Navigates to the next slide and stops autoplay.
|
|
272
261
|
*/
|
|
273
|
-
|
|
262
|
+
protected onNextSlideClick(): void;
|
|
274
263
|
/**
|
|
275
|
-
*
|
|
264
|
+
* Navigates to the previous slide and stops autoplay.
|
|
276
265
|
*/
|
|
277
|
-
|
|
266
|
+
protected onPreviousSlideClick(): void;
|
|
278
267
|
/**
|
|
279
|
-
*
|
|
268
|
+
* Handles user interaction with a teaser button: activates the matching slide.
|
|
280
269
|
*/
|
|
281
|
-
|
|
270
|
+
protected onTeaserClick(index: number): void;
|
|
282
271
|
/**
|
|
283
|
-
*
|
|
272
|
+
* Handles a dot activation from the mobile slider pager: scrolls to the
|
|
273
|
+
* matching slide and stops autoplay (same behavior as a teaser click).
|
|
284
274
|
*/
|
|
285
|
-
|
|
275
|
+
protected onDotClick(index: number): void;
|
|
286
276
|
/**
|
|
287
|
-
*
|
|
277
|
+
* Handles keyboard navigation (ArrowLeft/ArrowRight) across teaser buttons.
|
|
288
278
|
*/
|
|
289
|
-
|
|
279
|
+
protected onTeaserKeyboardPress(event: KeyboardEvent, index: number): void;
|
|
290
280
|
/**
|
|
291
|
-
*
|
|
281
|
+
* Freezes the loading bar while the pointer/focus is over the carousel.
|
|
282
|
+
* The Embla autoplay plugin pauses the timer itself (stopOnMouseEnter /
|
|
283
|
+
* stopOnFocusIn); this only mirrors that as a visible paused state.
|
|
292
284
|
*/
|
|
293
|
-
|
|
285
|
+
protected onViewportPause(): void;
|
|
294
286
|
/**
|
|
295
|
-
*
|
|
287
|
+
* Resumes the loading bar once the pointer/focus leaves the carousel.
|
|
296
288
|
*/
|
|
297
|
-
|
|
289
|
+
protected onViewportResume(): void;
|
|
298
290
|
/**
|
|
299
|
-
*
|
|
291
|
+
* Sets focus on the specified button.
|
|
300
292
|
*/
|
|
301
|
-
private
|
|
293
|
+
private focusOnButton;
|
|
302
294
|
/**
|
|
303
|
-
*
|
|
295
|
+
* Focuses the slider pager button matching the given ECL class selector
|
|
296
|
+
* (e.g. `.ecl-carousel__play`). Used after a play/pause toggle so focus
|
|
297
|
+
* follows the now-visible control, since the pager swaps play/pause
|
|
298
|
+
* visibility via CSS. No-op if the button is not rendered (e.g. mobile).
|
|
304
299
|
*/
|
|
305
|
-
private
|
|
300
|
+
private focusPagerButton;
|
|
306
301
|
/**
|
|
307
|
-
* Returns the
|
|
302
|
+
* Returns the Embla autoplay plugin instance, but only when the carousel
|
|
303
|
+
* actually has more than one scroll snap.
|
|
304
|
+
*
|
|
305
|
+
* The `embla-carousel-autoplay` plugin skips its own initialization when
|
|
306
|
+
* `scrollSnapList().length <= 1` (see the plugin's `init`), which leaves its
|
|
307
|
+
* internal `delay` lookup table undefined. Calling `play()` in that state
|
|
308
|
+
* throws (`delay[selectedScrollSnap()]` -> reading `0` of undefined). This
|
|
309
|
+
* happens whenever Embla cannot lay out multiple snaps — notably in a jsdom
|
|
310
|
+
* test or during SSR. Gating on the same `> 1` condition the plugin uses
|
|
311
|
+
* keeps autoplay a safe no-op until the carousel is genuinely slideable.
|
|
308
312
|
*/
|
|
309
|
-
private
|
|
313
|
+
private getAutoplay;
|
|
310
314
|
/**
|
|
311
|
-
*
|
|
315
|
+
* Whether autoplay should run. On by default (matching ECL); only disabled
|
|
316
|
+
* when the consumer explicitly sets `[isAutoplay]="false"`.
|
|
312
317
|
*/
|
|
313
|
-
private
|
|
318
|
+
private isAutoplayDesired;
|
|
314
319
|
/**
|
|
315
|
-
*
|
|
320
|
+
* Stops autoplay and resets it (mirrors ECL's `handleAutoPlay(true)`),
|
|
321
|
+
* clearing the loading-bar state.
|
|
316
322
|
*/
|
|
317
|
-
private
|
|
323
|
+
private stopAutoplay;
|
|
318
324
|
/**
|
|
319
|
-
*
|
|
325
|
+
* Synchronizes component state from Embla's current selected snap:
|
|
326
|
+
* active index, slide `isCurrent` flags, teaser window and the slide event.
|
|
320
327
|
*/
|
|
321
|
-
private
|
|
328
|
+
private syncFromEmbla;
|
|
322
329
|
/**
|
|
323
|
-
*
|
|
330
|
+
* Subscribes to RTL layout state changes to adapt carousel direction.
|
|
324
331
|
*/
|
|
325
|
-
private
|
|
332
|
+
private handleRtlChangeState;
|
|
326
333
|
/**
|
|
327
|
-
*
|
|
334
|
+
* Initializes slides (index, ARIA label, banner height management).
|
|
328
335
|
*/
|
|
329
|
-
private
|
|
336
|
+
private initSlides;
|
|
330
337
|
/**
|
|
331
|
-
*
|
|
338
|
+
* Updates the active index and synchronizes slide active/inert state.
|
|
332
339
|
*/
|
|
333
|
-
private
|
|
340
|
+
private setActiveIndex;
|
|
334
341
|
/**
|
|
335
|
-
*
|
|
342
|
+
* Restarts the CSS progress animation on the active slide's loading bar.
|
|
343
|
+
* The animation uses `forwards`, so re-applying the `is-active` class alone
|
|
344
|
+
* will not replay it; the animation must be reset explicitly.
|
|
336
345
|
*/
|
|
337
|
-
private
|
|
346
|
+
private restartActiveLoadingBar;
|
|
338
347
|
/**
|
|
339
|
-
*
|
|
348
|
+
* Advances the visible teaser window when the active slide moves out of it.
|
|
340
349
|
*/
|
|
341
|
-
private
|
|
350
|
+
private updateTeaserWindow;
|
|
342
351
|
/**
|
|
343
|
-
*
|
|
352
|
+
* Returns the number of actual visible slides.
|
|
344
353
|
*/
|
|
345
|
-
private
|
|
354
|
+
private getSlidesCount;
|
|
346
355
|
/**
|
|
347
|
-
*
|
|
356
|
+
* Observes screen breakpoint changes to adjust autoplay and layout behavior.
|
|
348
357
|
*/
|
|
349
|
-
private
|
|
358
|
+
private observeBreakpointChanges;
|
|
350
359
|
/**
|
|
351
|
-
*
|
|
360
|
+
* Observes changes to the carousel's viewport element size using a timeout debounce.
|
|
352
361
|
*/
|
|
353
|
-
private
|
|
362
|
+
private observeElementSizeChanges;
|
|
354
363
|
/**
|
|
355
|
-
*
|
|
364
|
+
* Normalizes the height of all banners to match the tallest banner.
|
|
356
365
|
*/
|
|
357
|
-
private
|
|
366
|
+
private checkBannerHeights;
|
|
358
367
|
/**
|
|
359
|
-
*
|
|
368
|
+
* Clears all explicit banner height and aspect ratio styling for smaller breakpoints.
|
|
360
369
|
*/
|
|
361
|
-
private
|
|
370
|
+
private resetHeight;
|
|
371
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclCarouselComponent, never>;
|
|
372
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclCarouselComponent, "ecl-carousel", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "isAutoplay": { "alias": "isAutoplay"; "required": false; "isSignal": true; }; "playInterval": { "alias": "playInterval"; "required": false; "isSignal": true; }; "counterLabel": { "alias": "counterLabel"; "required": false; "isSignal": true; }; }, { "slide": "slide"; }, ["slides"], ["*"], true, never>;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Single slide item for use inside an `EclCarouselComponent`.
|
|
377
|
+
* Renders a `role="tabpanel"` element with an `aria-roledescription="slide"` and handles
|
|
378
|
+
* the `inert` attribute so only the active slide is interactive.
|
|
379
|
+
*
|
|
380
|
+
* - Selector: `ecl-carousel-item`.
|
|
381
|
+
* - `id` — optional unique identifier; used by the carousel for navigation buttons.
|
|
382
|
+
* - `isCurrent` (input alias) — initial active state; kept as a `linkedSignal` so the parent
|
|
383
|
+
* carousel can update it imperatively as the user navigates.
|
|
384
|
+
* - `slideClick` — emits `EclSlideEvent` when the slide is clicked.
|
|
385
|
+
* - `index` / `ariaLabel` — writable signals assigned by the parent carousel.
|
|
386
|
+
* - Project an optional `EclBannerComponent` inside the slide for banner-style slides.
|
|
387
|
+
*/
|
|
388
|
+
declare class EclCarouselItemComponent extends ECLBaseDirective implements EclCarouselItem {
|
|
389
|
+
el: ElementRef<any>;
|
|
362
390
|
/**
|
|
363
|
-
*
|
|
391
|
+
* The aria-label for the slide, assigned dynamically by the carousel.
|
|
364
392
|
*/
|
|
365
|
-
|
|
393
|
+
readonly ariaLabel: _angular_core.WritableSignal<string>;
|
|
366
394
|
/**
|
|
367
|
-
*
|
|
395
|
+
* The unique identifier of the slide.
|
|
368
396
|
*/
|
|
369
|
-
|
|
397
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
370
398
|
/**
|
|
371
|
-
*
|
|
399
|
+
* Input controlling whether this slide starts as the active/visible one.
|
|
400
|
+
* Automatically coerced to a boolean value.
|
|
372
401
|
*/
|
|
373
|
-
|
|
402
|
+
readonly isCurrentInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
374
403
|
/**
|
|
375
|
-
*
|
|
404
|
+
* Indicates whether this slide is currently active/visible.
|
|
405
|
+
* Seeded from the `isCurrent` input but can be updated imperatively by the
|
|
406
|
+
* parent carousel as the user navigates between slides.
|
|
376
407
|
*/
|
|
377
|
-
|
|
408
|
+
readonly isCurrent: _angular_core.WritableSignal<boolean>;
|
|
378
409
|
/**
|
|
379
|
-
*
|
|
410
|
+
* Text shown in the carousel teaser (navigation) button for this slide.
|
|
411
|
+
* Optional; when empty, no teaser label is rendered for the slide.
|
|
380
412
|
*/
|
|
381
|
-
|
|
413
|
+
readonly teaserText: _angular_core.InputSignal<string>;
|
|
382
414
|
/**
|
|
383
|
-
*
|
|
415
|
+
* Emits an event when the slide is clicked.
|
|
384
416
|
*/
|
|
385
|
-
|
|
417
|
+
readonly slideClick: _angular_core.OutputEmitterRef<EclSlideEvent>;
|
|
386
418
|
/**
|
|
387
|
-
*
|
|
419
|
+
* Optionally captures a banner component projected into the slide.
|
|
388
420
|
*/
|
|
389
|
-
|
|
421
|
+
readonly banner: _angular_core.Signal<any>;
|
|
390
422
|
/**
|
|
391
|
-
*
|
|
423
|
+
* Internal slide index, assigned dynamically by the carousel.
|
|
392
424
|
*/
|
|
393
|
-
|
|
425
|
+
readonly index: _angular_core.WritableSignal<number>;
|
|
394
426
|
/**
|
|
395
|
-
*
|
|
427
|
+
* Computes the slide's CSS class.
|
|
396
428
|
*/
|
|
397
|
-
|
|
429
|
+
protected readonly cssClasses: _angular_core.Signal<string>;
|
|
398
430
|
/**
|
|
399
|
-
*
|
|
431
|
+
* Handles click events on the slide and emits a slideClick event.
|
|
400
432
|
*/
|
|
401
|
-
|
|
402
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
403
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
433
|
+
onSlideClick(): void;
|
|
434
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclCarouselItemComponent, never>;
|
|
435
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclCarouselItemComponent, "ecl-carousel-item", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "isCurrentInput": { "alias": "isCurrent"; "required": false; "isSignal": true; }; "teaserText": { "alias": "teaserText"; "required": false; "isSignal": true; }; }, { "slideClick": "slideClick"; }, ["banner"], ["*"], true, never>;
|
|
404
436
|
}
|
|
405
437
|
|
|
406
438
|
declare const EUI_ECL_CAROUSEL: readonly [typeof EclCarouselComponent, typeof EclCarouselItemComponent];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-carousel.d.ts","sources":["../../components/ecl-carousel/models/ecl-carousel-item.model.ts","../../components/ecl-carousel/events/ecl-slide.event.ts","../../components/ecl-carousel/ecl-carousel
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-carousel.d.ts","sources":["../../components/ecl-carousel/models/ecl-carousel-item.model.ts","../../components/ecl-carousel/events/ecl-slide.event.ts","../../components/ecl-carousel/ecl-carousel.component.ts","../../components/ecl-carousel/ecl-carousel-item.component.ts","../../components/ecl-carousel/index.ts"],"mappings":"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","names":[]}
|