@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
56 lines (42 loc) • 1.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _ExternalLink = require("../icon/ExternalLink");
var _ExternalLink2 = _interopRequireDefault(_ExternalLink);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var classes = 'pointer c-link hover-c-link active-c-link no-underline underline-hover';
var Link = function Link(_ref) {
var children = _ref.children,
href = _ref.href,
target = _ref.target,
mediumWeigth = _ref.mediumWeigth;
return _react2.default.createElement("a", {
href: href,
target: target,
className: classes + " " + (mediumWeigth ? 'fw5' : '')
}, children, target === '_blank' && _react2.default.createElement("span", {
className: "ml2"
}, _react2.default.createElement(_ExternalLink2.default, {
size: 12
})));
};
Link.defaultProps = {
target: '_self',
mediumWeigth: false
};
Link.propTypes = {
/** Content of the link */
children: _propTypes2.default.string.isRequired,
/** Spec attribute */
href: _propTypes2.default.string.isRequired,
/** Spec attribute */
target: _propTypes2.default.oneOf(['_self', '_blank', '_parent', '_top']),
/** Weight property */
mediumWeigth: _propTypes2.default.bool
};
exports.default = Link;