UNPKG

react-multi-carousel

Version:

Lightweight fully customizable React carousel component supports multiple items and SSR(Server-side rendering) with typescript.

63 lines (62 loc) 1.89 kB
/// <reference types="react" /> interface responsiveType { [key: string]: { breakpoint: { max: number; min: number; }; items: number; paritialVisibilityGutter?: number; }; } interface CarouselProps { responsive: responsiveType; deviceType?: string; forSSR?: boolean; slidesToSlide: number; disableDrag?: boolean; removeArrow?: boolean; disableSwipeOnMobile?: boolean; removeArrowOnDeviceType?: string | Array<string>; children: any; customLeftArrow?: React.ReactElement<any> | null; customRightArrow?: React.ReactElement<any> | null; customDot?: React.ReactElement<any> | null; customButtonGroup?: React.ReactElement<any> | null; infinite?: boolean; minimumTouchDrag: number; afterChanged?: (previousSlide: number, state: stateCallBack) => void; beforeChanged?: (nextSlide: number, state: stateCallBack) => void; contentClassName?: string; itemClassName?: string; containerClassName?: string; dotListClassName?: string; keyBoardControl?: boolean; autoPlay?: boolean; autoPlaySpeed?: number; shouldShowDots?: boolean; partialVisbile?: "right" | boolean; customTransition?: string; transitionDuration?: number; } interface buttonGroupCallBack { previous: () => void; next: () => void; goToSlide: (index: number) => void; state: stateCallBack; } interface stateCallBack extends CarouselInternalState { onMove: boolean; direction: string | undefined; } interface CarouselInternalState { itemWidth: number; containerWidth: number; slidesToShow: number; currentSlide: number; totalItems: number; domLoaded: boolean; deviceType?: string; transform: number; } export { CarouselInternalState, CarouselProps, responsiveType, stateCallBack, buttonGroupCallBack };