28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
// Metro module 6556 (f6557).
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import { PressableOpacity } from "../../../../design/void/Pressables/native/Pressables";
|
|
import { Text } from "../../../../design/components/Text/native/Text";
|
|
const useStyles = createStyles({
|
|
defaultContainerStyle: {
|
|
display: "flex",
|
|
flexDirection: "row",
|
|
alignItems: "center",
|
|
justifyContent: "center"
|
|
},
|
|
disabledContainerStyle: {
|
|
opacity: 0.5
|
|
}
|
|
});
|
|
export function LinkButton(props) {
|
|
const { onPress, text, containerStyle, disabled, textStyle, variant = "text-xs/medium", textColor = "text-link", iconRight } = props;
|
|
const styles = useStyles();
|
|
return <PressableOpacity style={[styles.defaultContainerStyle, disabled && styles.disabledContainerStyle, containerStyle]} hitSlop={{
|
|
top: 8,
|
|
right: 8,
|
|
bottom: 8
|
|
}} accessibilityRole="button" activeOpacity={0.2} disabled={disabled} onPress={onPress}>
|
|
<Text style={textStyle} variant={variant} color={textColor}>{text}</Text>
|
|
{iconRight}
|
|
</PressableOpacity>;
|
|
}
|