@teamix/typography
Version:
36 lines (28 loc) • 1.34 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["ellipsis", "rel"];
import * as React from 'react';
import devWarning from './_util/devWarning';
import Base from './Base';
var Link = function Link(_ref, ref) {
var ellipsis = _ref.ellipsis,
rel = _ref.rel,
restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
devWarning(typeof ellipsis !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.');
var baseRef = React.useRef(null); // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
React.useImperativeHandle(ref, function () {
var _baseRef$current;
return (_baseRef$current = baseRef.current) === null || _baseRef$current === void 0 ? void 0 : _baseRef$current.contentRef.current;
});
var mergedProps = _extends({}, restProps, {
rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel
}); // https://github.com/ant-design/ant-design/issues/26622
// @ts-ignore
delete mergedProps.navigate;
return /*#__PURE__*/React.createElement(Base, _extends({}, mergedProps, {
ref: baseRef,
ellipsis: !!ellipsis,
component: "a"
}));
};
export default /*#__PURE__*/React.forwardRef(Link);