diff --git a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt index 8292b72a73..ade22b5167 100644 --- a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +++ b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt @@ -1,6 +1,7 @@ package com.swmansion.gesturehandler.react import com.facebook.react.module.annotations.ReactModule +import com.facebook.react.uimanager.PointerEvents.Companion.parsePointerEvents import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.uimanager.ViewGroupManager import com.facebook.react.uimanager.ViewManagerDelegate @@ -39,6 +40,11 @@ class RNGestureHandlerRootViewManager : view.setModuleId(value) } + @ReactProp(name = "pointerEvents") + override fun setPointerEvents(view: RNGestureHandlerRootView, pointerEventsStr: String?) { + view.pointerEvents = parsePointerEvents(pointerEventsStr) + } + @ReactProp(name = "unstable_forceActive") override fun setUnstable_forceActive(view: RNGestureHandlerRootView, active: Boolean) { view.setUnstableForceActive(active) diff --git a/packages/react-native-gesture-handler/src/specs/RNGestureHandlerRootViewNativeComponent.ts b/packages/react-native-gesture-handler/src/specs/RNGestureHandlerRootViewNativeComponent.ts index 6497da2d34..8d3bfa8f48 100644 --- a/packages/react-native-gesture-handler/src/specs/RNGestureHandlerRootViewNativeComponent.ts +++ b/packages/react-native-gesture-handler/src/specs/RNGestureHandlerRootViewNativeComponent.ts @@ -6,7 +6,12 @@ export interface RootViewNativeProps extends ViewProps { unstable_forceActive?: boolean; } +// @ts-expect-error WithDefault adds null for codegen, unlike ViewProps.pointerEvents. interface NativeProps extends ViewProps { + pointerEvents?: CodegenTypes.WithDefault< + 'box-none' | 'none' | 'box-only' | 'auto', + 'auto' + >; moduleId?: CodegenTypes.WithDefault; unstable_forceActive?: boolean; }