v8-ui-components
Version:
A component lib for v8 storefront apps
73 lines (72 loc) • 2.33 kB
TypeScript
import * as React from "react";
import { ICarouselProps, ICarouselState } from "./Carousel.interfaces";
declare class Carousel extends React.Component<ICarouselProps, ICarouselState> {
static contextType: React.Context<import("../../Context/interfaces").IContextObject>;
private ColumnGap;
private RowSize;
private StepSize;
private ShowPreviews;
private DisableTrackLoop;
private readonly carouselElement;
private interval;
static defaultProps: {
autoSlideTime: number;
infiniteLoop: boolean;
slidesPerClick: number;
activeSlideCount: number;
disableCarousel: boolean;
initialActiveViewport: string;
hideButtons: {
desktop: boolean;
mobile: boolean;
tablet: boolean;
};
pagination: {
desktop: boolean;
mobile: boolean;
tablet: boolean;
};
columnGap: {
desktop: number;
mobile: number;
tablet: number;
};
animatedTransitions: boolean;
dragThreshold: number;
initialPosition: number;
minHeight: number;
previewScaleFactor: number;
showArrowsOnMobile: boolean;
showPreviews: boolean;
isProductGrid: boolean;
navigationButtonSize: {
height: any;
width: any;
iconSize: any;
};
stepSize: number;
disableTrackLoop: boolean;
};
constructor(props: ICarouselProps);
/**
* Calculate all properties
*/
private calculateSanitizedProps;
/**
* Set the current element index in state
*/
private setCurrentElementIndex;
private keyHandler;
doNavigation: (targetIndex: number) => void;
previousElement: () => void;
nextElement: () => void;
handleDotClick: (dot: number) => void;
startCountdown: () => void;
componentDidMount(): void;
componentDidUpdate(prevProps: ICarouselProps, prevState: ICarouselState): void;
componentWillUnmount(): void;
render(): JSX.Element;
}
export default Carousel;
export declare const CarouselTestId = "CarouselTestId";
export declare const CarouselFrameTestId = "CarouselFrameTestId";