pouncejs
Version:
A collection of UI components from Panther labs
39 lines (30 loc) • 1.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.Link = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _Box = _interopRequireDefault(require("../Box"));
var _useLinkStyles = _interopRequireDefault(require("./useLinkStyles"));
var Link = /*#__PURE__*/_react.default.forwardRef(function Link(_ref, ref) {
var external = _ref.external,
disabled = _ref.disabled,
variant = _ref.variant,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["external", "disabled", "variant"]);
var externalProps = external ? {
target: '_blank',
rel: 'noopener noreferrer'
} : {};
var variantStyles = (0, _useLinkStyles.default)({
variant: variant
});
return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({
as: disabled ? 'span' : 'a',
ref: ref,
"aria-disabled": disabled
}, externalProps, variantStyles, rest));
});
exports.Link = Link;
var _default = Link;
exports.default = _default;