UNPKG

1.59 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 = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _propTypes = _interopRequireDefault(require("prop-types"));
17
18var _withWidth = _interopRequireWildcard(require("../withWidth"));
19
20/**
21 * Dialog will responsively be full screen *at or below* the given breakpoint
22 * (defaults to 'sm' for mobile devices).
23 * Notice that this Higher-order Component is incompatible with server-side rendering.
24 */
25var withMobileDialog = function withMobileDialog() {
26 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27 return function (Component) {
28 var _options$breakpoint = options.breakpoint,
29 breakpoint = _options$breakpoint === void 0 ? 'sm' : _options$breakpoint;
30
31 function WithMobileDialog(props) {
32 return _react.default.createElement(Component, (0, _extends2.default)({
33 fullScreen: (0, _withWidth.isWidthDown)(breakpoint, props.width)
34 }, props));
35 }
36
37 process.env.NODE_ENV !== "production" ? WithMobileDialog.propTypes = {
38 width: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']).isRequired
39 } : void 0;
40 return (0, _withWidth.default)()(WithMobileDialog);
41 };
42};
43
44var _default = withMobileDialog;
45exports.default = _default;
\No newline at end of file