UNPKG

3.76 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
11
12var _objectSpread2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectSpread"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _createGenerateClassName = _interopRequireDefault(require("@material-ui/core/styles/createGenerateClassName"));
17
18var _MuiThemeProvider = _interopRequireDefault(require("@material-ui/core/styles/MuiThemeProvider"));
19
20var _jss = _interopRequireDefault(require("jss"));
21
22var _jssPresetDefault = _interopRequireDefault(require("jss-preset-default"));
23
24var _reactHotLoader = require("react-hot-loader");
25
26var _JssProvider = _interopRequireDefault(require("react-jss/lib/JssProvider"));
27
28var _reactRedux = require("react-redux");
29
30var _BrowserRouter = _interopRequireDefault(require("react-router-dom/BrowserRouter"));
31
32var _StaticRouter = _interopRequireDefault(require("react-router-dom/StaticRouter"));
33
34var _nest = _interopRequireDefault(require("recompose/nest"));
35
36var _withProps = _interopRequireDefault(require("recompose/withProps"));
37
38var _store = _interopRequireDefault(require("@sharyn/redux/store"));
39
40var _spread = _interopRequireDefault(require("@sharyn/util/spread"));
41
42var _spreadIf = _interopRequireDefault(require("@sharyn/util/spread-if"));
43
44var _GlobalStylesProvider = _interopRequireDefault(require("./GlobalStylesProvider"));
45
46var _propTypes = _interopRequireDefault(require("prop-types"));
47
48/* eslint-disable import/no-extraneous-dependencies */
49// flow-disable-next-line
50// flow-disable-next-line
51// flow-disable-next-line
52// flow-disable-next-line
53var defaultJss = _jss.default.setup((0, _jssPresetDefault.default)());
54
55var Providers = function Providers(_ref) {
56 var children = _ref.children,
57 App = _ref.App,
58 theme = _ref.theme,
59 globalStyles = _ref.globalStyles,
60 _ref$store = _ref.store,
61 store = _ref$store === void 0 ? (0, _store.default)() : _ref$store,
62 isSsr = _ref.isSsr,
63 url = _ref.url,
64 _ref$jss = _ref.jss,
65 jss = _ref$jss === void 0 ? defaultJss : _ref$jss,
66 routerContext = _ref.routerContext,
67 sheetsRegistry = _ref.sheetsRegistry;
68 var NestedProviders = (0, _nest.default)(isSsr ? (0, _withProps.default)((0, _spread.default)({
69 location: url,
70 context: routerContext
71 }))(_StaticRouter.default) : _BrowserRouter.default, (0, _withProps.default)((0, _objectSpread2.default)({
72 jss: jss,
73 generateClassName: (0, _createGenerateClassName.default)()
74 }, (0, _spread.default)({
75 registry: sheetsRegistry
76 })))(_JssProvider.default), (0, _withProps.default)({
77 store: store
78 })(_reactRedux.Provider), (0, _withProps.default)((0, _objectSpread2.default)({
79 theme: theme
80 }, (0, _spreadIf.default)(isSsr, {
81 sheetsManager: new _map.default()
82 })))(_MuiThemeProvider.default), (0, _withProps.default)({
83 globalStyles: globalStyles
84 })(_GlobalStylesProvider.default));
85 return _react.default.createElement(NestedProviders, null, App ? _react.default.createElement(App, null) : children);
86};
87
88Providers.propTypes = {
89 children: _propTypes.default.any,
90 App: _propTypes.default.func,
91 store: _propTypes.default.object,
92 theme: _propTypes.default.object.isRequired,
93 globalStyles: _propTypes.default.any,
94 jss: _propTypes.default.object,
95 isSsr: _propTypes.default.bool,
96 url: _propTypes.default.string,
97 routerContext: _propTypes.default.object,
98 sheetsRegistry: _propTypes.default.object
99};
100
101var _default = (0, _reactHotLoader.hot)(module)(Providers);
102
103exports.default = _default;
\No newline at end of file