miolo-react 3.0.0-beta.16 → 3.0.0-beta.161

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miolo-react",
3
- "version": "3.0.0-beta.16",
3
+ "version": "3.0.0-beta.161",
4
4
  "description": "React utils for miolo",
5
5
  "author": "Donato Lorenzo <donato@afialapis.com>",
6
6
  "contributors": [
@@ -17,28 +17,24 @@
17
17
  "license": "MIT",
18
18
  "type": "module",
19
19
  "exports": {
20
- ".": {
21
- "development": "./src/index.mjs",
22
- "import": "./dist/miolo-react.mjs",
23
- "default": "./dist/miolo-react.umd.js"
24
- }
20
+ ".": "./src/index.mjs"
25
21
  },
26
22
  "files": [
27
- "dist",
28
- "src"
23
+ "src",
24
+ "package.json"
29
25
  ],
30
26
  "scripts": {
31
- "reset": "rm -fr package-lock.json npm-lock.yaml dist/* && npm i",
32
- "clean": "rm -fr ./dist/* ",
33
- "bundle": "npx xeira bundle --target=browser --source_index=./src/index.mjs --bundle_folder=./dist --bundle_name=miolo-react --bundle_node_polyfill=true --bundle_extension=umd,mjs",
34
- "dist": "npm run clean && npm run bundle"
27
+ "reset": "rm -fr package-lock.json npm-lock.yaml node_modules && npm i",
28
+ "lint": "biome check ./src --reporter=github",
29
+ "lint:fix": "biome check --write ./src --reporter=github",
30
+ "prepublishOnly": "npm run lint"
35
31
  },
36
32
  "dependencies": {
37
33
  "miolo-cli": "../miolo-cli"
38
- },
34
+ },
39
35
  "peerDependencies": {
40
- "react": "^18.3.1",
41
- "react-dom": "^18.3.1"
36
+ "react": "^19.2.4",
37
+ "react-dom": "^19.2.4"
42
38
  },
43
39
  "peerDependenciesMeta": {
44
40
  "react": {
@@ -48,12 +44,7 @@
48
44
  "optional": true
49
45
  }
50
46
  },
51
- "devDependencies": {
52
- "xeira": "^1.2.3"
53
- },
54
- "eslintConfig": {
55
- "extends": [
56
- "../../node_modules/xeira/configs/eslint.react.mjs"
57
- ]
47
+ "engines": {
48
+ "node": ">=24"
58
49
  }
59
- }
50
+ }
@@ -1,14 +1,9 @@
1
- import React from 'react'
2
- import MioloContextProvider from './context/MioloContextProvider.jsx'
1
+ import MioloContextProvider from "./context/MioloContextProvider.jsx"
3
2
 
4
3
  const AppBrowser = ({ children }) => {
5
- const context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};
4
+ const context = typeof window !== "undefined" && window.__CONTEXT ? window.__CONTEXT : {}
6
5
 
7
- return (
8
- <MioloContextProvider context={context}>
9
- {children}
10
- </MioloContextProvider>
11
- )
6
+ return <MioloContextProvider context={context}>{children}</MioloContextProvider>
12
7
  }
13
8
 
14
9
  export default AppBrowser
package/src/AppServer.jsx CHANGED
@@ -1,17 +1,7 @@
1
+ import MioloContextProvider from "./context/MioloContextProvider.jsx"
1
2
 
