44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
// Metro module 10935 (f10936).
|
|
import { View } from "react-native";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { PressableOpacity } from "../../../design/void/Pressables/native/Pressables";
|
|
import { Icon } from "../../../design/void/native";
|
|
import { Text } from "../../../design/components/Text/native/Text";
|
|
const useStyles = createStyles({
|
|
container: {
|
|
flexDirection: "column",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
paddingVertical: 8,
|
|
width: 78
|
|
},
|
|
iconBox: {
|
|
borderRadius: Module712.radii.round,
|
|
border: 1,
|
|
overflow: "hidden",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
backgroundColor: Module712.colors.BACKGROUND_BASE_LOW,
|
|
...Module712.shadows.SHADOW_LOW
|
|
},
|
|
icon: {
|
|
margin: 12,
|
|
tintColor: Module712.colors.INTERACTIVE_TEXT_DEFAULT
|
|
},
|
|
name: {
|
|
textAlign: "center",
|
|
marginTop: 8
|
|
}
|
|
});
|
|
export function SummaryActionSheetButton(props) {
|
|
const { label, iconSource, onPress } = props;
|
|
const styles = useStyles();
|
|
return <PressableOpacity style={styles.container} onPress={onPress} accessibilityRole="button" accessibilityLabel={label}>
|
|
<View style={[styles.iconBox]}>
|
|
<Icon style={styles.icon} source={iconSource} />
|
|
</View>
|
|
<Text style={styles.name} variant="text-xs/medium" color="interactive-text-default" lineClamp={1}>{label}</Text>
|
|
</PressableOpacity>;
|
|
}
|