UNPKG

1.61 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports["default"] = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _core = require("@emotion/core");
13
14var _PseudoBox = _interopRequireDefault(require("../PseudoBox"));
15
16var _react = require("react");
17
18/** @jsx jsx */
19var baseStyleProps = {
20 transition: "all 0.15s ease-out",
21 cursor: "pointer",
22 textDecoration: "none",
23 outline: "none",
24 _focus: {
25 boxShadow: "outline"
26 },
27 _disabled: {
28 opacity: "0.4",
29 cursor: "not-allowed",
30 textDecoration: "none"
31 }
32};
33var Link = (0, _react.forwardRef)(function (_ref, ref) {
34 var isDisabled = _ref.isDisabled,
35 isExternal = _ref.isExternal,
36 onClick = _ref.onClick,
37 rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["isDisabled", "isExternal", "onClick"]);
38 var externalProps = isExternal ? {
39 target: "_blank",
40 rel: "noopener noreferrer"
41 } : null;
42 return (0, _core.jsx)(_PseudoBox["default"], (0, _extends2["default"])({
43 as: "a",
44 ref: ref,
45 tabIndex: isDisabled ? -1 : undefined,
46 "aria-disabled": isDisabled,
47 onClick: isDisabled ? function (event) {
48 return event.preventDefault();
49 } : onClick,
50 _hover: {
51 textDecoration: "underline"
52 }
53 }, externalProps, baseStyleProps, rest));
54});
55Link.displayName = "Link";
56var _default = Link;
57exports["default"] = _default;
\No newline at end of file