UNPKG

3.59 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = exports.styles = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _propTypes = _interopRequireDefault(require("prop-types"));
17
18var _clsx = _interopRequireDefault(require("clsx"));
19
20var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
21
22var _Fade = _interopRequireDefault(require("../Fade"));
23
24var styles = {
25 /* Styles applied to the root element. */
26 root: {
27 // Improve scrollable dialog support.
28 zIndex: -1,
29 position: 'fixed',
30 display: 'flex',
31 alignItems: 'center',
32 justifyContent: 'center',
33 right: 0,
34 bottom: 0,
35 top: 0,
36 left: 0,
37 backgroundColor: 'rgba(0, 0, 0, 0.5)',
38 WebkitTapHighlightColor: 'transparent',
39 // Disable scroll capabilities.
40 touchAction: 'none'
41 },
42
43 /* Styles applied to the root element if `invisible={true}`. */
44 invisible: {
45 backgroundColor: 'transparent'
46 }
47};
48exports.styles = styles;
49
50var Backdrop = _react.default.forwardRef(function Backdrop(props, ref) {
51 var children = props.children,
52 classes = props.classes,
53 className = props.className,
54 _props$invisible = props.invisible,
55 invisible = _props$invisible === void 0 ? false : _props$invisible,
56 open = props.open,
57 transitionDuration = props.transitionDuration,
58 other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "invisible", "open", "transitionDuration"]);
59 return _react.default.createElement(_Fade.default, (0, _extends2.default)({
60 in: open,
61 timeout: transitionDuration
62 }, other), _react.default.createElement("div", {
63 className: (0, _clsx.default)(classes.root, className, invisible && classes.invisible),
64 "aria-hidden": true,
65 ref: ref
66 }, children));
67});
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