UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

40 lines (33 loc) 1.67 kB
"use strict"; 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;