UNPKG

2.24 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _LinkProvider = _interopRequireDefault(require("@lskjs/link/LinkProvider"));
13
14var _emotionTheming = require("emotion-theming");
15
16var _mobxReact = require("mobx-react");
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _react = _interopRequireDefault(require("react"));
21
22var UappProvider = function UappProvider(_ref) {
23 var app = _ref.app,
24 page = _ref.page,
25 rawChildren = _ref.children;
26
27 var children = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, rawChildren); // TODO: checks
28 // console.log({ page });
29
30
31 var MobxProvider = UappProvider.MobxProvider;
32 var stores;
33
34 if (app && app.__providers) {
35 stores = app.__providers;
36 } else {
37 stores = {};
38 }
39
40 if (stores && Object.keys(stores).length && MobxProvider) {
41 children = /*#__PURE__*/_react["default"].createElement(MobxProvider, (0, _extends2["default"])({}, stores, {
42 page: page
43 }), children);
44 }
45
46 var LinkProvider = UappProvider.LinkProvider;
47
48 if (app && app.history && LinkProvider) {
49 children = /*#__PURE__*/_react["default"].createElement(LinkProvider, {
50 onClick: function onClick(url) {
51 return app.history.push(url);
52 }
53 }, children);
54 }
55
56 var _stores = stores,
57 theme = _stores.theme;
58 var ThemeProvider = UappProvider.ThemeProvider;
59
60 if (theme && ThemeProvider) {
61 children = /*#__PURE__*/_react["default"].createElement(ThemeProvider, {
62 theme: theme
63 }, children);
64 }
65
66 return children;
67};
68
69UappProvider.propTypes = {
70 // eslint-disable-next-line react/forbid-prop-types
71 app: _propTypes["default"].object.isRequired,
72 children: _propTypes["default"].node.isRequired
73};
74UappProvider.MobxProvider = _mobxReact.Provider;
75UappProvider.ThemeProvider = _emotionTheming.ThemeProvider;
76UappProvider.LinkProvider = _LinkProvider["default"];
77var _default = UappProvider;
78exports["default"] = _default;
79//# sourceMappingURL=UappProvider.js.map
\No newline at end of file