UNPKG

@uiw/react-native

Version:
54 lines (53 loc) 1.66 kB
import { Component } from 'react'; import { Animated, ViewProps, ViewStyle, GestureResponderEvent } from 'react-native'; export interface DrawerProps extends ViewProps { isOpen?: boolean; maskClosable?: boolean; placement?: 'right' | 'left' | 'top' | 'bottom'; drawerWidth?: number; drawerHeight?: number; maskProps?: ViewStyle; drawerBackgroundColor?: string; onChange?: (isOpen: boolean) => void; openDrawer?: (isOpen: boolean) => void; closeDrawer?: (isOpen: boolean) => void; } export interface DrawerState { drawerValue: Animated.ValueXY; overlayValue: Animated.Value; zIndexValue: number; handleDrawer: (isOpen: boolean) => void; control: 'props' | 'state'; isOpen: boolean; } export default class Drawer extends Component<DrawerProps, DrawerState> { static defaultProps: { placement: string; drawerBackgroundColor: string; drawerWidth: number; drawerHeight: number; maskClosable: boolean; isOpen: boolean; onChange: () => null; openDrawer: () => null; closeDrawer: () => null; }; private handleDrawer; constructor(props: DrawerProps); static getDerivedStateFromProps(props: DrawerProps, state: DrawerState): { control: string; isOpen?: undefined; } | { isOpen: boolean | undefined; control: string; } | null; componentDidMount(): void; onOverlayClick: (e: GestureResponderEvent) => false | undefined; render(): JSX.Element; getInitPosition(): { x: number; y: number; }; openDrawer(): void; closeDrawer(): void; }