diff --git a/apps/common-app/src/new_api/components/clickable_stress/index.tsx b/apps/common-app/src/new_api/components/clickable_stress/index.tsx index 701029eeaf..153b4ef12e 100644 --- a/apps/common-app/src/new_api/components/clickable_stress/index.tsx +++ b/apps/common-app/src/new_api/components/clickable_stress/index.tsx @@ -116,7 +116,7 @@ export default function ClickableStress() { activeUnderlayOpacity={0.105} style={[styles.startButton, isRunning && styles.startButtonBusy]} onPress={start} - enabled={!isRunning}> + disabled={isRunning}> {isRunning ? `Running ${currentRun}/${N}...` : 'Start test'} diff --git a/packages/react-native-gesture-handler/src/v3/components/Clickable/Clickable.tsx b/packages/react-native-gesture-handler/src/v3/components/Clickable/Clickable.tsx index a026f875f6..de0595a04a 100644 --- a/packages/react-native-gesture-handler/src/v3/components/Clickable/Clickable.tsx +++ b/packages/react-native-gesture-handler/src/v3/components/Clickable/Clickable.tsx @@ -30,6 +30,7 @@ export const Clickable = (props: ClickableProps) => { onPressOut, onActiveStateChange, children, + disabled = false, ref, ...rest } = props; @@ -115,6 +116,7 @@ export const Clickable = (props: ClickableProps) => { {...rest} {...rippleProps} ref={ref ?? null} + enabled={!disabled} onBegin={onBegin} onActivate={onActivate} onDeactivate={onDeactivate} diff --git a/packages/react-native-gesture-handler/src/v3/components/Clickable/ClickableProps.ts b/packages/react-native-gesture-handler/src/v3/components/Clickable/ClickableProps.ts index 5ce4d922c7..02b886a4d8 100644 --- a/packages/react-native-gesture-handler/src/v3/components/Clickable/ClickableProps.ts +++ b/packages/react-native-gesture-handler/src/v3/components/Clickable/ClickableProps.ts @@ -15,7 +15,7 @@ type PressableAndroidRippleConfig = { type RippleProps = 'rippleColor' | 'rippleRadius' | 'borderless' | 'foreground'; -export type ClickableProps = Omit & +export type ClickableProps = Omit & Omit & { /** * Configuration for the ripple effect on Android. @@ -31,4 +31,9 @@ export type ClickableProps = Omit & * Called when pointer is released from the component. */ onPressOut?: ((event: CallbackEventType) => void) | undefined; + + /** + * Whether the component should ignore touches. By default set to false. + */ + disabled?: boolean | undefined; };