react-native-paper
Version:
Material design for React Native
207 lines (206 loc) • 9.16 kB
TypeScript
import * as React from 'react';
import { ViewStyle, StyleProp, GestureResponderEvent, TouchableWithoutFeedback } from 'react-native';
import TouchableRipple from './TouchableRipple/TouchableRipple';
import { IconSource } from './Icon';
import type { $RemoveChildren } from '../types';
declare type Props = $RemoveChildren<typeof TouchableRipple> & {
/**
* Icon to display.
*/
icon: IconSource;
/**
* Color of the icon.
*/
color?: string;
/**
* Size of the icon.
*/
size?: number;
/**
* Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.
*/
disabled?: boolean;
/**
* Whether an icon change is animated.
*/
animated?: boolean;
/**
* Accessibility label for the button. This is read by the screen reader when the user taps the button.
*/
accessibilityLabel?: string;
/**
* Function to execute on press.
*/
onPress?: (e: GestureResponderEvent) => void;
style?: StyleProp<ViewStyle>;
ref?: React.RefObject<TouchableWithoutFeedback>;
/**
* @optional
*/
theme: ReactNativePaper.Theme;
};
declare const _default: React.ComponentType<Pick<$RemoveChildren<React.ComponentType<Pick<import("react-native").TouchableWithoutFeedbackProps & React.RefAttributes<TouchableWithoutFeedback> & {
borderless?: boolean | undefined;
background?: Object | undefined;
centered?: boolean | undefined;
disabled?: boolean | undefined;
onPress?: ((e: GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: GestureResponderEvent) => void) | undefined;
rippleColor?: string | undefined;
underlayColor?: string | undefined;
children: React.ReactNode;
style?: StyleProp<ViewStyle>;
theme: ReactNativePaper.Theme;
}, keyof import("react-native").TouchableWithoutFeedbackProps | "background" | "borderless" | "rippleColor" | "underlayColor" | "centered" | keyof React.RefAttributes<TouchableWithoutFeedback>> & {
/**
* Size of the icon.
*/
theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
}> & import("@callstack/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<import("react-native").TouchableWithoutFeedbackProps & React.RefAttributes<TouchableWithoutFeedback> & {
borderless?: boolean | undefined;
background?: Object | undefined;
centered?: boolean | undefined;
disabled?: boolean | undefined;
onPress?: ((e: GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: GestureResponderEvent) => void) | undefined;
rippleColor?: string | undefined;
underlayColor?: string | undefined;
children: React.ReactNode;
style?: StyleProp<ViewStyle>;
theme: ReactNativePaper.Theme;
}> & {
({ style, background: _background, borderless, disabled: disabledProp, rippleColor, underlayColor: _underlayColor, children, theme, ...rest }: import("react-native").TouchableWithoutFeedbackProps & React.RefAttributes<TouchableWithoutFeedback> & {
borderless?: boolean | undefined;
background?: Object | undefined;
centered?: boolean | undefined;
disabled?: boolean | undefined;
onPress?: ((e: GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: GestureResponderEvent) => void) | undefined;
rippleColor?: string | undefined;
underlayColor?: string | undefined;
children: React.ReactNode;
style?: StyleProp<ViewStyle>;
theme: ReactNativePaper.Theme;
}): JSX.Element;
supported: boolean;
}, {}>> & {
/**
* Icon to display.
*/
icon: IconSource;
/**
* Color of the icon.
*/
color?: string | undefined;
/**
* Size of the icon.
*/
size?: number | undefined;
/**
* Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.
*/
disabled?: boolean | undefined;
/**
* Whether an icon change is animated.
*/
animated?: boolean | undefined;
/**
* Accessibility label for the button. This is read by the screen reader when the user taps the button.
*/
accessibilityLabel?: string | undefined;
/**
* Function to execute on press.
*/
onPress?: ((e: GestureResponderEvent) => void) | undefined;
style?: StyleProp<ViewStyle>;
ref?: React.RefObject<TouchableWithoutFeedback> | undefined;
/**
* @optional
*/
theme: ReactNativePaper.Theme;
}, "style" | "color" | "size" | "onLayout" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "testID" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "accessibilityRole" | "accessibilityState" | "accessibilityHint" | "accessibilityValue" | "onAccessibilityAction" | "accessibilityLiveRegion" | "importantForAccessibility" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "icon" | "ref" | "key" | "hitSlop" | "delayLongPress" | "delayPressIn" | "delayPressOut" | "disabled" | "onBlur" | "onFocus" | "pressRetentionOffset" | "touchSoundDisabled" | "background" | "borderless" | "rippleColor" | "underlayColor" | "centered" | "animated"> & {
/**
* Size of the icon.
*/
theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
}> & import("@callstack/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<$RemoveChildren<React.ComponentType<Pick<import("react-native").TouchableWithoutFeedbackProps & React.RefAttributes<TouchableWithoutFeedback> & {
borderless?: boolean | undefined;
background?: Object | undefined;
centered?: boolean | undefined;
disabled?: boolean | undefined;
onPress?: ((e: GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: GestureResponderEvent) => void) | undefined;
rippleColor?: string | undefined;
underlayColor?: string | undefined;
children: React.ReactNode;
style?: StyleProp<ViewStyle>;
theme: ReactNativePaper.Theme;
}, keyof import("react-native").TouchableWithoutFeedbackProps | "background" | "borderless" | "rippleColor" | "underlayColor" | "centered" | keyof React.RefAttributes<TouchableWithoutFeedback>> & {
/**
* Size of the icon.
*/
theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
}> & import("@callstack/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<import("react-native").TouchableWithoutFeedbackProps & React.RefAttributes<TouchableWithoutFeedback> & {
borderless?: boolean | undefined;
background?: Object | undefined;
centered?: boolean | undefined;
disabled?: boolean | undefined;
onPress?: ((e: GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: GestureResponderEvent) => void) | undefined;
rippleColor?: string | undefined;
underlayColor?: string | undefined;
children: React.ReactNode;
style?: StyleProp<ViewStyle>;
theme: ReactNativePaper.Theme;
}> & {
({ style, background: _background, borderless, disabled: disabledProp, rippleColor, underlayColor: _underlayColor, children, theme, ...rest }: import("react-native").TouchableWithoutFeedbackProps & React.RefAttributes<TouchableWithoutFeedback> & {
borderless?: boolean | undefined;
background?: Object | undefined;
centered?: boolean | undefined;
disabled?: boolean | undefined;
onPress?: ((e: GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: GestureResponderEvent) => void) | undefined;
rippleColor?: string | undefined;
underlayColor?: string | undefined;
children: React.ReactNode;
style?: StyleProp<ViewStyle>;
theme: ReactNativePaper.Theme;
}): JSX.Element;
supported: boolean;
}, {}>> & {
/**
* Icon to display.
*/
icon: IconSource;
/**
* Color of the icon.
*/
color?: string | undefined;
/**
* Size of the icon.
*/
size?: number | undefined;
/**
* Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.
*/
disabled?: boolean | undefined;
/**
* Whether an icon change is animated.
*/
animated?: boolean | undefined;
/**
* Accessibility label for the button. This is read by the screen reader when the user taps the button.
*/
accessibilityLabel?: string | undefined;
/**
* Function to execute on press.
*/
onPress?: ((e: GestureResponderEvent) => void) | undefined;
style?: StyleProp<ViewStyle>;
ref?: React.RefObject<TouchableWithoutFeedback> | undefined;
/**
* @optional
*/
theme: ReactNativePaper.Theme;
}> & (({ icon, color: customColor, size, accessibilityLabel, disabled, onPress, animated, theme, style, ...rest }: Props) => JSX.Element), {}>;
export default _default;