1import React, { ComponentType, forwardRef } from 'react'; 2import { Linking, Platform } from 'react-native'; 3 4import Text from '../primitives/Text'; 5import { LinkProps } from './Text.types'; 6 7export const A = forwardRef(({ href, target, ...props }: LinkProps, ref) => { 8 const nativeProps = Platform.select<LinkProps>({ 9 web: { 10 href, 11 target, 12 }, 13 default: { 14 onPress: (event) => { 15 props.onPress && props.onPress(event); 16 if (Platform.OS !== 'web' && href !== undefined) { 17 Linking.openURL(href); 18 } 19 }, 20 }, 21 }); 22 return <Text accessibilityRole="link" {...props} {...nativeProps} ref={ref} />; 23}) as ComponentType<LinkProps>; 24