1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _extends2 = require('babel-runtime/helpers/extends');
|
8 |
|
9 | var _extends3 = _interopRequireDefault(_extends2);
|
10 |
|
11 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
12 |
|
13 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14 |
|
15 | var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
16 |
|
17 | var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
18 |
|
19 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
20 |
|
21 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
22 |
|
23 | var _createClass2 = require('babel-runtime/helpers/createClass');
|
24 |
|
25 | var _createClass3 = _interopRequireDefault(_createClass2);
|
26 |
|
27 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
28 |
|
29 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
30 |
|
31 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
32 |
|
33 | var _inherits3 = _interopRequireDefault(_inherits2);
|
34 |
|
35 | var _simpleAssign = require('simple-assign');
|
36 |
|
37 | var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
38 |
|
39 | var _react = require('react');
|
40 |
|
41 | var _react2 = _interopRequireDefault(_react);
|
42 |
|
43 | var _propTypes = require('prop-types');
|
44 |
|
45 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
46 |
|
47 | var _transitions = require('../styles/transitions');
|
48 |
|
49 | var _transitions2 = _interopRequireDefault(_transitions);
|
50 |
|
51 | var _AutoLockScrolling = require('./AutoLockScrolling');
|
52 |
|
53 | var _AutoLockScrolling2 = _interopRequireDefault(_AutoLockScrolling);
|
54 |
|
55 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
56 |
|
57 | function getStyles(props, context) {
|
58 | var overlay = context.muiTheme.overlay;
|
59 |
|
60 |
|
61 | var style = {
|
62 | root: {
|
63 | position: 'fixed',
|
64 | height: '100%',
|
65 | width: '100%',
|
66 | top: 0,
|
67 | left: '-100%',
|
68 | opacity: 0,
|
69 | backgroundColor: overlay.backgroundColor,
|
70 | WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
|
71 |
|
72 |
|
73 | willChange: 'opacity',
|
74 | transform: 'translateZ(0)',
|
75 |
|
76 | transition: props.transitionEnabled && _transitions2.default.easeOut('0ms', 'left', '400ms') + ', ' + _transitions2.default.easeOut('400ms', 'opacity')
|
77 | }
|
78 | };
|
79 |
|
80 | if (props.show) {
|
81 | (0, _simpleAssign2.default)(style.root, {
|
82 | left: 0,
|
83 | opacity: 1,
|
84 | transition: _transitions2.default.easeOut('0ms', 'left') + ', ' + _transitions2.default.easeOut('400ms', 'opacity')
|
85 | });
|
86 | }
|
87 |
|
88 | return style;
|
89 | }
|
90 |
|
91 | var Overlay = function (_Component) {
|
92 | (0, _inherits3.default)(Overlay, _Component);
|
93 |
|
94 | function Overlay() {
|
95 | (0, _classCallCheck3.default)(this, Overlay);
|
96 | return (0, _possibleConstructorReturn3.default)(this, (Overlay.__proto__ || (0, _getPrototypeOf2.default)(Overlay)).apply(this, arguments));
|
97 | }
|
98 |
|
99 | (0, _createClass3.default)(Overlay, [{
|
100 | key: 'setOpacity',
|
101 | value: function setOpacity(opacity) {
|
102 | this.refs.overlay.style.opacity = opacity;
|
103 | }
|
104 | }, {
|
105 | key: 'render',
|
106 | value: function render() {
|
107 | var _props = this.props,
|
108 | autoLockScrolling = _props.autoLockScrolling,
|
109 | show = _props.show,
|
110 | style = _props.style,
|
111 | transitionEnabled = _props.transitionEnabled,
|
112 | other = (0, _objectWithoutProperties3.default)(_props, ['autoLockScrolling', 'show', 'style', 'transitionEnabled']);
|
113 | var prepareStyles = this.context.muiTheme.prepareStyles;
|
114 |
|
115 | var styles = getStyles(this.props, this.context);
|
116 |
|
117 | return _react2.default.createElement(
|
118 | 'div',
|
119 | (0, _extends3.default)({}, other, { ref: 'overlay', style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }),
|
120 | autoLockScrolling && _react2.default.createElement(_AutoLockScrolling2.default, { lock: show })
|
121 | );
|
122 | }
|
123 | }]);
|
124 | return Overlay;
|
125 | }(_react.Component);
|
126 |
|
127 | Overlay.defaultProps = {
|
128 | autoLockScrolling: true,
|
129 | style: {},
|
130 | transitionEnabled: true
|
131 | };
|
132 | Overlay.contextTypes = {
|
133 | muiTheme: _propTypes2.default.object.isRequired
|
134 | };
|
135 | Overlay.propTypes = process.env.NODE_ENV !== "production" ? {
|
136 | autoLockScrolling: _propTypes2.default.bool,
|
137 | show: _propTypes2.default.bool.isRequired,
|
138 | |
139 |
|
140 |
|
141 | style: _propTypes2.default.object,
|
142 | transitionEnabled: _propTypes2.default.bool
|
143 | } : {};
|
144 | exports.default = Overlay; |
\ | No newline at end of file |