import { EventEmitter } from '../../stencil-public-runtime'; import { SpacingTokenType } from '../../types/design-token.type'; import { ResponsiveType } from '../../types/ui.type'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer'; import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer'; import { DeprecatedPropertySlimmerBase } from '../../helpers/slimmers/deprecated-property-slimmer'; import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics'; /** * @vegaVersion 1.0.2 */ export declare class VegaCarousel { protected readonly globalSlimmers: GlobalSlimmers; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; /** * The below method is e2e-test covered in * @see{module:vega-carousel-with-screen-size-change} */ protected readonly pageResizeObserverSlimmer: PageResizeObserverSlimmer; protected pageUpdateEventEmitter: EventEmitSlimmerBase; protected readonly deprecatedPropertySlimmer: DeprecatedPropertySlimmerBase>; private carouselContentElements; private mutationObserver; private listContainer; private slideTaskQueue; private currentItemsPerPage; private touchListener; host: HTMLVegaCarouselElement; page: number; watchPage(): void; totalPages: number; /** * Specifies the number of elements displayed per page in the carousel. * @deprecated This property will be removed soon and replaced by prop itemsPerPage * * @vegaVersion 1.0.2 */ perPage: ResponsiveType; watchPerPage(): void; /** * Specifies the number of items displayed per page in the carousel. * * @vegaVersion 2.1.0 */ itemsPerPage: ResponsiveType; watchItemsPerPage(): void; /** * Specifies whether to show the navigational buttons * at the bottom of the carousel. * * @vegaVersion 1.0.2 */ showSlider: boolean; /** * Controls the amount of space between the elements in the carousel * when more than one element is displayed on each page * using the `itemsPerPage` property. * * @vegaVersion 1.0.2 */ spacing: SpacingTokenType; onSpacingPropsChange(): void; /** * Indicates whether the carousel can be swiped * to navigate between pages on a mobile device. * * @vegaVersion 1.18.0 */ canSwipe: boolean; /** * An event emitter notifying the transition of the carousel to another page, * whether triggered programmatically or through user interaction. * * @vegaVersion 1.3.0 */ vegaPageUpdate: EventEmitter; /** * An event emitter notifying the transition of the carousel to another page, * whether triggered programmatically or through user interaction. * * @eventSemantics namespace:native * @vegaVersion 2.0.0 */ pageUpdate: EventEmitter; disconnectedCallback(): void; componentDidLoad(): void; /** * Invoke this method to transition the carousel to the next available page, * if it exists. * * @vegaVersion 1.0.2 */ nextPage(): Promise; /** * Invoke this method to transition the carousel to the previous page, * if it exists. * * @vegaVersion 1.0.2 */ prevPage(): Promise; /** * Invoke this method to navigate the carousel to the specified page number. * * @param nextPage * @returns {Promise} * @vegaVersion 1.0.6 */ goToPage(nextPage: number): Promise; render(): VegaCarousel; /** * The function `goToPageInternal` is used to navigate to a specific page in a slideshow, with an optional animation. * * @param {number} nextPage - The `nextPage` parameter is the page number that you want to navigate to. It should be a number between 1 and the total number of pages (`this.totalPages`). * @param {boolean} [needsAnimation=true] - The `needsAnimation` parameter is a boolean value that * indicates whether or not the slide animation should be performed when navigating to the next page. * If `needsAnimation` is `true`, the slide animation will be performed. If `needsAnimation` is * `false`, the slide animation will be disabled */ private goToPageInternal; private renderIndicatorDom; private onClickIndicators; /** * Get the total page that will be shown in carousel. */ private getTotalPage; private updatePageLayout; /** * The below method is e2e-test covered in * @see{module:vega-carousel-call-observe-method} */ private initMutationObserver; /** * The below method is e2e-test covered in * @see{module:vega-carousel-call-observe-method} */ private updateContentByObserverSlotChange; private wrapChildContentAsCarouselItem; /** * 1.make targetItem from translateX(-/+100%) to translateX(0). * 2.make activeItem from translateX(0) to translateX(-/+100%). * 3.clear up the added class and mark the current visible item as active. * The below method is e2e-test covered in * @see{module:vega-carousel-do-slide} * @see{module:vega-carousel-do-slide-in-order} */ private doSlide; /** * The below method is e2e-test covered in * @see{module:vega-carousel-with-touch-event} */ private initTouchEvent; /** * The below method is e2e-test covered in * @see{module:vega-carousel-with-screen-switch-mobile} */ private getCarouselItemsPerPage; }