@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
26 lines (25 loc) • 1.24 kB
JavaScript
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); }
import PropTypes from "prop-types";
import React from "react";
export var Link = props => {
return /*#__PURE__*/React.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);
};
Link.propTypes = {
className: PropTypes.string,
href: PropTypes.string,
"aria-label": PropTypes.string,
name: PropTypes.string,
onClick: PropTypes.func,
text: PropTypes.string
};
export default Link;