1 | import * as React from 'react';
|
2 | import { ViewStyle } from 'react-native';
|
3 | import { ThemeContext, NavigationScreenProp } from 'react-navigation';
|
4 | import { NavigationDrawerState, DrawerContentComponentProps, SceneDescriptorMap } from '../types';
|
5 | import { PanGestureHandler } from 'react-native-gesture-handler';
|
6 | declare type DrawerOptions = {
|
7 | drawerBackgroundColor?: string;
|
8 | overlayColor?: string;
|
9 | minSwipeDistance?: number;
|
10 | drawerPosition: 'left' | 'right';
|
11 | drawerType: 'front' | 'back' | 'slide';
|
12 | drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open';
|
13 | keyboardDismissMode?: 'on-drag' | 'none';
|
14 | drawerWidth: number | (() => number);
|
15 | statusBarAnimation: 'slide' | 'none' | 'fade';
|
16 | onDrawerClose?: () => void;
|
17 | onDrawerOpen?: () => void;
|
18 | sceneContainerStyle?: ViewStyle;
|
19 | edgeWidth: number;
|
20 | hideStatusBar?: boolean;
|
21 | style?: ViewStyle;
|
22 | gestureHandlerProps?: React.ComponentProps<typeof PanGestureHandler>;
|
23 | };
|
24 | declare type Props = {
|
25 | lazy: boolean;
|
26 | navigation: NavigationScreenProp<NavigationDrawerState>;
|
27 | descriptors: SceneDescriptorMap;
|
28 | navigationConfig: DrawerOptions & {
|
29 | contentComponent?: React.ComponentType<DrawerContentComponentProps>;
|
30 | unmountInactiveRoutes?: boolean;
|
31 | contentOptions?: object;
|
32 | };
|
33 | screenProps: unknown;
|
34 | detachInactiveScreens: boolean;
|
35 | };
|
36 | declare type State = {
|
37 | loaded: number[];
|
38 | drawerWidth: number;
|
39 | };
|
40 |
|
41 |
|
42 |
|
43 | export default class DrawerView extends React.PureComponent<Props, State> {
|
44 | static contextType: React.Context<import("react-navigation").SupportedThemes>;
|
45 | static defaultProps: {
|
46 | lazy: boolean;
|
47 | };
|
48 | static getDerivedStateFromProps(nextProps: Props, prevState: State): {
|
49 | loaded: number[];
|
50 | };
|
51 | state: State;
|
52 | componentDidMount(): void;
|
53 | componentDidUpdate(prevProps: Props): void;
|
54 | componentWillUnmount(): void;
|
55 | context: React.ContextType<typeof ThemeContext>;
|
56 | private drawerGestureRef;
|
57 | private getLockMode;
|
58 | private handleDrawerOpen;
|
59 | private handleDrawerClose;
|
60 | private updateWidth;
|
61 | private renderNavigationView;
|
62 | private renderContent;
|
63 | private setDrawerGestureRef;
|
64 | private getDrawerBackgroundColor;
|
65 | private getOverlayColor;
|
66 | render(): JSX.Element;
|
67 | }
|
68 | export {};
|