UNPKG

govuk-react-jsx

Version:

[![govuk-frontend 4.0.1](https://img.shields.io/badge/govuk--frontend%20version-4.0.1-005EA5?logo=gov.uk&style=flat-square)](https://github.com/alphagov/govuk-frontend/releases/tag/v4.0.1) [![version](https://img.shields.io/npm/v/govuk-react-jsx.svg?style

54 lines (39 loc) 1.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Link = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _reactRouterDom = require("react-router-dom"); var _excluded = ["children", "to", "href", "forwardedRef"]; function Link(props) { var children = props.children, to = props.to, href = props.href, forwardedRef = props.forwardedRef, attributes = (0, _objectWithoutProperties2["default"])(props, _excluded); if (to) { return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, (0, _extends2["default"])({ innerRef: forwardedRef, to: to }, attributes), children); } return /*#__PURE__*/_react["default"].createElement("a", (0, _extends2["default"])({ ref: forwardedRef, href: href || '#' }, attributes), children); } Link.defaultProps = { forwardedRef: null }; function forwardRef(props, ref) { return /*#__PURE__*/_react["default"].createElement(Link, (0, _extends2["default"])({}, props, { forwardedRef: ref })); } forwardRef.displayName = 'LinkWithRef'; var LinkWithRef = /*#__PURE__*/_react["default"].forwardRef(forwardRef); exports.Link = LinkWithRef;