UNPKG

react-native-banner-carousel-updated

Version:
61 lines (60 loc) 1.91 kB
import * as React from 'react'; import { Animated, ViewStyle } from 'react-native'; export interface PageIndicatorConfig { pageNum: number; childrenNum: number; loop: boolean; scrollValue: Animated.Value; } export interface CarouselProps { pageSize: number; loop?: boolean; index?: number; autoplay?: boolean; autoplayTimeout?: number; slipFactor?: number; animation?: (animate: Animated.Value, toValue: number) => Animated.CompositeAnimation; onPageChanged?: (index: number) => void; showsPageIndicator?: boolean; renderPageIndicator?: (config: PageIndicatorConfig) => JSX.Element; pageIndicatorContainerStyle?: ViewStyle; activePageIndicatorStyle?: ViewStyle; pageIndicatorStyle?: ViewStyle; pageIndicatorOffset?: number; disableUserInteraction?: boolean; changeVerticalScrollEnabled?: (enabled: boolean) => void; onPress?: () => void; } export interface CarouselState { scrollValue: Animated.Value; } export default class Carousel extends React.Component<CarouselProps, CarouselState> { static defaultProps: CarouselProps; private scrollView; private autoPlayTimer; private pageAnimation; private panResponder?; private currentIndex; private panStartIndex; private panOffsetFactor; private verticalScrollDisabled; constructor(props: any); UNSAFE_componentWillMount(): void; componentDidMount(): void; UNSAFE_componentWillReceiveProps(nextProps: CarouselProps): void; private startAutoPlay; private stopAutoPlay; private computePanOffset; private startPanResponder; private endPanResponder; private gotoNextPage; private gotoPage; /** * -0.5 <= pageIndex <= (pages.length - 1 + 0.5) */ getCurrentPage(): number; private loopJump; private getChildrenNum; private renderIndicator; render(): JSX.Element; }