1 | import React from 'react';
|
2 | import { default as RN, Animated, ScrollView } from 'react-native';
|
3 | import { TabBarPropsType } from './PropsType';
|
4 | import { Models } from './Models';
|
5 | import defaultStyles from './Styles.native';
|
6 | export interface PropsType extends TabBarPropsType {
|
7 | scrollValue?: any;
|
8 | styles?: typeof defaultStyles;
|
9 | tabStyle?: RN.ViewStyle;
|
10 | tabsContainerStyle?: RN.ViewStyle;
|
11 |
|
12 | dynamicTabUnderlineWidth?: boolean;
|
13 | keyboardShouldPersistTaps?: boolean;
|
14 | }
|
15 | export interface StateType {
|
16 | _leftTabUnderline: Animated.Value;
|
17 | _widthTabUnderline: Animated.Value;
|
18 | _containerWidth: number;
|
19 | _tabContainerWidth: number;
|
20 | }
|
21 | export declare class DefaultTabBar extends React.PureComponent<PropsType, StateType> {
|
22 | static defaultProps: PropsType;
|
23 | _tabsMeasurements: any[];
|
24 | _tabContainerMeasurements: any;
|
25 | _containerMeasurements: any;
|
26 | _scrollView: ScrollView;
|
27 | constructor(props: PropsType);
|
28 | componentDidMount(): void;
|
29 | updateView: (offset: any) => void;
|
30 | necessarilyMeasurementsCompleted(position: number, isLastTab: boolean): any;
|
31 | updateTabPanel(position: number, pageOffset: number): void;
|
32 | updateTabUnderline(position: number, pageOffset: number, tabCount: number): void;
|
33 | onPress: (index: number) => void;
|
34 | renderTab(tab: Models.TabData, index: number, width: number, onLayoutHandler: any): JSX.Element;
|
35 | measureTab: (page: number, event: any) => void;
|
36 | render(): JSX.Element;
|
37 | onTabContainerLayout: (e: RN.LayoutChangeEvent) => void;
|
38 | onContainerLayout: (e: RN.LayoutChangeEvent) => void;
|
39 | }
|