UNPKG

react-native-popover-view

Version:

A <Popover /> component for react-native iOS, Android, and Web

72 lines (71 loc) 1.8 kB
import { Animated, StyleProp, ViewStyle } from 'react-native'; import { ReactNode } from 'react'; export declare enum Placement { TOP = "top", RIGHT = "right", BOTTOM = "bottom", LEFT = "left", AUTO = "auto", FLOATING = "floating", CENTER = "center" } export declare enum Mode { JS_MODAL = "js-modal", RN_MODAL = "rn-modal", TOOLTIP = "tooltip" } export declare type Insets = { left?: number; right?: number; bottom?: number; top?: number; }; export interface ModalPopoverState { visible: boolean; } export declare type PopoverProps = { children?: ReactNode; isVisible?: boolean; placement?: Placement | Array<Placement>; animationConfig?: Partial<Animated.TimingAnimationConfig>; offset?: number; displayArea?: Rect; displayAreaInsets?: Insets; popoverStyle?: StyleProp<ViewStyle>; popoverShift?: { x?: number; y?: number; }; backgroundStyle?: StyleProp<ViewStyle>; arrowShift?: number; arrowSize?: Size; statusBarTranslucent?: boolean; onOpenStart?: () => void; onOpenComplete?: () => void; onRequestClose?: () => void; onCloseStart?: () => void; onCloseComplete?: () => void; onPositionChange?: () => void; debug?: boolean; }; export declare class Point { x: number; y: number; constructor(x: number, y: number); equals(b: Point): boolean; } export declare class Size { width: number; height: number; constructor(width: number, height: number); equals(b: Size): boolean; } export declare class Rect { x: number; y: number; width: number; height: number; constructor(x: number, y: number, width: number, height: number); equals(b: Rect): boolean; static clone(rect: Rect): Rect; }