2
- import React from 'react'
3
- import MioloContextProvider from './context/MioloContextProvider.jsx'
4
-
5
-
6
- const AppServer = ({context, children}) => {
7
-
8
- return (
9
- <MioloContextProvider
10
- context= {context || {}}>
11
- {children}
12
- </MioloContextProvider>
13
- )
3
+ const AppServer = ({ context, children }) => {
4
+ return <MioloContextProvider context={context || {}}>{children}</MioloContextProvider>
14
5
  }
15
6
 
16
7
  export default AppServer
17
-
@@ -1,5 +1,5 @@
1
- import React from 'react'
1
+ import React from "react"
2
2
 
3
3
  const MioloContext = React.createContext()
4
4
 
5
- export default MioloContext
5
+ export default MioloContext
@@ -1,60 +1,66 @@
1
- import React , {useState, useEffect, useCallback} from 'react'
2
- import Context from './MioloContext.mjs'
3
- import { miolo_client } from 'miolo-cli'
4
- import { useSsrDataOrReload } from '../ssr/useSsrDataOrReload.mjs'
1
+ import { miolo_client } from "miolo-cli"
2
+ import { useCallback, useEffect, useState } from "react"
3
+ import { useSsrDataOrReload } from "../ssr/useSsrDataOrReload.mjs"
4
+ import Context from "./MioloContext.mjs"
5
5
 
6
+ const MioloContextProvider = ({ context, children }) => {
7
+ const [innerContext, setInnerContext] = useState(context)
8
+ const [mioloObj, setMioloObj] = useState(miolo_client(context))
6
9
 
7
- const MioloContextProvider = ({context, children}) => {
8
- const [innerContext, setInnerContext]= useState(context)
9
- const [mioloObj, setMioloObj]= useState(miolo_client(context))
10
-
11
10
  useEffect(() => {
12
11
  setInnerContext(context)
13
12
  setMioloObj(miolo_client(context))
14
13
  }, [context])
15
-
16
- const login = useCallback(async (credentials) => {
17
- const { fetcher } = mioloObj
18
- const { config } = innerContext
19
14
 
20
- const url = config.login_url || '/login'
21
- const resp = await fetcher.login(url, credentials)
22
-
23
- if (resp?.data) {
24
- if (resp?.data?.authenticated) {
25
- setInnerContext(current => {
26
- return {
27
- ...current,
28
- ...resp?.data,
29
- }
30
- })
15
+ const localLogin = useCallback(
16
+ async (params) => {
17
+ const { fetcher } = mioloObj
18
+ const { config } = innerContext
19
+
20
+ const url = config.login_url || "/login"
21
+ const resp = await fetcher.post(url, params)
22
+
23
+ if (resp?.data) {
24
+ if (resp?.data?.authenticated) {
25
+ setInnerContext((current) => {
26
+ return {
27
+ ...current,
28
+ ...resp?.data
29
+ }
30
+ })
31
+ }
32
+
33
+ return resp?.data
31
34
  }
32
35
 
33
- return resp?.data
34
- }
36
+ return {}
37
+ },
38
+ [innerContext, mioloObj]
39
+ )
35
40
 
36
- return {}
37
- }, [innerContext, mioloObj])
41
+ const googleLogin = useCallback(() => {
42
+ window.location.href = "/auth/google"
43
+ }, [])
38
44
 
39
45
  const logout = useCallback(async () => {
40
46
  const { fetcher } = mioloObj
41
47
  const { config } = innerContext
42
48
 
43
- const url = config.logout_url || '/logout'
44
- const _resp = await fetcher.logout(url)
49
+ const url = config.logout_url || "/logout"
50
+ const _resp = await fetcher.post(url)
45
51
  // resp.redirected= true
46
52
 
47
- setInnerContext(current => {
53
+ setInnerContext((current) => {
48
54
  return {
49
55
  ...current,
50
56
  user: undefined,
51
- authenticated: false,
57
+ authenticated: false
52
58
  }
53
59
  })
54
60
 
55
61
  return {
56
62
  user: undefined,
57
- authenticated: false,
63
+ authenticated: false
58
64
  }
59
65
  }, [innerContext, mioloObj])
60
66
 
@@ -62,19 +68,19 @@ const MioloContextProvider = ({context, children}) => {
62
68
  setInnerContext((current) => {
63
69
  return {
64
70
  ...current,
65
- user,
71
+ user
66
72
  }
67
73
  })
68
74
  }, [])
69
75
 
70
76
  const useSsrData = (name, defval, loader, modifier) => {
71
77
  return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier)
72
- }
73
-
78
+ }
79
+
74
80
  return (
75
- <Context.Provider
81
+ <Context.Provider
76
82
  value={{
77
- //context: innerContext,
83
+ //context: innerContext,
78
84
  //setContext: setInnerContext,
79
85
  //miolo: mioloObj,
80
86
  user: innerContext.user,
@@ -82,14 +88,16 @@ const MioloContextProvider = ({context, children}) => {
82
88
  authenticated: innerContext.authenticated,
83
89
  fetcher: mioloObj.fetcher,
84
90
  //socket: mioloObj.socket,
85
- login,
91
+ googleLogin,
92
+ localLogin,
86
93
  logout,
87
- useSsrData
88
- }}>
94
+ useSsrData,
95
+ authMethod: innerContext?.config?.auth_method
96
+ }}
97
+ >
89
98
  {children}
90
99
  </Context.Provider>
91
100
  )
92
101
  }
93
102
 
94
-
95
103
  export default MioloContextProvider
@@ -1,5 +1,5 @@
1
- import {useContext} from 'react'
2
- import MioloContext from './MioloContext.mjs'
1
+ import { useContext } from "react"
2
+ import MioloContext from "./MioloContext.mjs"
3
3
 
4
4
  const useMioloContext = () => useContext(MioloContext)
5
5
 
@@ -1,15 +1,10 @@
1
- import React, {useContext} from 'react'
2
- import MioloContext from './MioloContext.mjs'
1
+ import { useContext } from "react"
2
+ import MioloContext from "./MioloContext.mjs"
3
3
 
4
- /* eslint react/display-name:0 */
5
4
  const withMioloContext = (BaseComponent) => (props) => {
6
5
  const context = useContext(MioloContext)
7
6
 
8
- return (
9
- <BaseComponent {...props}
10
- {...context}/>
11
- );
7
+ return <BaseComponent {...props} {...context} />
12
8
  }
13
9
 
14
-
15
- export default withMioloContext
10
+ export default withMioloContext
package/src/index.mjs CHANGED
@@ -1,7 +1,6 @@
1
- import withMioloContext from './context/withMioloContext.jsx'
2
- import useMioloContext from './context/useMioloContext.jsx'
1
+ import AppBrowser from "./AppBrowser.jsx"
2
+ import AppServer from "./AppServer.jsx"
3
+ import useMioloContext from "./context/useMioloContext.jsx"
4
+ import withMioloContext from "./context/withMioloContext.jsx"
3
5
 
4
- import AppBrowser from './AppBrowser.jsx'
5
- import AppServer from './AppServer.jsx'
6
-
7
- export {withMioloContext, useMioloContext, AppBrowser, AppServer}
6
+ export { withMioloContext, useMioloContext, AppBrowser, AppServer }
@@ -1,32 +1,31 @@
1
-
2
1
  const _getDataFromWindow = (name) => {
3
2
  try {
4
- if (window != undefined) {
5
- const ssr_data= window.__CONTEXT.ssr_data
6
-
7
- if (ssr_data!=undefined) {
8
- if (ssr_data[name]!=undefined) {
3
+ if (window !== undefined) {
4
+ const ssr_data = window.__CONTEXT.ssr_data
5
+
6
+ if (ssr_data !== undefined) {
7
+ if (ssr_data[name] !== undefined) {
9
8
  return ssr_data[name]
10
9
  }
11
10
  }
12
11
  }
13
- } catch(e) {}
14
-
12
+ } catch (_) {}
13
+
15
14
  return undefined
16
15
  }
17
16
 
18
17
  const getSsrDataFromContext = (context, name) => {
19
- let data= undefined
18
+ let data
20
19
 
21
- if (context?.ssr_data != undefined && context?.ssr_data[name]!=undefined) {
22
- data= context.ssr_data[name]
20
+ if (context?.ssr_data !== undefined && context?.ssr_data[name] !== undefined) {
21
+ data = context.ssr_data[name]
23
22
  } else {
24
- const wdata= _getDataFromWindow(name)
25
- if (wdata != undefined) {
26
- data= wdata
23
+ const wdata = _getDataFromWindow(name)
24
+ if (wdata !== undefined) {
25
+ data = wdata
27
26
  }
28
27
  }
29
-
28
+
30
29
  return data
31
30
  }
32
31
 
@@ -1,43 +1,45 @@
1
- import {useState, useCallback, useEffect} from 'react'
2
- import getSsrDataFromContext from './getSsrDataFromContext.mjs'
1
+ import { useCallback, useEffect, useState } from "react"
2
+ import getSsrDataFromContext from "./getSsrDataFromContext.mjs"
3
3
 
4
4
  const useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {
5
-
6
- const _maybeModify = useCallback((value) => {
7
- return modifier==undefined ? value : modifier(value)
8
- }, [modifier])
5
+ const _maybeModify = useCallback(
6
+ (value) => {
7
+ return modifier === undefined ? value : modifier(value)
8
+ },
9
+ [modifier]
10
+ )
9
11
 
10
12
  const ssrDataFromContext = getSsrDataFromContext(context, name)
11
- const [ssrData, setSsrData] = useState(_maybeModify(
12
- ssrDataFromContext != undefined
13
- ? ssrDataFromContext : defval))
14
- const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined)
13
+ const [ssrData, setSsrData] = useState(
14
+ _maybeModify(ssrDataFromContext !== undefined ? ssrDataFromContext : defval)
15
+ )
16
+ const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext === undefined)
15
17
 
16
18
  const refreshSsrData = useCallback(() => {
17
- if (loader == undefined) {
19
+ if (loader === undefined) {
18
20
  return
19
21
  }
20
22
 
21
- const {fetcher} = miolo
23
+ const { fetcher } = miolo
22
24
 
23
25
  async function fetchData() {
24
- let nSsrData = await loader(context, fetcher)
26
+ const nSsrData = await loader(context, fetcher)
25
27
  setSsrData(_maybeModify(nSsrData))
26
28
  }
27
29
 
28
30
  fetchData()
29
- }, [context, miolo, loader, _maybeModify])
30
-
31
+ }, [context, miolo, loader, _maybeModify])
32
+
31
33
  useEffect(() => {
32
34
  try {
33
35
  if (needToRefresh) {
34
36
  setNeedToRefresh(false)
35
37
  refreshSsrData()
36
38
  }
37
- } catch(e) {}
38
- }, [needToRefresh, refreshSsrData])
39
+ } catch (_) {}
40
+ }, [needToRefresh, refreshSsrData])
39
41
 
