react-native-tab-view
Version:
Tab view component for React Native
58 lines (57 loc) • 1.87 kB
TypeScript
import * as React from 'react';
import { PanGestureHandler } from 'react-native-gesture-handler';
import Animated from 'react-native-reanimated';
import { Layout, NavigationState, Route, PagerCommonProps, EventEmitterProps } from './types';
declare type Props<T extends Route> = PagerCommonProps & {
onIndexChange: (index: number) => void;
navigationState: NavigationState<T>;
layout: Layout;
removeClippedSubviews?: boolean;
children: (props: EventEmitterProps & {
position: Animated.Node<number>;
render: (children: React.ReactNode) => React.ReactNode;
jumpTo: (key: string) => void;
}) => React.ReactNode;
gestureHandlerProps: React.ComponentProps<typeof PanGestureHandler>;
};
export default class Pager<T extends Route> extends React.Component<Props<T>> {
static defaultProps: {
swipeVelocityImpact: number;
};
componentDidUpdate(prevProps: Props<T>): void;
private clock;
private velocityX;
private gestureX;
private gestureState;
private offsetX;
private progress;
private index;
private nextIndex;
private lastEnteredIndex;
private isSwiping;
private isSwipeGesture;
private indexAtSwipeEnd;
private routesLength;
private layoutWidth;
private swipeVelocityImpact;
private position;
private springConfig;
private timingConfig;
private initialVelocityForSpring;
private currentIndexValue;
private pendingIndexValue;
private previouslyFocusedTextInput;
private enterListeners;
private jumpToIndex;
private jumpTo;
private addListener;
private removeListener;
private handleEnteredIndexChange;
private transitionTo;
private handleGestureEvent;
private extrapolatedPosition;
private translateX;
private getTranslateX;
render(): React.ReactNode;
}
export {};