UNPKG

3.45 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.default = exports.styles = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
16var React = _interopRequireWildcard(require("react"));
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _clsx = _interopRequireDefault(require("clsx"));
21
22var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
23
24var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
25
26var styles = function styles(theme) {
27 return {
28 /* Styles applied to the root element. */
29 root: {
30 display: 'block',
31 textAlign: 'inherit',
32 width: '100%',
33 '&:hover $focusHighlight': {
34 opacity: theme.palette.action.hoverOpacity
35 },
36 '&$focusVisible $focusHighlight': {
37 opacity: 0.12
38 }
39 },
40
41 /* Pseudo-class applied to the ButtonBase root element if the action area is keyboard focused. */
42 focusVisible: {},
43
44 /* Styles applied to the overlay that covers the action area when it is keyboard focused. */
45 focusHighlight: {
46 overflow: 'hidden',
47 pointerEvents: 'none',
48 position: 'absolute',
49 top: 0,
50 right: 0,
51 bottom: 0,
52 left: 0,
53 borderRadius: 'inherit',
54 opacity: 0,
55 backgroundColor: 'currentcolor',
56 transition: theme.transitions.create('opacity', {
57 duration: theme.transitions.duration.short
58 })
59 }
60 };
61};
62
63exports.styles = styles;
64var CardActionArea = /*#__PURE__*/React.forwardRef(function CardActionArea(props, ref) {
65 var children = props.children,
66 classes = props.classes,
67 className = props.className,
68 focusVisibleClassName = props.focusVisibleClassName,
69 other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "focusVisibleClassName"]);
70 return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({
71 className: (0, _clsx.default)(classes.root, className),
72 focusVisibleClassName: (0, _clsx.default)(focusVisibleClassName, classes.focusVisible),
73 ref: ref
74 }, other), children, /*#__PURE__*/React.createElement("span", {
75 className: classes.focusHighlight
76 }));
77});
78process.env.NODE_ENV !== "production" ? CardActionArea.propTypes = {
79 // ----------------------------- Warning --------------------------------
80 // | These PropTypes are generated from the TypeScript type definitions |
81 // | To update them edit the d.ts file and run "yarn proptypes" |
82 // ----------------------------------------------------------------------
83
84 /**
85 * The content of the component.
86 */
87 children: _propTypes.default.node,
88
89 /**
90 * Override or extend the styles applied to the component.
91 * See [CSS API](#css) below for more details.
92 */
93 classes: _propTypes.default.object,
94
95 /**
96 * @ignore
97 */
98 className: _propTypes.default.string,
99
100 /**
101 * @ignore
102 */
103 focusVisibleClassName: _propTypes.default.string
104} : void 0;
105
106var _default = (0, _withStyles.default)(styles, {
107 name: 'MuiCardActionArea'
108})(CardActionArea);
109
110exports.default = _default;
\No newline at end of file