forked from satya164/react-native-tab-view
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.tsx
61 lines (52 loc) · 1.23 KB
/
types.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import Animated from 'react-native-reanimated';
export type Route = {
key: string;
icon?: string;
title?: string;
accessible?: boolean;
accessibilityLabel?: string;
testID?: string;
};
export type Event = {
defaultPrevented: boolean;
preventDefault(): void;
};
export type Scene<T extends Route> = {
route: T;
};
export type NavigationState<T extends Route> = {
index: number;
routes: T[];
};
export type Layout = {
width: number;
height: number;
};
export type Listener = (value: number) => void;
export type SceneRendererProps = {
layout: Layout;
position: Animated.Node<number>;
jumpTo: (key: string) => void;
};
export type EventEmitterProps = {
addListener: (type: 'enter', listener: Listener) => void;
removeListener: (type: 'enter', listener: Listener) => void;
};
export type PagerCommonProps = {
keyboardDismissMode: 'none' | 'on-drag' | 'auto';
swipeEnabled: boolean;
swipeVelocityImpact?: number;
onSwipeStart?: () => void;
onSwipeEnd?: () => void;
springVelocityScale?: number;
springConfig: {
damping?: number;
mass?: number;
stiffness?: number;
restSpeedThreshold?: number;
restDisplacementThreshold?: number;
};
timingConfig: {
duration?: number;
};
};