import type { AnchorHTMLAttributes, ExtractPropTypes, FunctionalComponent } from 'vue'; import warning from '../_util/warning'; import Base, { baseProps } from './Base'; import omit from '../_util/omit'; export const linkProps = () => omit({ ...baseProps(), ellipsis: { type: Boolean, default: undefined } }, ['component']); export type LinkProps = Partial>> & AnchorHTMLAttributes; const Link: FunctionalComponent = (props, { slots, attrs }) => { const { ellipsis, rel, ...restProps } = { ...props, ...attrs }; warning( typeof ellipsis !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.', ); const mergedProps = { ...restProps, rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel, ellipsis: !!ellipsis, component: 'a', }; // https://github.com/ant-design/ant-design/issues/26622 // @ts-ignore delete mergedProps.navigate; return ; }; Link.displayName = 'ATypographyLink'; Link.inheritAttrs = false; Link.props = linkProps(); export default Link;