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