UNPKG

react-native-tab-view

Version:
63 lines (62 loc) 2.03 kB
import * as React from 'react'; import { StyleProp, ViewStyle } from 'react-native'; import { PanGestureHandler } from 'react-native-gesture-handler'; import Animated from 'react-native-reanimated'; import { Props as TabBarProps } from './TabBar'; import { Layout, NavigationState, Route, SceneRendererProps, PagerCommonProps } from './types'; declare type Props<T extends Route> = PagerCommonProps & { position?: Animated.Value<number>; onIndexChange: (index: number) => void; navigationState: NavigationState<T>; renderScene: (props: SceneRendererProps & { route: T; }) => React.ReactNode; renderLazyPlaceholder: (props: { route: T; }) => React.ReactNode; renderTabBar: (props: SceneRendererProps & { navigationState: NavigationState<T>; }) => React.ReactNode; tabBarPosition: 'top' | 'bottom'; initialLayout?: { width?: number; height?: number; }; lazy: boolean; lazyPreloadDistance: number; removeClippedSubviews?: boolean; sceneContainerStyle?: StyleProp<ViewStyle>; style?: StyleProp<ViewStyle>; gestureHandlerProps: React.ComponentProps<typeof PanGestureHandler>; }; declare type State = { layout: Layout; }; export default class TabView<T extends Route> extends React.Component<Props<T>, State> { static defaultProps: { tabBarPosition: string; renderTabBar: <P extends Route>(props: TabBarProps<P>) => JSX.Element; renderLazyPlaceholder: () => null; keyboardDismissMode: string; swipeEnabled: boolean; lazy: boolean; lazyPreloadDistance: number; removeClippedSubviews: boolean; springConfig: {}; timingConfig: {}; gestureHandlerProps: {}; }; state: { layout: { width: number; height: number; } | { width: number; height: number; }; }; private jumpToIndex; private handleLayout; render(): JSX.Element; } export {};