UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

26 lines (25 loc) 1.24 kB
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;