1 | import * as React from 'react';
|
2 | import { Animated, StyleProp, LayoutChangeEvent, TextStyle, ViewStyle } from 'react-native';
|
3 | import type { Scene, Route, NavigationState } from './types';
|
4 | export declare type Props<T extends Route> = {
|
5 | position: Animated.AnimatedInterpolation;
|
6 | route: T;
|
7 | navigationState: NavigationState<T>;
|
8 | activeColor?: string;
|
9 | inactiveColor?: string;
|
10 | pressColor?: string;
|
11 | pressOpacity?: number;
|
12 | getLabelText: (scene: Scene<T>) => string | undefined;
|
13 | getAccessible: (scene: Scene<T>) => boolean | undefined;
|
14 | getAccessibilityLabel: (scene: Scene<T>) => string | undefined;
|
15 | getTestID: (scene: Scene<T>) => string | undefined;
|
16 | renderLabel?: (scene: {
|
17 | route: T;
|
18 | focused: boolean;
|
19 | color: string;
|
20 | }) => React.ReactNode;
|
21 | renderIcon?: (scene: {
|
22 | route: T;
|
23 | focused: boolean;
|
24 | color: string;
|
25 | }) => React.ReactNode;
|
26 | renderBadge?: (scene: Scene<T>) => React.ReactNode;
|
27 | onLayout?: (event: LayoutChangeEvent) => void;
|
28 | onPress: () => void;
|
29 | onLongPress: () => void;
|
30 | labelStyle?: StyleProp<TextStyle>;
|
31 | style: StyleProp<ViewStyle>;
|
32 | };
|
33 | export default class TabBarItem<T extends Route> extends React.Component<Props<T>> {
|
34 | private getActiveOpacity;
|
35 | private getInactiveOpacity;
|
36 | render(): JSX.Element;
|
37 | }
|