Skip to content

Commit

Permalink
forward ref for link
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabricevladimir committed Sep 11, 2023
1 parent f1b8930 commit 0b65e9c
Showing 1 changed file with 24 additions and 28 deletions.
52 changes: 24 additions & 28 deletions src/components/link/link.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,34 +24,30 @@ type LinkType = (typeof LINK_VARIANTS)[number];
*
* @param {LinkProps} props - The properties of the link.
*/
export const Link: React.FC<LinkProps> = ({
disabled = false,
external = true,
type = 'primary',
iconRight,
description,
label,
href,
...props
}) => {
return (
<StyledLink
href={disabled ? undefined : href}
rel="noopener noreferrer"
type={type}
disabled={disabled}
{...(external && { target: '_blank' })}
{...props}
data-testid="link"
>
<div className="flex gap-x-1 items-center mr-0.5">
<Label>{label}</Label>
{iconRight && <div>{iconRight}</div>}
</div>
{description && <Description>{description}</Description>}
</StyledLink>
);
};
export const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(
({ disabled = false, external = true, type = 'primary', iconRight, description, label, href, ...props }, ref) => {
return (
<StyledLink
ref={ref}
href={disabled ? undefined : href}
rel="noopener noreferrer"
type={type}
disabled={disabled}
{...(external && { target: '_blank' })}
{...props}
data-testid="link"
>
<div className="flex gap-x-1 items-center mr-0.5">
<Label>{label}</Label>
{iconRight && <div>{iconRight}</div>}
</div>
{description && <Description>{description}</Description>}
</StyledLink>
);
},
);

Link.displayName = 'Link';

type StyledLinkProps = Pick<LinkProps, 'disabled'> & {
type: NonNullable<LinkProps['type']>;
Expand Down

0 comments on commit 0b65e9c

Please sign in to comment.