@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
40 lines (33 loc) • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.Link = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var Link = function Link(props) {
return /*#__PURE__*/_react["default"].createElement("a", _extends({
target: "__blank",
rel: "noopener noreferrer",
"data-metrics-event-name": "anchor",
"data-metrics-type": props.onClick ? "onClick" : props.href ? "href" : undefined,
"data-metrics-name": props.name || props["aria-label"] || props.children || props.text,
"data-metrics-label": props["aria-label"] || props.children || props.text,
"data-metrics-value": props.onClick ? props.onClick.name : props.href ? props.href : undefined
}, props, {
className: ["link", props.className].join(" ").trim()
}), props.children || props.text);
};
exports.Link = Link;
Link.propTypes = {
className: _propTypes["default"].string,
href: _propTypes["default"].string,
"aria-label": _propTypes["default"].string,
name: _propTypes["default"].string,
onClick: _propTypes["default"].func,
text: _propTypes["default"].string
};
var _default = Link;
exports["default"] = _default;