UNPKG

3.82 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 _Fade = _interopRequireDefault(require("../Fade"));
25
26var styles = {
27 /* Styles applied to the root element. */
28 root: {
29 // Improve scrollable dialog support.
30 zIndex: -1,
31 position: 'fixed',
32 display: 'flex',
33 alignItems: 'center',
34 justifyContent: 'center',
35 right: 0,
36 bottom: 0,
37 top: 0,
38 left: 0,
39 backgroundColor: 'rgba(0, 0, 0, 0.5)',
40 WebkitTapHighlightColor: 'transparent'
41 },
42
43 /* Styles applied to the root element if `invisible={true}`. */
44 invisible: {
45 backgroundColor: 'transparent'
46 }
47};
48exports.styles = styles;
49var Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(props, ref) {
50 var children = props.children,
51 classes = props.classes,
52 className = props.className,
53 _props$invisible = props.invisible,
54 invisible = _props$invisible === void 0 ? false : _props$invisible,
55 open = props.open,
56 transitionDuration = props.transitionDuration,
57 _props$TransitionComp = props.TransitionComponent,
58 TransitionComponent = _props$TransitionComp === void 0 ? _Fade.default : _props$TransitionComp,
59 other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "invisible", "open", "transitionDuration", "TransitionComponent"]);
60 return /*#__PURE__*/React.createElement(TransitionComponent, (0, _extends2.default)({
61 in: open,
62 timeout: transitionDuration
63 }, other), /*#__PURE__*/React.createElement("div", {
64 className: (0, _clsx.default)(classes.root, className, invisible && classes.invisible),
65 "aria-hidden": true,
66 ref: ref
67 }, children));
68});
69process.env.NODE_ENV !== "production" ? Backdrop.propTypes = {
70 // ----------------------------- Warning --------------------------------
71 // | These PropTypes are generated from the TypeScript type definitions |
72 // | To update them edit the d.ts file and run "yarn proptypes" |
73 // ----------------------------------------------------------------------
74
75 /**
76 * The content of the component.
77 */
78 children: _propTypes.default.node,
79
80 /**
81 * Override or extend the styles applied to the component.
82 * See [CSS API](#css) below for more details.
83 */
84 classes: _propTypes.default.object,
85
86 /**
87 * @ignore
88 */
89 className: _propTypes.default.string,
90
91 /**
92 * If `true`, the backdrop is invisible.
93 * It can be used when rendering a popover or a custom select component.
94 */
95 invisible: _propTypes.default.bool,
96
97 /**
98 * If `true`, the backdrop is open.
99 */
100 open: _propTypes.default.bool.isRequired,
101
102 /**
103 * The duration for the transition, in milliseconds.
104 * You may specify a single timeout for all transitions, or individually with an object.
105 */
106 transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
107 appear: _propTypes.default.number,
108 enter: _propTypes.default.number,
109 exit: _propTypes.default.number
110 })])
111} : void 0;
112
113var _default = (0, _withStyles.default)(styles, {
114 name: 'MuiBackdrop'
115})(Backdrop);
116
117exports.default = _default;
\No newline at end of file