UNPKG

3.67 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 _JssProvider = _interopRequireDefault(require("react-jss/lib/JssProvider"));
25
26var _reactRedux = require("react-redux");
27
28var _BrowserRouter = _interopRequireDefault(require("react-router-dom/BrowserRouter"));
29
30var _StaticRouter = _interopRequireDefault(require("react-router-dom/StaticRouter"));
31
32var _nest = _interopRequireDefault(require("recompose/nest"));
33
34var _withProps = _interopRequireDefault(require("recompose/withProps"));
35
36var _store = _interopRequireDefault(require("@sharyn/redux/store"));
37
38var _spread = _interopRequireDefault(require("@sharyn/util/spread"));
39
40var _spreadIf = _interopRequireDefault(require("@sharyn/util/spread-if"));
41
42var _GlobalStylesProvider = _interopRequireDefault(require("./GlobalStylesProvider"));
43
44var _propTypes = _interopRequireDefault(require("prop-types"));
45
46/* eslint-disable import/no-extraneous-dependencies */
47// flow-disable-next-line
48// flow-disable-next-line
49// flow-disable-next-line
50// flow-disable-next-line
51var defaultJss = _jss.default.setup((0, _jssPresetDefault.default)());
52
53var Providers = function Providers(_ref) {
54 var children = _ref.children,
55 App = _ref.App,
56 theme = _ref.theme,
57 globalStyles = _ref.globalStyles,
58 _ref$store = _ref.store,
59 store = _ref$store === void 0 ? (0, _store.default)() : _ref$store,
60 isSsr = _ref.isSsr,
61 url = _ref.url,
62 _ref$jss = _ref.jss,
63 jss = _ref$jss === void 0 ? defaultJss : _ref$jss,
64 routerContext = _ref.routerContext,
65 sheetsRegistry = _ref.sheetsRegistry;
66 var NestedProviders = (0, _nest.default)(isSsr ? (0, _withProps.default)((0, _spread.default)({
67 location: url,
68 context: routerContext
69 }))(_StaticRouter.default) : _BrowserRouter.default, (0, _withProps.default)((0, _objectSpread2.default)({
70 jss: jss,
71 generateClassName: (0, _createGenerateClassName.default)()
72 }, (0, _spread.default)({
73 registry: sheetsRegistry
74 })))(_JssProvider.default), (0, _withProps.default)({
75 store: store
76 })(_reactRedux.Provider), (0, _withProps.default)((0, _objectSpread2.default)({
77 theme: theme
78 }, (0, _spreadIf.default)(isSsr, {
79 sheetsManager: new _map.default()
80 })))(_MuiThemeProvider.default), (0, _withProps.default)({
81 globalStyles: globalStyles
82 })(_GlobalStylesProvider.default));
83 return _react.default.createElement(NestedProviders, null, App ? _react.default.createElement(App, null) : children);
84};
85
86Providers.propTypes = {
87 children: _propTypes.default.any,
88 App: _propTypes.default.func,
89 store: _propTypes.default.object,
90 theme: _propTypes.default.object.isRequired,
91 globalStyles: _propTypes.default.any,
92 jss: _propTypes.default.object,
93 isSsr: _propTypes.default.bool,
94 url: _propTypes.default.string,
95 routerContext: _propTypes.default.object,
96 sheetsRegistry: _propTypes.default.object
97};
98var _default = Providers;
99exports.default = _default;
\No newline at end of file