1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | exports.__esModule = true;
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9 |
|
10 | var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
11 |
|
12 | var _core = require("@emotion/core");
|
13 |
|
14 | var _PseudoBox = _interopRequireDefault(require("../PseudoBox"));
|
15 |
|
16 | var _react = require("react");
|
17 |
|
18 |
|
19 | var 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 | };
|
33 | var 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 | });
|
55 | Link.displayName = "Link";
|
56 | var _default = Link;
|
57 | exports["default"] = _default; |
\ | No newline at end of file |