react-native-gesture-handler
Version:
Declarative API exposing native platform touch and gesture system to React Native
169 lines • 5.93 kB
TypeScript
import type { AccessibilityProps, ColorValue, HostComponent, LayoutChangeEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
export interface ButtonProps extends ViewProps, AccessibilityProps {
children?: React.ReactNode;
ref?: React.Ref<React.ComponentRef<typeof ButtonComponent>> | undefined;
/**
* Defines if buttons should respond to touches. By default set to true.
*/
enabled?: boolean | undefined;
/**
* Defines if more than one button could be pressed simultaneously. By default
* set true.
*/
exclusive?: boolean | undefined;
/**
* Android only.
*
* Defines color of native ripple animation used since API level 21.
*/
rippleColor?: number | ColorValue | null | undefined;
/**
* Android only.
*
* Defines radius of native ripple animation used since API level 21.
*/
rippleRadius?: number | null | undefined;
/**
* Android only.
*
* Set this to true if you want the ripple animation to render outside the view bounds.
*/
borderless?: boolean | undefined;
/**
* Android only.
*
* Defines whether the ripple animation should be drawn on the foreground of the view.
*/
foreground?: boolean | undefined;
/**
* Android only.
*
* Set this to true if you don't want the system to play sound when the button is pressed.
*/
touchSoundDisabled?: boolean | undefined;
/**
* Minimum duration (in milliseconds) of the press-in animation on a
* quick tap. Defaults to 50ms.
*/
tapAnimationInDuration?: number | undefined;
/**
* Minimum duration (in milliseconds) of the press-out animation on a
* quick tap. Defaults to 100ms.
*/
tapAnimationOutDuration?: number | undefined;
/**
* Threshold (in milliseconds) at which the press-out animation
* switches from the tap-out timing to `longPressAnimationOutDuration`.
* Set to any negative value to disable the switch.
*/
longPressDuration?: number | undefined;
/**
* Duration of the press-out animation, in milliseconds, when the
* button is released after being held past `longPressDuration`.
* Defaults to `tapAnimationOutDuration` when not set (or set to any
* negative value).
*/
longPressAnimationOutDuration?: number | undefined;
/**
* Opacity applied to the button when it is pressed.
*/
activeOpacity?: number | undefined;
/**
* Scale applied to the button when it is pressed.
*/
activeScale?: number | undefined;
/**
* Opacity applied to the underlay when the button is pressed.
*/
activeUnderlayOpacity?: number | undefined;
/**
* Web only.
*
* Opacity applied to the button when it is hovered. Defaults to
* `defaultOpacity` when not set.
*/
hoverOpacity?: number | undefined;
/**
* Web only.
*
* Scale applied to the button when it is hovered. Defaults to
* `defaultScale` when not set.
*/
hoverScale?: number | undefined;
/**
* Web only.
*
* Opacity applied to the underlay when the button is hovered. Defaults
* to `defaultUnderlayOpacity` when not set.
*/
hoverUnderlayOpacity?: number | undefined;
/**
* Web only.
*
* Duration of the hover-in animation, in milliseconds. Defaults to 50ms.
*/
hoverAnimationInDuration?: number | undefined;
/**
* Web only.
*
* Duration of the hover-out animation, in milliseconds. Defaults to 100ms.
*/
hoverAnimationOutDuration?: number | undefined;
/**
* Opacity applied to the button when it is not pressed.
*/
defaultOpacity?: number | undefined;
/**
* Scale applied to the button when it is not pressed.
*/
defaultScale?: number | undefined;
/**
* Opacity applied to the underlay when the button is not pressed.
*/
defaultUnderlayOpacity?: number | undefined;
/**
* Color of the underlay.
*/
underlayColor?: ColorValue | undefined;
/**
* Android only.
*
* Whether the view should render with an offscreen alpha-compositing buffer
* when its `opacity` is less than 1. Defaults to `false` — without the
* offscreen buffer, children that draw past the view's bounds (e.g. anti-
* aliased border edges) are not clipped by the layer when `opacity < 1`.
* Set to `true` to opt back into the standard Android behavior.
*/
needsOffscreenAlphaCompositing?: boolean | undefined;
/**
* Style object, use it to set additional styles.
*/
style?: StyleProp<ViewStyle>;
/**
* Invoked on mount and layout changes.
*/
onLayout?: ((event: LayoutChangeEvent) => void) | undefined;
/**
* Used for testing-library compatibility, not passed to the native component.
* @deprecated test-only props are deprecated and will be removed in the future.
*/
testOnly_onPress?: Function | null | undefined;
/**
* Used for testing-library compatibility, not passed to the native component.
* @deprecated test-only props are deprecated and will be removed in the future.
*/
testOnly_onPressIn?: Function | null | undefined;
/**
* Used for testing-library compatibility, not passed to the native component.
* @deprecated test-only props are deprecated and will be removed in the future.
*/
testOnly_onPressOut?: Function | null | undefined;
/**
* Used for testing-library compatibility, not passed to the native component.
* @deprecated test-only props are deprecated and will be removed in the future.
*/
testOnly_onLongPress?: Function | null | undefined;
}
export declare const ButtonComponent: HostComponent<ButtonProps>;
export default ButtonComponent;
//# sourceMappingURL=GestureHandlerButton.d.ts.map