UNPKG

react-native-gesture-handler

Version:

Declarative API exposing native platform touch and gesture system to React Native

70 lines (60 loc) 1.83 kB
import type React from 'react'; import { Animated, StyleSheet } from 'react-native'; import type { TouchAction, UserSelect, } from '../../handlers/gestureHandlerCommon'; import type { GestureDetectorProps as LegacyDetectorProps } from '../../handlers/gestures/GestureDetector'; import type { Gesture } from '../types'; import HostGestureDetector from './HostGestureDetector'; export enum GestureDetectorType { Native, Virtual, Intercepting, } interface CommonGestureDetectorProps { children?: React.ReactNode; userSelect?: UserSelect | undefined; touchAction?: TouchAction | undefined; enableContextMenu?: boolean | undefined; } export interface NativeDetectorProps< TConfig, THandlerData, TExtendedHandlerData extends THandlerData, > extends CommonGestureDetectorProps { gesture: Gesture<TConfig, THandlerData, TExtendedHandlerData>; } export interface InterceptingGestureDetectorProps< TConfig, THandlerData, TExtendedHandlerData extends THandlerData, > extends CommonGestureDetectorProps { gesture?: Gesture<TConfig, THandlerData, TExtendedHandlerData>; } export interface VirtualDetectorProps< TConfig, THandlerData, TExtendedHandlerData extends THandlerData, > extends CommonGestureDetectorProps { gesture: Gesture<TConfig, THandlerData, TExtendedHandlerData>; } export type GestureDetectorProps< TConfig, THandlerData, TExtendedHandlerData extends THandlerData, > = | NativeDetectorProps<TConfig, THandlerData, TExtendedHandlerData> | InterceptingGestureDetectorProps< TConfig, THandlerData, TExtendedHandlerData > | LegacyDetectorProps; export const AnimatedNativeDetector = Animated.createAnimatedComponent(HostGestureDetector); export const nativeDetectorStyles = StyleSheet.create({ detector: { display: 'contents', }, });