Link.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
  3. var __rest = this && this.__rest || function (s, e) {
  4. var t = {};
  5. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
  6. if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  7. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
  8. }
  9. return t;
  10. };
  11. import warning from '../_util/warning';
  12. import Base, { baseProps } from './Base';
  13. import omit from '../_util/omit';
  14. export const linkProps = () => omit(_extends(_extends({}, baseProps()), {
  15. ellipsis: {
  16. type: Boolean,
  17. default: undefined
  18. }
  19. }), ['component']);
  20. const Link = (props, _ref) => {
  21. let {
  22. slots,
  23. attrs
  24. } = _ref;
  25. const _a = _extends(_extends({}, props), attrs),
  26. {
  27. ellipsis,
  28. rel
  29. } = _a,
  30. restProps = __rest(_a, ["ellipsis", "rel"]);
  31. warning(typeof ellipsis !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.');
  32. const mergedProps = _extends(_extends({}, restProps), {
  33. rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel,
  34. ellipsis: !!ellipsis,
  35. component: 'a'
  36. });
  37. // https://github.com/ant-design/ant-design/issues/26622
  38. // @ts-ignore
  39. delete mergedProps.navigate;
  40. return _createVNode(Base, mergedProps, slots);
  41. };
  42. Link.displayName = 'ATypographyLink';
  43. Link.inheritAttrs = false;
  44. Link.props = linkProps();
  45. export default Link;