@carbon/ibm-security
Version:
Carbon for Cloud & Cognitive IBM Security UI components
57 lines (55 loc) • 2.23 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _iconsReact = require("@carbon/icons-react");
var _classnames = _interopRequireDefault(require("classnames"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _Icon = _interopRequireDefault(require("../Icon"));
var _Link = _interopRequireDefault(require("../Link"));
var _namespace = require("../../globals/namespace");
var _excluded = ["children", "className", "href"];
/**
* @file External link.
* @copyright IBM Security 2019 - 2021
*/
var namespace = (0, _namespace.getComponentNamespace)('link--external');
/**
* External link component.
*/
var ExternalLink = function ExternalLink(_ref) {
var children = _ref.children,
className = _ref.className,
href = _ref.href,
other = (0, _objectWithoutProperties2.default)(_ref, _excluded);
return /*#__PURE__*/_react.default.createElement(_Link.default, (0, _extends2.default)({
className: (0, _classnames.default)(className, namespace),
href: href,
rel: "noopener noreferrer",
target: "_blank"
}, other), /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(namespace, "__title")
}, children), /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(namespace, "__icon-wrapper")
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
className: "".concat(namespace, "__icon"),
renderIcon: _iconsReact.Launch16
})));
};
ExternalLink.propTypes = {
/** @type {string} The link content. */
children: _propTypes.default.node.isRequired,
/** @type {string} Additional classes. */
className: _propTypes.default.string,
/** @type {string} The external URL. */
href: _propTypes.default.string.isRequired
};
ExternalLink.defaultProps = {
className: ''
};
var _default = exports.default = ExternalLink;