All files / src/link ExternalLink.tsx

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

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 35                          6x   20x 20x                                    
import React, { AnchorHTMLAttributes, forwardRef } from "react";
import classNames from "classnames";
import { useConfig } from "../_util/config-context";
 
export interface ExternalLinkProps
  extends AnchorHTMLAttributes<HTMLAnchorElement> {
  /**
   * 不显示为高亮色
   * @default false
   */
  weak?: boolean;
}
 
export const ExternalLink = forwardRef<HTMLAnchorElement, ExternalLinkProps>(
  ({ className, weak, children, ...props }: ExternalLinkProps, ref) => {
    const { classPrefix } = useConfig();
    return (
      <a
        target="_blank"
        {...props}
        ref={ref}
        className={classNames(
          `${classPrefix}-link-external`,
          {
            [`${classPrefix}-link-external--black`]: weak,
          },
          className
        )}
      >
        {children}
      </a>
    );
  }
);