UNPKG

17.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["Button.tsx"],"names":["React","Animated","View","StyleSheet","color","ActivityIndicator","Icon","Surface","Text","TouchableRipple","black","white","withTheme","Button","disabled","compact","mode","dark","loading","icon","buttonColor","children","uppercase","accessibilityLabel","accessibilityHint","onPress","onLongPress","style","theme","contentStyle","labelStyle","testID","accessible","rest","current","elevation","useRef","Value","useEffect","setValue","handlePressIn","scale","animation","timing","toValue","duration","useNativeDriver","start","handlePressOut","colors","roundness","font","fonts","medium","backgroundColor","borderColor","textColor","borderWidth","alpha","rgb","string","primary","hairlineWidth","isDark","isLight","rippleColor","buttonStyle","borderRadius","touchableStyle","flatten","customLabelColor","fontSize","customLabelSize","textStyle","iconStyle","flexDirection","styles","iconReverse","button","content","label","compactLabel","uppercaseLabel","create","minWidth","borderStyle","alignItems","justifyContent","marginLeft","marginRight","textAlign","letterSpacing","marginVertical","marginHorizontal","textTransform"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n View,\n ViewStyle,\n StyleSheet,\n StyleProp,\n TextStyle,\n} from 'react-native';\nimport color from 'color';\n\nimport ActivityIndicator from './ActivityIndicator';\nimport Icon, { IconSource } from './Icon';\nimport Surface from './Surface';\nimport Text from './Typography/Text';\nimport TouchableRipple from './TouchableRipple/TouchableRipple';\nimport { black, white } from '../styles/colors';\nimport { withTheme } from '../core/theming';\n\ntype Props = React.ComponentProps<typeof Surface> & {\n /**\n * Mode of the button. You can change the mode to adjust the styling to give it desired emphasis.\n * - `text` - flat button without background or outline (low emphasis)\n * - `outlined` - button with an outline (medium emphasis)\n * - `contained` - button with a background color and elevation shadow (high emphasis)\n */\n mode?: 'text' | 'outlined' | 'contained';\n /**\n * Whether the color is a dark color. A dark button will render light text and vice-versa. Only applicable for `contained` mode.\n */\n dark?: boolean;\n /**\n * Use a compact look, useful for `text` buttons in a row.\n */\n compact?: boolean;\n /**\n * Custom text color for flat button, or background color for contained button.\n */\n color?: string;\n /**\n * Whether to show a loading indicator.\n */\n loading?: boolean;\n /**\n * Icon to display for the `Button`.\n */\n icon?: IconSource;\n /**\n * Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.\n */\n disabled?: boolean;\n /**\n * Label text of the button.\n */\n children: React.ReactNode;\n /**\n * Make the label text uppercased. Note that this won't work if you pass React elements as children.\n */\n uppercase?: boolean;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityLabel?: string;\n /**\n * Accessibility hint for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityHint?: string;\n /**\n * Function to execute on press.\n */\n onPress?: () => void;\n /**\n * Function to execute on long press.\n */\n onLongPress?: () => void;\n /**\n * Style of button's inner content.\n * Use this prop to apply custom height and width and to set the icon on the right with `flexDirection: 'row-reverse'`.\n */\n contentStyle?: StyleProp<ViewStyle>;\n style?: StyleProp<ViewStyle>;\n /**\n * Style for the button text.\n */\n labelStyle?: StyleProp<TextStyle>;\n /**\n * @optional\n */\n theme: ReactNativePaper.Theme;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\n/**\n * A button is component that the user can press to trigger an action.\n *\n * <div class=\"screenshots\">\n * <figure>\n * <img src=\"screenshots/button-1.png\" />\n * <figcaption>Text button</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/button-2.png\" />\n * <figcaption>Outlined button</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/button-3.png\" />\n * <figcaption>Contained button</figcaption>\n * </figure>\n * </div>\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Button } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * <Button icon=\"camera\" mode=\"contained\" onPress={() => console.log('Pressed')}>\n * Press me\n * </Button>\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Button = ({\n disabled,\n compact,\n mode = 'text',\n dark,\n loading,\n icon,\n color: buttonColor,\n children,\n uppercase = true,\n accessibilityLabel,\n accessibilityHint,\n onPress,\n onLongPress,\n style,\n theme,\n contentStyle,\n labelStyle,\n testID,\n accessible,\n ...rest\n}: Props) => {\n const { current: elevation } = React.useRef<Animated.Value>(\n new Animated.Value(disabled || mode !== 'contained' ? 0 : 2)\n );\n React.useEffect(() => {\n elevation.setValue(disabled || mode !== 'contained' ? 0 : 2);\n }, [mode, elevation, disabled]);\n\n const handlePressIn = () => {\n if (mode === 'contained') {\n const { scale } = theme.animation;\n Animated.timing(elevation, {\n toValue: 8,\n duration: 200 * scale,\n useNativeDriver: true,\n }).start();\n }\n };\n\n const handlePressOut = () => {\n if (mode === 'contained') {\n const { scale } = theme.animation;\n Animated.timing(elevation, {\n toValue: 2,\n duration: 150 * scale,\n useNativeDriver: true,\n }).start();\n }\n };\n\n const { colors, roundness } = theme;\n const font = theme.fonts.medium;\n\n let backgroundColor: string,\n borderColor: string,\n textColor: string,\n borderWidth: number;\n\n if (mode === 'contained') {\n if (disabled) {\n backgroundColor = color(theme.dark ? white : black)\n .alpha(0.12)\n .rgb()\n .string();\n } else if (buttonColor) {\n backgroundColor = buttonColor;\n } else {\n backgroundColor = colors.primary;\n }\n } else {\n backgroundColor = 'transparent';\n }\n\n if (mode === 'outlined') {\n borderColor = color(theme.dark ? white : black)\n .alpha(0.29)\n .rgb()\n .string();\n borderWidth = StyleSheet.hairlineWidth;\n } else {\n borderColor = 'transparent';\n borderWidth = 0;\n }\n\n if (disabled) {\n textColor = color(theme.dark ? white : black)\n .alpha(0.32)\n .rgb()\n .string();\n } else if (mode === 'contained') {\n let isDark;\n\n if (typeof dark === 'boolean') {\n isDark = dark;\n } else {\n isDark =\n backgroundColor === 'transparent'\n ? false\n : !color(backgroundColor).isLight();\n }\n\n textColor = isDark ? white : black;\n } else if (buttonColor) {\n textColor = buttonColor;\n } else {\n textColor = colors.primary;\n }\n\n const rippleColor = color(textColor).alpha(0.32).rgb().string();\n const buttonStyle = {\n backgroundColor,\n borderColor,\n borderWidth,\n borderRadius: roundness,\n };\n const touchableStyle = {\n borderRadius: style\n ? ((StyleSheet.flatten(style) || {}) as ViewStyle).borderRadius ||\n roundness\n : roundness,\n };\n\n const { color: customLabelColor, fontSize: customLabelSize } =\n StyleSheet.flatten(labelStyle) || {};\n\n const textStyle = { color: textColor, ...font };\n const iconStyle =\n StyleSheet.flatten(contentStyle)?.flexDirection === 'row-reverse'\n ? styles.iconReverse\n : styles.icon;\n\n return (\n <Surface\n {...rest}\n style={[\n styles.button,\n compact && styles.compact,\n { elevation },\n buttonStyle,\n style,\n ]}\n >\n <TouchableRipple\n borderless\n delayPressIn={0}\n onPress={onPress}\n onLongPress={onLongPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint={accessibilityHint}\n // @ts-expect-error We keep old a11y props for backwards compat with old RN versions\n accessibilityTraits={disabled ? ['button', 'disabled'] : 'button'}\n accessibilityComponentType=\"button\"\n accessibilityRole=\"button\"\n accessibilityState={{ disabled }}\n accessible={accessible}\n disabled={disabled}\n rippleColor={rippleColor}\n style={touchableStyle}\n testID={testID}\n >\n <View style={[styles.content, contentStyle]}>\n {icon && loading !== true ? (\n <View style={iconStyle}>\n <Icon\n source={icon}\n size={customLabelSize ?? 16}\n color={\n typeof customLabelColor === 'string'\n ? customLabelColor\n : textColor\n }\n />\n </View>\n ) : null}\n {loading ? (\n <ActivityIndicator\n size={customLabelSize ?? 16}\n color={\n typeof customLabelColor === 'string'\n ? customLabelColor\n : textColor\n }\n style={iconStyle}\n />\n ) : null}\n <Text\n selectable={false}\n numberOfLines={1}\n style={[\n styles.label,\n compact && styles.compactLabel,\n uppercase && styles.uppercaseLabel,\n textStyle,\n font,\n labelStyle,\n ]}\n >\n {children}\n </Text>\n </View>\n </TouchableRipple>\n </Surface>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n minWidth: 64,\n borderStyle: 'solid',\n },\n compact: {\n minWidth: 'auto',\n },\n content: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginLeft: 12,\n marginRight: -4,\n },\n iconReverse: {\n marginRight: 12,\n marginLeft: -4,\n },\n label: {\n textAlign: 'center',\n letterSpacing: 1,\n marginVertical: 9,\n marginHorizontal: 16,\n },\n compactLabel: {\n marginHorizontal: 8,\n },\n uppercaseLabel: {\n textTransform: 'uppercase',\n },\n});\n\nexport default withTheme(Button);\n"]}
\No newline at end of file