UNPKG

4.75 kBJavaScriptView Raw
1"use strict";
2'use client';
3
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6Object.defineProperty(exports, "__esModule", {
7 value: true
8});
9exports.default = void 0;
10var React = _interopRequireWildcard(require("react"));
11var _propTypes = _interopRequireDefault(require("prop-types"));
12var _clsx = _interopRequireDefault(require("clsx"));
13var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14var _zeroStyled = require("../zero-styled");
15var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
16var _DefaultPropsProvider = require("../DefaultPropsProvider");
17var _cardActionAreaClasses = _interopRequireWildcard(require("./cardActionAreaClasses"));
18var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
19var _jsxRuntime = require("react/jsx-runtime");
20const useUtilityClasses = ownerState => {
21 const {
22 classes
23 } = ownerState;
24 const slots = {
25 root: ['root'],
26 focusHighlight: ['focusHighlight']
27 };
28 return (0, _composeClasses.default)(slots, _cardActionAreaClasses.getCardActionAreaUtilityClass, classes);
29};
30const CardActionAreaRoot = (0, _zeroStyled.styled)(_ButtonBase.default, {
31 name: 'MuiCardActionArea',
32 slot: 'Root',
33 overridesResolver: (props, styles) => styles.root
34})((0, _memoTheme.default)(({
35 theme
36}) => ({
37 display: 'block',
38 textAlign: 'inherit',
39 borderRadius: 'inherit',
40 // for Safari to work https://github.com/mui/material-ui/issues/36285.
41 width: '100%',
42 [`&:hover .${_cardActionAreaClasses.default.focusHighlight}`]: {
43 opacity: (theme.vars || theme).palette.action.hoverOpacity,
44 '@media (hover: none)': {
45 opacity: 0
46 }
47 },
48 [`&.${_cardActionAreaClasses.default.focusVisible} .${_cardActionAreaClasses.default.focusHighlight}`]: {
49 opacity: (theme.vars || theme).palette.action.focusOpacity
50 }
51})));
52const CardActionAreaFocusHighlight = (0, _zeroStyled.styled)('span', {
53 name: 'MuiCardActionArea',
54 slot: 'FocusHighlight',
55 overridesResolver: (props, styles) => styles.focusHighlight
56})((0, _memoTheme.default)(({
57 theme
58}) => ({
59 overflow: 'hidden',
60 pointerEvents: 'none',
61 position: 'absolute',
62 top: 0,
63 right: 0,
64 bottom: 0,
65 left: 0,
66 borderRadius: 'inherit',
67 opacity: 0,
68 backgroundColor: 'currentcolor',
69 transition: theme.transitions.create('opacity', {
70 duration: theme.transitions.duration.short
71 })
72})));
73const CardActionArea = /*#__PURE__*/React.forwardRef(function CardActionArea(inProps, ref) {
74 const props = (0, _DefaultPropsProvider.useDefaultProps)({
75 props: inProps,
76 name: 'MuiCardActionArea'
77 });
78 const {
79 children,
80 className,
81 focusVisibleClassName,
82 ...other
83 } = props;
84 const ownerState = props;
85 const classes = useUtilityClasses(ownerState);
86 return /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardActionAreaRoot, {
87 className: (0, _clsx.default)(classes.root, className),
88 focusVisibleClassName: (0, _clsx.default)(focusVisibleClassName, classes.focusVisible),
89 ref: ref,
90 ownerState: ownerState,
91 ...other,
92 children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(CardActionAreaFocusHighlight, {
93 className: classes.focusHighlight,
94 ownerState: ownerState
95 })]
96 });
97});
98process.env.NODE_ENV !== "production" ? CardActionArea.propTypes /* remove-proptypes */ = {
99 // ┌────────────────────────────── Warning ──────────────────────────────┐
100 // │ These PropTypes are generated from the TypeScript type definitions. │
101 // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
102 // └─────────────────────────────────────────────────────────────────────┘
103 /**
104 * The content of the component.
105 */
106 children: _propTypes.default.node,
107 /**
108 * Override or extend the styles applied to the component.
109 */
110 classes: _propTypes.default.object,
111 /**
112 * @ignore
113 */
114 className: _propTypes.default.string,
115 /**
116 * @ignore
117 */
118 focusVisibleClassName: _propTypes.default.string,
119 /**
120 * The system prop that allows defining system overrides as well as additional CSS styles.
121 */
122 sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
123} : void 0;
124var _default = exports.default = CardActionArea;
\No newline at end of file