All files / app/components external-link.tsx

0% Statements 0/9
100% Branches 0/0
0% Functions 0/2
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34                                                                   
import { LegalDisclaimerTooltip } from './legal-disclaimer-tooltip';
import { Box, Text, BoxProps, color } from '@stacks/ui';
import { openExternalLink } from '@utils/external-links';
import React, { FC } from 'react';
 
interface ExternalLinkProps extends BoxProps {
  href: string;
}
 
export const ExternalLink: FC<ExternalLinkProps> = ({ href, children, ...props }) => {
  const openUrl = () => openExternalLink(href);
  return (
    <LegalDisclaimerTooltip display="inline-block">
      <Text
        onClick={openUrl}
        as="button"
        type="button"
        cursor="pointer"
        display="block"
        outline={0}
        color={color('brand')}
        _hover={{ textDecoration: 'underline' }}
        _focus={{ textDecoration: 'underline' }}
        {...props}
      >
        {children}
        <Box display="inline-block" ml="extra-tight" mb="1px">
          ↗
        </Box>
      </Text>
    </LegalDisclaimerTooltip>
  );
};