40
42
  return [ssrData, (data) => setSsrData(_maybeModify(data)), refreshSsrData]
41
43
  }
42
44
 
43
- export {useSsrDataOrReload}
45
+ export { useSsrDataOrReload }
@@ -1,265 +0,0 @@
1
- /**
2
- * miolo-react v3.0.0-beta.16
3
- *
4
- * https://www.afialapis.com/os/miolo
5
- *
6
- * Copyright (c) Donato Lorenzo <donato@afialapis.com>
7
- *
8
- * This source code is licensed under the MIT license found in the
9
- * LICENSE.md file in the root directory of this source tree.
10
- *
11
- * @license MIT
12
- */
13
- /* eslint-disable */
14
- import React, { useContext, useCallback, useState, useEffect } from 'react';
15
- import { miolo_client } from 'miolo-cli';
16
-
17
- var MioloContext = /*#__PURE__*/React.createContext();
18
-
19
- /* eslint react/display-name:0 */
20
- var withMioloContext = BaseComponent => props => {
21
- var context = useContext(MioloContext);
22
- return /*#__PURE__*/React.createElement(BaseComponent, Object.assign({}, props, context));
23
- };
24
-
25
- var useMioloContext = () => useContext(MioloContext);
26
-
27
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
28
- try {
29
- var i = n[a](c),
30
- u = i.value;
31
- } catch (n) {
32
- return void e(n);
33
- }
34
- i.done ? t(u) : Promise.resolve(u).then(r, o);
35
- }
36
- function _asyncToGenerator(n) {
37
- return function () {
38
- var t = this,
39
- e = arguments;
40
- return new Promise(function (r, o) {
41
- var a = n.apply(t, e);
42
- function _next(n) {
43
- asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
44
- }
45
- function _throw(n) {
46
- asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
47
- }
48
- _next(void 0);
49
- });
50
- };
51
- }
52
- function _defineProperty(e, r, t) {
53
- return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
54
- value: t,
55
- enumerable: true,
56
- configurable: true,
57
- writable: true
58
- }) : e[r] = t, e;
59
- }
60
- function ownKeys(e, r) {
61
- var t = Object.keys(e);
62
- if (Object.getOwnPropertySymbols) {
63
- var o = Object.getOwnPropertySymbols(e);
64
- r && (o = o.filter(function (r) {
65
- return Object.getOwnPropertyDescriptor(e, r).enumerable;
66
- })), t.push.apply(t, o);
67
- }
68
- return t;
69
- }
70
- function _objectSpread2(e) {
71
- for (var r = 1; r < arguments.length; r++) {
72
- var t = null != arguments[r] ? arguments[r] : {};
73
- r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
74
- _defineProperty(e, r, t[r]);
75
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
76
- Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
77
- });
78
- }
79
- return e;
80
- }
81
- function _toPrimitive(t, r) {
82
- if ("object" != typeof t || !t) return t;
83
- var e = t[Symbol.toPrimitive];
84
- if (void 0 !== e) {
85
- var i = e.call(t, r);
86
- if ("object" != typeof i) return i;
87
- throw new TypeError("@@toPrimitive must return a primitive value.");
88
- }
89
- return ("string" === r ? String : Number)(t);
90
- }
91
- function _toPropertyKey(t) {
92
- var i = _toPrimitive(t, "string");
93
- return "symbol" == typeof i ? i : i + "";
94
- }
95
-
96
- var _getDataFromWindow = name => {
97
- try {
98
- if (window != undefined) {
99
- var ssr_data = window.__CONTEXT.ssr_data;
100
- if (ssr_data != undefined) {
101
- if (ssr_data[name] != undefined) {
102
- return ssr_data[name];
103
- }
104
- }
105
- }
106
- } catch (e) {}
107
- return undefined;
108
- };
109
- var getSsrDataFromContext = (context, name) => {
110
- var data = undefined;
111
- if ((context === null || context === void 0 ? void 0 : context.ssr_data) != undefined && (context === null || context === void 0 ? void 0 : context.ssr_data[name]) != undefined) {
112
- data = context.ssr_data[name];
113
- } else {
114
- var wdata = _getDataFromWindow(name);
115
- if (wdata != undefined) {
116
- data = wdata;
117
- }
118
- }
119
- return data;
120
- };
121
-
122
- var useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {
123
- var _maybeModify = useCallback(value => {
124
- return modifier == undefined ? value : modifier(value);
125
- }, [modifier]);
126
- var ssrDataFromContext = getSsrDataFromContext(context, name);
127
- var [ssrData, setSsrData] = useState(_maybeModify(ssrDataFromContext != undefined ? ssrDataFromContext : defval));
128
- var [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined);
129
- var refreshSsrData = useCallback(() => {
130
- if (loader == undefined) {
131
- return;
132
- }
133
- var {
134
- fetcher
135
- } = miolo;
136
- function fetchData() {
137
- return _fetchData.apply(this, arguments);
138
- }
139
- function _fetchData() {
140
- _fetchData = _asyncToGenerator(function* () {
141
- var nSsrData = yield loader(context, fetcher);
142
- setSsrData(_maybeModify(nSsrData));
143
- });
144
- return _fetchData.apply(this, arguments);
145
- }
146
- fetchData();
147
- }, [context, miolo, loader, _maybeModify]);
148
- useEffect(() => {
149
- try {
150
- if (needToRefresh) {
151
- setNeedToRefresh(false);
152
- refreshSsrData();
153
- }
154
- } catch (e) {}
155
- }, [needToRefresh, refreshSsrData]);
156
- return [ssrData, data => setSsrData(_maybeModify(data)), refreshSsrData];
157
- };
158
-
159
- var MioloContextProvider = _ref => {
160
- var {
161
- context,
162
- children
163
- } = _ref;
164
- var [innerContext, setInnerContext] = useState(context);
165
- var [mioloObj, setMioloObj] = useState(miolo_client(context));
166
- useEffect(() => {
167
- setInnerContext(context);
168
- setMioloObj(miolo_client(context));
169
- }, [context]);
170
- var login = useCallback(/*#__PURE__*/function () {
171
- var _ref2 = _asyncToGenerator(function* (credentials) {
172
- var {
173
- fetcher
174
- } = mioloObj;
175
- var {
176
- config
177
- } = innerContext;
178
- var url = config.login_url || '/login';
179
- var resp = yield fetcher.login(url, credentials);
180
- if (resp !== null && resp !== void 0 && resp.data) {
181
- var _resp$data;
182
- if (resp !== null && resp !== void 0 && (_resp$data = resp.data) !== null && _resp$data !== void 0 && _resp$data.authenticated) {
183
- setInnerContext(current => {
184
- return _objectSpread2(_objectSpread2({}, current), resp === null || resp === void 0 ? void 0 : resp.data);
185
- });
186
- }
187
- return resp === null || resp === void 0 ? void 0 : resp.data;
188
- }
189
- return {};
190
- });
191
- return function (_x) {
192
- return _ref2.apply(this, arguments);
193
- };
194
- }(), [innerContext, mioloObj]);
195
- var logout = useCallback(/*#__PURE__*/_asyncToGenerator(function* () {
196
- var {
197
- fetcher
198
- } = mioloObj;
199
- var {
200
- config
201
- } = innerContext;
202
- var url = config.logout_url || '/logout';
203
- yield fetcher.logout(url);
204
- // resp.redirected= true
205
-
206
- setInnerContext(current => {
207
- return _objectSpread2(_objectSpread2({}, current), {}, {
208
- user: undefined,
209
- authenticated: false
210
- });
211
- });
212
- return {
213
- user: undefined,
214
- authenticated: false
215
- };
216
- }), [innerContext, mioloObj]);
217
- var updateUser = useCallback(user => {
218
- setInnerContext(current => {
219
- return _objectSpread2(_objectSpread2({}, current), {}, {
220
- user
221
- });
222
- });
223
- }, []);
224
- var useSsrData = (name, defval, loader, modifier) => {
225
- return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier);
226
- };
227
- return /*#__PURE__*/React.createElement(MioloContext.Provider, {
228
- value: {
229
- //context: innerContext,
230
- //setContext: setInnerContext,
231
- //miolo: mioloObj,
232
- user: innerContext.user,
233
- updateUser,
234
- authenticated: innerContext.authenticated,
235
- fetcher: mioloObj.fetcher,
236
- //socket: mioloObj.socket,
237
- login,
238
- logout,
239
- useSsrData
240
- }
241
- }, children);
242
- };
243
-
244
- var AppBrowser = _ref => {
245
- var {
246
- children
247
- } = _ref;
248
- var context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};
249
- return /*#__PURE__*/React.createElement(MioloContextProvider, {
250
- context: context
251
- }, children);
252
- };
253
-
254
- var AppServer = _ref => {
255
- var {
256
- context,
257
- children
258
- } = _ref;
259
- return /*#__PURE__*/React.createElement(MioloContextProvider, {
260
- context: context || {}
261
- }, children);
262
- };
263
-
264
- export { AppBrowser, AppServer, useMioloContext, withMioloContext };
265
- //# sourceMappingURL=miolo-react.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"miolo-react.mjs","sources":["../src/context/MioloContext.mjs","../src/context/withMioloContext.jsx","../src/context/useMioloContext.jsx","../src/ssr/getSsrDataFromContext.mjs","../src/ssr/useSsrDataOrReload.mjs","../src/context/MioloContextProvider.jsx","../src/AppBrowser.jsx","../src/AppServer.jsx"],"sourcesContent":["import React from 'react'\n\nconst MioloContext = React.createContext()\n\nexport default MioloContext","import React, {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\n/* eslint react/display-name:0 */\nconst withMioloContext = (BaseComponent) => (props) => {\n const context = useContext(MioloContext)\n\n return (\n <BaseComponent {...props}\n {...context}/>\n );\n}\n\n\nexport default withMioloContext","import {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\nconst useMioloContext = () => useContext(MioloContext)\n\nexport default useMioloContext\n","\nconst _getDataFromWindow = (name) => {\n try {\n if (window != undefined) {\n const ssr_data= window.__CONTEXT.ssr_data\n \n if (ssr_data!=undefined) {\n if (ssr_data[name]!=undefined) {\n return ssr_data[name]\n }\n }\n }\n } catch(e) {}\n \n return undefined\n}\n\nconst getSsrDataFromContext = (context, name) => {\n let data= undefined\n\n if (context?.ssr_data != undefined && context?.ssr_data[name]!=undefined) {\n data= context.ssr_data[name]\n } else {\n const wdata= _getDataFromWindow(name)\n if (wdata != undefined) {\n data= wdata\n }\n }\n \n return data\n}\n\nexport default getSsrDataFromContext\n","import {useState, useCallback, useEffect} from 'react'\nimport getSsrDataFromContext from './getSsrDataFromContext.mjs'\n\nconst useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {\n \n const _maybeModify = useCallback((value) => {\n return modifier==undefined ? value : modifier(value)\n }, [modifier])\n\n const ssrDataFromContext = getSsrDataFromContext(context, name)\n const [ssrData, setSsrData] = useState(_maybeModify(\n ssrDataFromContext != undefined \n ? ssrDataFromContext : defval))\n const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined)\n\n const refreshSsrData = useCallback(() => {\n if (loader == undefined) {\n return\n }\n\n const {fetcher} = miolo\n\n async function fetchData() {\n let nSsrData = await loader(context, fetcher)\n setSsrData(_maybeModify(nSsrData))\n }\n\n fetchData()\n }, [context, miolo, loader, _maybeModify]) \n \n useEffect(() => {\n try {\n if (needToRefresh) {\n setNeedToRefresh(false)\n refreshSsrData()\n }\n } catch(e) {}\n }, [needToRefresh, refreshSsrData]) \n\n return [ssrData, (data) => setSsrData(_maybeModify(data)), refreshSsrData]\n}\n\nexport {useSsrDataOrReload}","import React , {useState, useEffect, useCallback} from 'react'\nimport Context from './MioloContext.mjs'\nimport { miolo_client } from 'miolo-cli'\nimport { useSsrDataOrReload } from '../ssr/useSsrDataOrReload.mjs'\n\n\nconst MioloContextProvider = ({context, children}) => {\n const [innerContext, setInnerContext]= useState(context)\n const [mioloObj, setMioloObj]= useState(miolo_client(context))\n \n useEffect(() => {\n setInnerContext(context)\n setMioloObj(miolo_client(context))\n }, [context])\n \n const login = useCallback(async (credentials) => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.login_url || '/login'\n const resp = await fetcher.login(url, credentials)\n\n if (resp?.data) {\n if (resp?.data?.authenticated) {\n setInnerContext(current => {\n return {\n ...current,\n ...resp?.data,\n }\n })\n }\n\n return resp?.data\n }\n\n return {}\n }, [innerContext, mioloObj])\n\n const logout = useCallback(async () => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.logout_url || '/logout'\n const _resp = await fetcher.logout(url)\n // resp.redirected= true\n\n setInnerContext(current => {\n return {\n ...current,\n user: undefined,\n authenticated: false,\n }\n })\n\n return {\n user: undefined,\n authenticated: false,\n }\n }, [innerContext, mioloObj])\n\n const updateUser = useCallback((user) => {\n setInnerContext((current) => {\n return {\n ...current,\n user,\n }\n })\n }, [])\n\n const useSsrData = (name, defval, loader, modifier) => {\n return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier)\n } \n \n return (\n <Context.Provider \n value={{\n //context: innerContext, \n //setContext: setInnerContext,\n //miolo: mioloObj,\n user: innerContext.user,\n updateUser,\n authenticated: innerContext.authenticated,\n fetcher: mioloObj.fetcher,\n //socket: mioloObj.socket,\n login,\n logout,\n useSsrData\n }}>\n {children}\n </Context.Provider>\n )\n}\n\n\nexport default MioloContextProvider\n","import React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\nconst AppBrowser = ({ children }) => {\n const context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};\n\n return (\n <MioloContextProvider context={context}>\n {children}\n </MioloContextProvider>\n ) \n}\n\nexport default AppBrowser\n","\nimport React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\n\nconst AppServer = ({context, children}) => {\n\n return (\n <MioloContextProvider \n context= {context || {}}>\n {children}\n </MioloContextProvider>\n )\n}\n\nexport default AppServer\n\n"],"names":["MioloContext","React","createContext","withMioloContext","BaseComponent","props","context","useContext","createElement","Object","assign","useMioloContext","_getDataFromWindow","name","window","undefined","ssr_data","__CONTEXT","e","getSsrDataFromContext","data","wdata","useSsrDataOrReload","miolo","defval","loader","modifier","_maybeModify","useCallback","value","ssrDataFromContext","ssrData","setSsrData","useState","needToRefresh","setNeedToRefresh","refreshSsrData","fetcher","fetchData","_fetchData","apply","arguments","_asyncToGenerator","nSsrData","useEffect","MioloContextProvider","_ref","children","innerContext","setInnerContext","mioloObj","setMioloObj","miolo_client","login","_ref2","credentials","config","url","login_url","resp","_resp$data","authenticated","current","_objectSpread","_x","logout","logout_url","user","updateUser","useSsrData","Context","Provider","AppBrowser","AppServer"],"mappings":"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"}
@@ -1,378 +0,0 @@
1
- /**
2
- * miolo-react v3.0.0-beta.16
3
- *
4
- * https://www.afialapis.com/os/miolo
5
- *
6
- * Copyright (c) Donato Lorenzo <donato@afialapis.com>
7
- *
8
- * This source code is licensed under the MIT license found in the
9
- * LICENSE.md file in the root directory of this source tree.
10
- *
11
- * @license MIT
12
- */
13
- /* eslint-disable */
14
- (function (global, factory) {
15
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('miolo-cli')) :
16
- typeof define === 'function' && define.amd ? define(['exports', 'react', 'miolo-cli'], factory) :
17
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.mioloReact = {}, global.react, global.mioloCli));
18
- })(this, (function (exports, React, mioloCli) { 'use strict';
19
-
20
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
21
- try {
22
- var i = n[a](c),
23
- u = i.value;
24
- } catch (n) {
25
- return void e(n);
26
- }
27
- i.done ? t(u) : Promise.resolve(u).then(r, o);
28
- }
29
- function _asyncToGenerator(n) {
30
- return function () {
31
- var t = this,
32
- e = arguments;
33
- return new Promise(function (r, o) {
34
- var a = n.apply(t, e);
35
- function _next(n) {
36
- asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
37
- }
38
- function _throw(n) {
39
- asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
40
- }
41
- _next(void 0);
42
- });
43
- };
44
- }
45
- function _extends() {
46
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
47
- for (var e = 1; e < arguments.length; e++) {
48
- var t = arguments[e];
49
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
50
- }
51
- return n;
52
- }, _extends.apply(null, arguments);
53
- }
54
- function _regenerator() {
55
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
56
- var e,
57
- t,
58
- r = "function" == typeof Symbol ? Symbol : {},
59
- n = r.iterator || "@@iterator",
60
- o = r.toStringTag || "@@toStringTag";
61
- function i(r, n, o, i) {
62
- var c = n && n.prototype instanceof Generator ? n : Generator,
63
- u = Object.create(c.prototype);
64
- return _regeneratorDefine(u, "_invoke", function (r, n, o) {
65
- var i,
66
- c,
67
- u,
68
- f = 0,
69
- p = o || [],
70
- y = false,
71
- G = {
72
- p: 0,
73
- n: 0,
74
- v: e,
75
- a: d,
76
- f: d.bind(e, 4),
77
- d: function (t, r) {
78
- return i = t, c = 0, u = e, G.n = r, a;
79
- }
80
- };
81
- function d(r, n) {
82
- for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
83
- var o,
84
- i = p[t],
85
- d = G.p,
86
- l = i[2];
87
- r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
88
- }
89
- if (o || r > 1) return a;
90
- throw y = true, n;
91
- }
92
- return function (o, p, l) {
93
- if (f > 1) throw TypeError("Generator is already running");
94
- for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
95
- i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
96
- try {
97
- if (f = 2, i) {
98
- if (c || (o = "next"), t = i[o]) {
99
- if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
100
- if (!t.done) return t;
101
- u = t.value, c < 2 && (c = 0);
102
- } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
103
- i = e;
104
- } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
105
- } catch (t) {
106
- i = e, c = 1, u = t;
107
- } finally {
108
- f = 1;
109
- }
110
- }
111
- return {
112
- value: t,
113
- done: y
114
- };
115
- };
116
- }(r, o, i), true), u;
117
- }
118
- var a = {};
119
- function Generator() {}
120
- function GeneratorFunction() {}
121
- function GeneratorFunctionPrototype() {}
122
- t = Object.getPrototypeOf;
123
- var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
124
- return this;
125
- }), t),
126
- u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
127
- function f(e) {
128
- return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
129
- }
130
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
131
- return this;
132
- }), _regeneratorDefine(u, "toString", function () {
133
- return "[object Generator]";
134
- }), (_regenerator = function () {
135
- return {
136
- w: i,
137
- m: f
138
- };
139
- })();
140
- }
141
- function _regeneratorDefine(e, r, n, t) {
142
- var i = Object.defineProperty;
143
- try {
144
- i({}, "", {});
145
- } catch (e) {
146
- i = 0;
147
- }
148
- _regeneratorDefine = function (e, r, n, t) {
149
- if (r) i ? i(e, r, {
150
- value: n,
151
- enumerable: !t,
152
- configurable: !t,
153
- writable: !t
154
- }) : e[r] = n;else {
155
- function o(r, n) {
156
- _regeneratorDefine(e, r, function (e) {
157
- return this._invoke(r, n, e);
158
- });
159
- }
160
- o("next", 0), o("throw", 1), o("return", 2);
161
- }
162
- }, _regeneratorDefine(e, r, n, t);
163
- }
164
-
165
- var MioloContext = /*#__PURE__*/React.createContext();
166
-
167
- /* eslint react/display-name:0 */
168
- var withMioloContext = function withMioloContext(BaseComponent) {
169
- return function (props) {
170
- var context = React.useContext(MioloContext);
171
- return /*#__PURE__*/React.createElement(BaseComponent, _extends({}, props, context));
172
- };
173
- };
174
-
175
- var useMioloContext = function useMioloContext() {
176
- return React.useContext(MioloContext);
177
- };
178
-
179
- var _getDataFromWindow = function _getDataFromWindow(name) {
180
- try {
181
- if (window != undefined) {
182
- var ssr_data = window.__CONTEXT.ssr_data;
183
- if (ssr_data != undefined) {
184
- if (ssr_data[name] != undefined) {
185
- return ssr_data[name];
186
- }
187
- }
188
- }
189
- } catch (e) {}
190
- return undefined;
191
- };
192
- var getSsrDataFromContext = function getSsrDataFromContext(context, name) {
193
- var data = undefined;
194
- if ((context == null ? void 0 : context.ssr_data) != undefined && (context == null ? void 0 : context.ssr_data[name]) != undefined) {
195
- data = context.ssr_data[name];
196
- } else {
197
- var wdata = _getDataFromWindow(name);
198
- if (wdata != undefined) {
199
- data = wdata;
200
- }
201
- }
202
- return data;
203
- };
204
-
205
- var useSsrDataOrReload = function useSsrDataOrReload(context, miolo, name, defval, loader, modifier) {
206
- var _maybeModify = React.useCallback(function (value) {
207
- return modifier == undefined ? value : modifier(value);
208
- }, [modifier]);
209
- var ssrDataFromContext = getSsrDataFromContext(context, name);
210
- var _useState = React.useState(_maybeModify(ssrDataFromContext != undefined ? ssrDataFromContext : defval)),
211
- ssrData = _useState[0],
212
- setSsrData = _useState[1];
213
- var _useState2 = React.useState(ssrDataFromContext == undefined),
214
- needToRefresh = _useState2[0],
215
- setNeedToRefresh = _useState2[1];
216
- var refreshSsrData = React.useCallback(function () {
217
- if (loader == undefined) {
218
- return;
219
- }
220
- var fetcher = miolo.fetcher;
221
- function fetchData() {
222
- return _fetchData.apply(this, arguments);
223
- }
224
- function _fetchData() {
225
- _fetchData = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
226
- var nSsrData;
227
- return _regenerator().w(function (_context) {
228
- while (1) switch (_context.n) {
229
- case 0:
230
- _context.n = 1;
231
- return loader(context, fetcher);
232
- case 1:
233
- nSsrData = _context.v;
234
- setSsrData(_maybeModify(nSsrData));
235
- case 2:
236
- return _context.a(2);
237
- }
238
- }, _callee);
239
- }));
240
- return _fetchData.apply(this, arguments);
241
- }
242
- fetchData();
243
- }, [context, miolo, loader, _maybeModify]);
244
- React.useEffect(function () {
245
- try {
246
- if (needToRefresh) {
247
- setNeedToRefresh(false);
248
- refreshSsrData();
249
- }
250
- } catch (e) {}
251
- }, [needToRefresh, refreshSsrData]);
252
- return [ssrData, function (data) {
253
- return setSsrData(_maybeModify(data));
254
- }, refreshSsrData];
255
- };
256
-
257
- var MioloContextProvider = function MioloContextProvider(_ref) {
258
- var context = _ref.context,
259
- children = _ref.children;
260
- var _useState = React.useState(context),
261
- innerContext = _useState[0],
262
- setInnerContext = _useState[1];
263
- var _useState2 = React.useState(mioloCli.miolo_client(context)),
264
- mioloObj = _useState2[0],
265
- setMioloObj = _useState2[1];
266
- React.useEffect(function () {
267
- setInnerContext(context);
268
- setMioloObj(mioloCli.miolo_client(context));
269
- }, [context]);
270
- var login = React.useCallback(/*#__PURE__*/function () {
271
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(credentials) {
272
- var fetcher, config, url, resp, _resp$data;
273
- return _regenerator().w(function (_context) {
274
- while (1) switch (_context.n) {
275
- case 0:
276
- fetcher = mioloObj.fetcher;
277
- config = innerContext.config;
278
- url = config.login_url || '/login';
279
- _context.n = 1;
280
- return fetcher.login(url, credentials);
281
- case 1:
282
- resp = _context.v;
283
- if (!(resp != null && resp.data)) {
284
- _context.n = 2;
285
- break;
286
- }
287
- if (resp != null && (_resp$data = resp.data) != null && _resp$data.authenticated) {
288
- setInnerContext(function (current) {
289
- return _extends({}, current, resp == null ? void 0 : resp.data);
290
- });
291
- }
292
- return _context.a(2, resp == null ? void 0 : resp.data);
293
- case 2:
294
- return _context.a(2, {});
295
- }
296
- }, _callee);
297
- }));
298
- return function (_x) {
299
- return _ref2.apply(this, arguments);
300
- };
301
- }(), [innerContext, mioloObj]);
302
- var logout = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
303
- var fetcher, config, url;
304
- return _regenerator().w(function (_context2) {
305
- while (1) switch (_context2.n) {
306
- case 0:
307
- fetcher = mioloObj.fetcher;
308
- config = innerContext.config;
309
- url = config.logout_url || '/logout';
310
- _context2.n = 1;
311
- return fetcher.logout(url);
312
- case 1:
313
- _context2.v;
314
- // resp.redirected= true
315
-
316
- setInnerContext(function (current) {
317
- return _extends({}, current, {
318
- user: undefined,
319
- authenticated: false
320
- });
321
- });
322
- return _context2.a(2, {
323
- user: undefined,
324
- authenticated: false
325
- });
326
- }
327
- }, _callee2);
328
- })), [innerContext, mioloObj]);
329
- var updateUser = React.useCallback(function (user) {
330
- setInnerContext(function (current) {
331
- return _extends({}, current, {
332
- user: user
333
- });
334
- });
335
- }, []);
336
- var useSsrData = function useSsrData(name, defval, loader, modifier) {
337
- return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier);
338
- };
339
- return /*#__PURE__*/React.createElement(MioloContext.Provider, {
340
- value: {
341
- //context: innerContext,
342
- //setContext: setInnerContext,
343
- //miolo: mioloObj,
344
- user: innerContext.user,
345
- updateUser: updateUser,
346
- authenticated: innerContext.authenticated,
347
- fetcher: mioloObj.fetcher,
348
- //socket: mioloObj.socket,
349
- login: login,
350
- logout: logout,
351
- useSsrData: useSsrData
352
- }
353
- }, children);
354
- };
355
-
356
- var AppBrowser = function AppBrowser(_ref) {
357
- var children = _ref.children;
358
- var context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};
359
- return /*#__PURE__*/React.createElement(MioloContextProvider, {
360
- context: context
361
- }, children);
362
- };
363
-
364
- var AppServer = function AppServer(_ref) {
365
- var context = _ref.context,
366
- children = _ref.children;
367
- return /*#__PURE__*/React.createElement(MioloContextProvider, {
368
- context: context || {}
369
- }, children);
370
- };
371
-
372
- exports.AppBrowser = AppBrowser;
373
- exports.AppServer = AppServer;
374
- exports.useMioloContext = useMioloContext;
375
- exports.withMioloContext = withMioloContext;
376
-
377
- }));
378
- //# sourceMappingURL=miolo-react.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"miolo-react.umd.js","sources":["../src/context/MioloContext.mjs","../src/context/withMioloContext.jsx","../src/context/useMioloContext.jsx","../src/ssr/getSsrDataFromContext.mjs","../src/ssr/useSsrDataOrReload.mjs","../src/context/MioloContextProvider.jsx","../src/AppBrowser.jsx","../src/AppServer.jsx"],"sourcesContent":["import React from 'react'\n\nconst MioloContext = React.createContext()\n\nexport default MioloContext","import React, {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\n/* eslint react/display-name:0 */\nconst withMioloContext = (BaseComponent) => (props) => {\n const context = useContext(MioloContext)\n\n return (\n <BaseComponent {...props}\n {...context}/>\n );\n}\n\n\nexport default withMioloContext","import {useContext} from 'react'\nimport MioloContext from './MioloContext.mjs'\n\nconst useMioloContext = () => useContext(MioloContext)\n\nexport default useMioloContext\n","\nconst _getDataFromWindow = (name) => {\n try {\n if (window != undefined) {\n const ssr_data= window.__CONTEXT.ssr_data\n \n if (ssr_data!=undefined) {\n if (ssr_data[name]!=undefined) {\n return ssr_data[name]\n }\n }\n }\n } catch(e) {}\n \n return undefined\n}\n\nconst getSsrDataFromContext = (context, name) => {\n let data= undefined\n\n if (context?.ssr_data != undefined && context?.ssr_data[name]!=undefined) {\n data= context.ssr_data[name]\n } else {\n const wdata= _getDataFromWindow(name)\n if (wdata != undefined) {\n data= wdata\n }\n }\n \n return data\n}\n\nexport default getSsrDataFromContext\n","import {useState, useCallback, useEffect} from 'react'\nimport getSsrDataFromContext from './getSsrDataFromContext.mjs'\n\nconst useSsrDataOrReload = (context, miolo, name, defval, loader, modifier) => {\n \n const _maybeModify = useCallback((value) => {\n return modifier==undefined ? value : modifier(value)\n }, [modifier])\n\n const ssrDataFromContext = getSsrDataFromContext(context, name)\n const [ssrData, setSsrData] = useState(_maybeModify(\n ssrDataFromContext != undefined \n ? ssrDataFromContext : defval))\n const [needToRefresh, setNeedToRefresh] = useState(ssrDataFromContext == undefined)\n\n const refreshSsrData = useCallback(() => {\n if (loader == undefined) {\n return\n }\n\n const {fetcher} = miolo\n\n async function fetchData() {\n let nSsrData = await loader(context, fetcher)\n setSsrData(_maybeModify(nSsrData))\n }\n\n fetchData()\n }, [context, miolo, loader, _maybeModify]) \n \n useEffect(() => {\n try {\n if (needToRefresh) {\n setNeedToRefresh(false)\n refreshSsrData()\n }\n } catch(e) {}\n }, [needToRefresh, refreshSsrData]) \n\n return [ssrData, (data) => setSsrData(_maybeModify(data)), refreshSsrData]\n}\n\nexport {useSsrDataOrReload}","import React , {useState, useEffect, useCallback} from 'react'\nimport Context from './MioloContext.mjs'\nimport { miolo_client } from 'miolo-cli'\nimport { useSsrDataOrReload } from '../ssr/useSsrDataOrReload.mjs'\n\n\nconst MioloContextProvider = ({context, children}) => {\n const [innerContext, setInnerContext]= useState(context)\n const [mioloObj, setMioloObj]= useState(miolo_client(context))\n \n useEffect(() => {\n setInnerContext(context)\n setMioloObj(miolo_client(context))\n }, [context])\n \n const login = useCallback(async (credentials) => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.login_url || '/login'\n const resp = await fetcher.login(url, credentials)\n\n if (resp?.data) {\n if (resp?.data?.authenticated) {\n setInnerContext(current => {\n return {\n ...current,\n ...resp?.data,\n }\n })\n }\n\n return resp?.data\n }\n\n return {}\n }, [innerContext, mioloObj])\n\n const logout = useCallback(async () => {\n const { fetcher } = mioloObj\n const { config } = innerContext\n\n const url = config.logout_url || '/logout'\n const _resp = await fetcher.logout(url)\n // resp.redirected= true\n\n setInnerContext(current => {\n return {\n ...current,\n user: undefined,\n authenticated: false,\n }\n })\n\n return {\n user: undefined,\n authenticated: false,\n }\n }, [innerContext, mioloObj])\n\n const updateUser = useCallback((user) => {\n setInnerContext((current) => {\n return {\n ...current,\n user,\n }\n })\n }, [])\n\n const useSsrData = (name, defval, loader, modifier) => {\n return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier)\n } \n \n return (\n <Context.Provider \n value={{\n //context: innerContext, \n //setContext: setInnerContext,\n //miolo: mioloObj,\n user: innerContext.user,\n updateUser,\n authenticated: innerContext.authenticated,\n fetcher: mioloObj.fetcher,\n //socket: mioloObj.socket,\n login,\n logout,\n useSsrData\n }}>\n {children}\n </Context.Provider>\n )\n}\n\n\nexport default MioloContextProvider\n","import React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\nconst AppBrowser = ({ children }) => {\n const context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};\n\n return (\n <MioloContextProvider context={context}>\n {children}\n </MioloContextProvider>\n ) \n}\n\nexport default AppBrowser\n","\nimport React from 'react'\nimport MioloContextProvider from './context/MioloContextProvider.jsx'\n\n\nconst AppServer = ({context, children}) => {\n\n return (\n <MioloContextProvider \n context= {context || {}}>\n {children}\n </MioloContextProvider>\n )\n}\n\nexport default AppServer\n\n"],"names":["MioloContext","React","createContext","withMioloContext","BaseComponent","props","context","useContext","createElement","_extends","useMioloContext","_getDataFromWindow","name","window","undefined","ssr_data","__CONTEXT","e","getSsrDataFromContext","data","wdata","useSsrDataOrReload","miolo","defval","loader","modifier","_maybeModify","useCallback","value","ssrDataFromContext","_useState","useState","ssrData","setSsrData","_useState2","needToRefresh","setNeedToRefresh","refreshSsrData","fetcher","fetchData","_fetchData","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","nSsrData","w","_context","n","v","a","useEffect","MioloContextProvider","_ref","children","innerContext","setInnerContext","miolo_client","mioloObj","setMioloObj","login","_ref2","credentials","config","url","resp","_resp$data","login_url","authenticated","current","_x","logout","_callee2","_context2","logout_url","user","updateUser","useSsrData","Context","Provider","AppBrowser","AppServer"],"mappings":"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"}