UNPKG

2.26 kBTypeScriptView Raw
1import * as React from 'react';
2import { PressableAndroidRippleConfig, StyleProp, TextStyle, ViewStyle } from 'react-native';
3import { Props as IndicatorProps } from './TabBarIndicator';
4import { Props as TabBarItemProps } from './TabBarItem';
5import type { Event, NavigationState, Route, Scene, SceneRendererProps } from './types';
6export type Props<T extends Route> = SceneRendererProps & {
7 navigationState: NavigationState<T>;
8 scrollEnabled?: boolean;
9 bounces?: boolean;
10 activeColor?: string;
11 inactiveColor?: string;
12 pressColor?: string;
13 pressOpacity?: number;
14 getLabelText?: (scene: Scene<T>) => string | undefined;
15 getAccessible?: (scene: Scene<T>) => boolean | undefined;
16 getAccessibilityLabel?: (scene: Scene<T>) => string | undefined;
17 getTestID?: (scene: Scene<T>) => string | undefined;
18 renderLabel?: (scene: Scene<T> & {
19 focused: boolean;
20 color: string;
21 }) => React.ReactNode;
22 renderIcon?: (scene: Scene<T> & {
23 focused: boolean;
24 color: string;
25 }) => React.ReactNode;
26 renderBadge?: (scene: Scene<T>) => React.ReactNode;
27 renderIndicator?: (props: IndicatorProps<T>) => React.ReactNode;
28 renderTabBarItem?: (props: TabBarItemProps<T> & {
29 key: string;
30 }) => React.ReactElement;
31 onTabPress?: (scene: Scene<T> & Event) => void;
32 onTabLongPress?: (scene: Scene<T>) => void;
33 tabStyle?: StyleProp<ViewStyle>;
34 indicatorStyle?: StyleProp<ViewStyle>;
35 indicatorContainerStyle?: StyleProp<ViewStyle>;
36 labelStyle?: StyleProp<TextStyle>;
37 contentContainerStyle?: StyleProp<ViewStyle>;
38 style?: StyleProp<ViewStyle>;
39 gap?: number;
40 testID?: string;
41 android_ripple?: PressableAndroidRippleConfig;
42};
43export declare function TabBar<T extends Route>({ getLabelText, getAccessible, getAccessibilityLabel, getTestID, renderIndicator, gap, scrollEnabled, jumpTo, navigationState, position, activeColor, bounces, contentContainerStyle, inactiveColor, indicatorContainerStyle, indicatorStyle, labelStyle, onTabLongPress, onTabPress, pressColor, pressOpacity, renderBadge, renderIcon, renderLabel, renderTabBarItem, style, tabStyle, testID, android_ripple, }: Props<T>): JSX.Element;
44//# sourceMappingURL=TabBar.d.ts.map
\No newline at end of file