@automattic/simple-components
Version:
React components, as used on WordPress.com
76 lines (60 loc) • 2.28 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _gridicons = _interopRequireDefault(require("gridicons"));
/** @format */
/**
* External dependencies
*/
var _default =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(_default, _React$Component);
function _default() {
(0, _classCallCheck2.default)(this, _default);
return (0, _possibleConstructorReturn2.default)(this, (_default.__proto__ || Object.getPrototypeOf(_default)).apply(this, arguments));
}
(0, _createClass2.default)(_default, [{
key: "render",
value: function render() {
var attributes = {
className: 'notice__action',
href: this.props.href,
onClick: this.props.onClick
};
if (this.props.external) {
attributes.target = '_blank';
attributes.rel = 'noopener noreferrer';
}
return _react.default.createElement("a", attributes, _react.default.createElement("span", null, this.props.children), this.props.icon && _react.default.createElement(_gridicons.default, {
icon: this.props.icon,
size: 24
}), this.props.external && _react.default.createElement(_gridicons.default, {
icon: "external",
size: 24
}));
}
}]);
return _default;
}(_react.default.Component);
exports.default = _default;
_default.displayName = 'NoticeAction';
_default.propTypes = {
href: _propTypes.default.string,
onClick: _propTypes.default.func,
external: _propTypes.default.bool,
icon: _propTypes.default.string
};
_default.defaultProps = {
external: false
};
module.exports = exports["default"];