ant-design-vue
Version:
An enterprise-class UI design language and Vue-based implementation
51 lines (40 loc) • 1.71 kB
JavaScript
import _typeof from "@babel/runtime/helpers/esm/typeof";
import _extends from "@babel/runtime/helpers/esm/extends";
import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
var __rest = this && this.__rest || function (s, e) {
var t = {};
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
}
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
import warning from '../_util/warning';
import Base, { baseProps } from './Base';
import Omit from 'omit.js';
import PropTypes from '../_util/vue-types';
var Link = function Link(props, _ref) {
var slots = _ref.slots,
attrs = _ref.attrs;
var _a = _extends(_extends({}, props), attrs),
ellipsis = _a.ellipsis,
rel = _a.rel,
restProps = __rest(_a, ["ellipsis", "rel"]);
warning(_typeof(ellipsis) !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.');
var mergedProps = _extends(_extends({}, 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 _createVNode(Base, mergedProps, slots);
};
Link.displayName = 'ATypographyLink';
Link.inheritAttrs = false;
Link.props = Omit(_extends(_extends({}, baseProps()), {
ellipsis: PropTypes.looseBool
}), ['component']);
export default Link;