UNPKG

nuka-carousel

Version:
65 lines (60 loc) 2.01 kB
import * as react from 'react'; import react__default, { ReactNode } from 'react'; type ShowArrowsOption = boolean | 'always' | 'hover'; type ScrollDistanceType = number | 'slide' | 'screen'; type CarouselCallbacks = { beforeSlide?: (currentSlideIndex: number, endSlideIndex: number) => void; afterSlide?: (endSlideIndex: number) => void; }; type CarouselProps = CarouselCallbacks & { children: ReactNode; arrows?: ReactNode; autoplay?: boolean; autoplayInterval?: number; className?: string; dots?: ReactNode; id?: string; keyboard?: boolean; minSwipeDistance?: number; scrollDistance?: ScrollDistanceType; showArrows?: ShowArrowsOption; showDots?: boolean; swiping?: boolean; title?: string; wrapMode?: 'nowrap' | 'wrap'; initialPage?: number; }; type SlideHandle = { goForward: () => void; goBack: () => void; goToPage: (proposedIndex: number) => void; }; type CarouselContextType = CarouselProps & { currentPage: number; scrollOffset: number[]; totalPages: number; goToPage: (idx: number) => void; goForward: () => void; goBack: () => void; }; declare const CarouselProvider: react__default.Provider<CarouselContextType>; declare const useCarousel: () => CarouselContextType; declare const Carousel: react.ForwardRefExoticComponent<CarouselCallbacks & { children: react.ReactNode; arrows?: react.ReactNode; autoplay?: boolean; autoplayInterval?: number; className?: string; dots?: react.ReactNode; id?: string; keyboard?: boolean; minSwipeDistance?: number; scrollDistance?: ScrollDistanceType; showArrows?: ShowArrowsOption; showDots?: boolean; swiping?: boolean; title?: string; wrapMode?: "nowrap" | "wrap"; initialPage?: number; } & react.RefAttributes<SlideHandle>>; export { Carousel, type CarouselCallbacks, type CarouselProps, CarouselProvider, type ScrollDistanceType, type ShowArrowsOption, type SlideHandle, useCarousel };