@arcblock/did-connect-react 3.4.0 → 3.4.2
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/lib/Connect/assets/locale.js +4 -2
- package/lib/Connect/components/login-item/connect-choose-list.js +120 -114
- package/lib/Connect/components/login-item/connect-provider-list.js +187 -180
- package/lib/Connect/components/login-item/login-method-item.js +63 -47
- package/lib/Connect/components/login-item/passkey-login-item.js +17 -15
- package/lib/Connect/components/login-item/wallet-login-options.js +42 -40
- package/lib/Connect/connect.js +116 -117
- package/lib/Connect/contexts/state.js +73 -64
- package/lib/Connect/hooks/provider-list.js +43 -33
- package/lib/Connect/hooks/token.js +121 -122
- package/lib/Connect/plugins/email/index.js +15 -12
- package/lib/Connect/plugins/email/list-item.js +19 -18
- package/lib/Passkey/actions.js +80 -75
- package/lib/package.json.js +1 -1
- package/package.json +5 -5
- package/src/Connect/assets/locale.js +2 -0
- package/src/Connect/components/login-item/connect-choose-list.jsx +12 -5
- package/src/Connect/components/login-item/connect-provider-list.jsx +11 -4
- package/src/Connect/components/login-item/login-method-item.jsx +24 -7
- package/src/Connect/components/login-item/passkey-login-item.jsx +3 -1
- package/src/Connect/components/login-item/wallet-login-options.jsx +3 -2
- package/src/Connect/connect.jsx +36 -35
- package/src/Connect/contexts/state.jsx +10 -0
- package/src/Connect/hooks/provider-list.js +43 -17
- package/src/Connect/hooks/token.js +13 -13
- package/src/Connect/plugins/email/index.jsx +3 -0
- package/src/Connect/plugins/email/list-item.jsx +3 -2
- package/src/Passkey/actions.jsx +5 -0
|
@@ -1,175 +1,180 @@
|
|
|
1
|
-
import { jsx as l, jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { Box as
|
|
4
|
-
import { LOGIN_PROVIDER as
|
|
5
|
-
import { checkSameProtocol as
|
|
1
|
+
import { jsx as l, jsxs as po } from "react/jsx-runtime";
|
|
2
|
+
import n from "prop-types";
|
|
3
|
+
import { Box as A } from "@mui/material";
|
|
4
|
+
import { LOGIN_PROVIDER as e, LOGIN_PROVIDER_ICON_SIZE as E, LOGIN_PROVIDER_NAME as ho } from "@arcblock/ux/lib/Util/constant";
|
|
5
|
+
import { checkSameProtocol as uo, getWebWalletUrl as go } from "@arcblock/ux/lib/Util/wallet";
|
|
6
6
|
import b from "lodash/noop";
|
|
7
|
-
import { useMemoizedFn as a, useCreation as
|
|
8
|
-
import
|
|
9
|
-
import { detectWalletExtension as
|
|
10
|
-
import { useRef as w, useEffect as
|
|
11
|
-
import { mergeSx as
|
|
12
|
-
import
|
|
13
|
-
import { GA_LAST_LOGIN_METHOD as
|
|
14
|
-
import { translate as
|
|
15
|
-
import
|
|
16
|
-
import { useBrowser as
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import { useOAuth as
|
|
22
|
-
import { useStateContext as
|
|
23
|
-
import { getAppId as
|
|
24
|
-
import
|
|
25
|
-
import { usePasskey as
|
|
7
|
+
import { useMemoizedFn as a, useCreation as fo } from "ahooks";
|
|
8
|
+
import O from "js-cookie";
|
|
9
|
+
import { detectWalletExtension as yo, getCookieOptions as Lo } from "@arcblock/ux/lib/Util";
|
|
10
|
+
import { useRef as w, useEffect as J } from "react";
|
|
11
|
+
import { mergeSx as Io } from "@arcblock/ux/lib/Util/style";
|
|
12
|
+
import Ao from "@arcblock/ux/lib/DIDConnect/provider-icon";
|
|
13
|
+
import { GA_LAST_LOGIN_METHOD as f } from "@arcblock/ux/lib/withTracker/constant";
|
|
14
|
+
import { translate as Eo } from "@arcblock/ux/lib/Locale/util";
|
|
15
|
+
import bo from "@arcblock/ux/lib/Empty";
|
|
16
|
+
import { useBrowser as xo } from "@arcblock/react-hooks";
|
|
17
|
+
import Co from "./mobile-login-item.js";
|
|
18
|
+
import Po from "./web-login-item.js";
|
|
19
|
+
import Mo from "./login-method-item.js";
|
|
20
|
+
import vo from "./wallet-login-options.js";
|
|
21
|
+
import { useOAuth as _o } from "../../../OAuth/context.js";
|
|
22
|
+
import { useStateContext as Oo } from "../../contexts/state.js";
|
|
23
|
+
import { getAppId as wo, logger as Wo, getApiErrorMessage as To } from "../../../utils.js";
|
|
24
|
+
import ko from "./passkey-login-item.js";
|
|
25
|
+
import { usePasskey as So } from "../../../Passkey/context.js";
|
|
26
26
|
import "../../../Passkey/actions.js";
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
function
|
|
30
|
-
onSuccess:
|
|
31
|
-
onError:
|
|
27
|
+
import Ro from "../../plugins/email/index.js";
|
|
28
|
+
import jo from "../../assets/locale.js";
|
|
29
|
+
function No({
|
|
30
|
+
onSuccess: W = b,
|
|
31
|
+
onError: T = b,
|
|
32
32
|
size: m = "small",
|
|
33
|
-
tokenState:
|
|
34
|
-
webWalletUrl: x =
|
|
35
|
-
tokenKey:
|
|
36
|
-
passkeyBehavior:
|
|
33
|
+
tokenState: t,
|
|
34
|
+
webWalletUrl: x = go(),
|
|
35
|
+
tokenKey: k,
|
|
36
|
+
passkeyBehavior: S = "none",
|
|
37
37
|
onReset: C = b,
|
|
38
38
|
providerList: d = [],
|
|
39
|
-
slotProps:
|
|
40
|
-
disableSwitchApp:
|
|
41
|
-
forceUpdate:
|
|
42
|
-
magicToken:
|
|
43
|
-
baseUrl:
|
|
44
|
-
customItems:
|
|
45
|
-
qrcode:
|
|
46
|
-
hideQRCode:
|
|
39
|
+
slotProps: X = {},
|
|
40
|
+
disableSwitchApp: P = !1,
|
|
41
|
+
forceUpdate: z = b,
|
|
42
|
+
magicToken: R = void 0,
|
|
43
|
+
baseUrl: Q = "/",
|
|
44
|
+
customItems: oo = [],
|
|
45
|
+
qrcode: eo = null,
|
|
46
|
+
hideQRCode: y = !1
|
|
47
47
|
}) {
|
|
48
|
-
const
|
|
49
|
-
extraParams:
|
|
50
|
-
locale:
|
|
48
|
+
const M = w(null), v = w(null), j = w(null), no = uo(x), N = yo(), p = xo(), { loginOAuth: to, logoutOAuth: ro, t: io, oauthState: s } = _o(), { passkeyState: D } = So(), {
|
|
49
|
+
extraParams: F,
|
|
50
|
+
locale: B,
|
|
51
51
|
connectState: i,
|
|
52
|
-
plugins:
|
|
53
|
-
setPlugins:
|
|
54
|
-
setSelectedPlugin:
|
|
55
|
-
getPlugin:
|
|
56
|
-
showWalletOptions:
|
|
57
|
-
setShowWalletOptions:
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
plugins: G,
|
|
53
|
+
setPlugins: lo,
|
|
54
|
+
setSelectedPlugin: so,
|
|
55
|
+
getPlugin: U,
|
|
56
|
+
showWalletOptions: g,
|
|
57
|
+
setShowWalletOptions: L,
|
|
58
|
+
lastLoginMethod: h
|
|
59
|
+
} = Oo(), I = a((o, r = {}) => Eo(jo, o, B, "en", r)), q = a(async (o) => {
|
|
60
|
+
localStorage.setItem(f, o.provider), t.reset(), s.reset({
|
|
60
61
|
status: "scanned"
|
|
61
|
-
}),
|
|
62
|
-
const
|
|
62
|
+
}), D.reset(), i.chooseMethod = o.provider;
|
|
63
|
+
const r = F?.sourceAppPid;
|
|
63
64
|
try {
|
|
64
65
|
s.loading = !0, s.status = "scanned";
|
|
65
|
-
const c = await
|
|
66
|
-
action:
|
|
67
|
-
...
|
|
68
|
-
}), u =
|
|
69
|
-
|
|
66
|
+
const c = await to(o, {
|
|
67
|
+
action: t.action,
|
|
68
|
+
...F
|
|
69
|
+
}), u = Lo({ returnDomain: !1 });
|
|
70
|
+
O.remove("connected_did", u), O.remove("connected_pk", u), O.remove("connected_wallet_os", u), c?.sessionToken && (await W(
|
|
70
71
|
{
|
|
71
72
|
...c,
|
|
72
73
|
encrypted: !1
|
|
73
74
|
},
|
|
74
|
-
(
|
|
75
|
+
(mo) => mo,
|
|
75
76
|
{
|
|
76
|
-
sourceAppPid:
|
|
77
|
-
connected_app:
|
|
77
|
+
sourceAppPid: r,
|
|
78
|
+
connected_app: wo(t.appInfo, t.memberAppInfo)
|
|
78
79
|
}
|
|
79
80
|
), s.loading = !1, s.status = "succeed");
|
|
80
81
|
} catch (c) {
|
|
81
|
-
|
|
82
|
-
const u =
|
|
83
|
-
s.loading = !1, s.error = u, s.status = "error", await
|
|
82
|
+
Wo.error(`Failed login OAuth: ${o.provider}`, c);
|
|
83
|
+
const u = To(c, io("loginOAuthFailed"));
|
|
84
|
+
s.loading = !1, s.error = u, s.status = "error", await ro({ provider: o.provider }), T(new Error(u));
|
|
84
85
|
}
|
|
85
|
-
}),
|
|
86
|
-
|
|
87
|
-
}),
|
|
88
|
-
localStorage.setItem(
|
|
89
|
-
const
|
|
86
|
+
}), K = a(async () => {
|
|
87
|
+
t.reset(), await C(), t.status = "created", i.chooseMethod = "wallet";
|
|
88
|
+
}), V = a(async () => {
|
|
89
|
+
localStorage.setItem(f, e.WALLET), t.reset(), await C(), t.status = "created", i.chooseMethod = "wallet";
|
|
90
|
+
const o = M.current?.connect;
|
|
90
91
|
i.retryConnect = () => {
|
|
91
|
-
|
|
92
|
+
o(K);
|
|
92
93
|
};
|
|
93
|
-
}),
|
|
94
|
-
localStorage.setItem(
|
|
95
|
-
const
|
|
94
|
+
}), Y = a(() => {
|
|
95
|
+
localStorage.setItem(f, e.WALLET), t.status = "scanned", i.chooseMethod = "wallet-web";
|
|
96
|
+
const o = v.current.connect;
|
|
96
97
|
i.retryConnect = async () => {
|
|
97
|
-
await C(),
|
|
98
|
+
await C(), t.error = "", t.status = "scanned", o();
|
|
98
99
|
};
|
|
99
|
-
}),
|
|
100
|
-
|
|
101
|
-
}),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}, [
|
|
105
|
-
const
|
|
106
|
-
if (
|
|
107
|
-
const
|
|
108
|
-
|
|
100
|
+
}), co = a(() => {
|
|
101
|
+
L(!1);
|
|
102
|
+
}), _ = fo(() => d.length === 1 && d[0].provider === e.WALLET, [d]);
|
|
103
|
+
J(() => {
|
|
104
|
+
_ && !p.mobile.any && !g && L(!0);
|
|
105
|
+
}, [_, p.mobile.any, L, g]);
|
|
106
|
+
const H = d.some((o) => o.provider === e.EMAIL), Z = Ro({ baseUrl: Q }), ao = a(() => {
|
|
107
|
+
if (R && d.some((o) => o.name === e.EMAIL) && G.some((o) => o.name === e.EMAIL)) {
|
|
108
|
+
const o = U(e.EMAIL);
|
|
109
|
+
o.state.status === "idle" && (localStorage.setItem(f, e.EMAIL), o.state.reset(), o.state.magicToken = R, i.chooseMethod = e.EMAIL, so(o), z());
|
|
109
110
|
}
|
|
110
111
|
});
|
|
111
|
-
|
|
112
|
-
const
|
|
113
|
-
if (
|
|
114
|
-
const
|
|
115
|
-
|
|
112
|
+
J(() => {
|
|
113
|
+
const o = [];
|
|
114
|
+
if (H) {
|
|
115
|
+
const r = U(e.EMAIL);
|
|
116
|
+
r && r.baseUrl === Z.baseUrl ? o.push(r) : o.push(Z);
|
|
116
117
|
}
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
lo(o), i.retryConnect = K, setTimeout(() => {
|
|
119
|
+
ao();
|
|
119
120
|
}, 100);
|
|
120
|
-
}, [
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
return p.mobile.any && !
|
|
124
|
-
|
|
121
|
+
}, [H]);
|
|
122
|
+
const $ = d.map((o) => {
|
|
123
|
+
if (o.provider === e.WALLET)
|
|
124
|
+
return p.mobile.any && !g ? /* @__PURE__ */ l(
|
|
125
|
+
Co,
|
|
125
126
|
{
|
|
126
|
-
|
|
127
|
-
|
|
127
|
+
t: I,
|
|
128
|
+
isLatest: h && h === e.WALLET,
|
|
129
|
+
ref: M,
|
|
130
|
+
tokenState: t,
|
|
128
131
|
sx: [m === "small" ? { p: 1 } : { p: 2 }],
|
|
129
|
-
locale:
|
|
130
|
-
tokenKey:
|
|
131
|
-
disableSwitchApp:
|
|
132
|
-
onClick:
|
|
132
|
+
locale: B,
|
|
133
|
+
tokenKey: k,
|
|
134
|
+
disableSwitchApp: P,
|
|
135
|
+
onClick: V
|
|
133
136
|
},
|
|
134
|
-
|
|
135
|
-
) :
|
|
136
|
-
|
|
137
|
+
e.WALLET
|
|
138
|
+
) : y || !y && (no || N) && (!p.mobile.any || N) ? /* @__PURE__ */ l(
|
|
139
|
+
Po,
|
|
137
140
|
{
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
t: I,
|
|
142
|
+
isLatest: h && h === e.WALLET,
|
|
143
|
+
ref: v,
|
|
144
|
+
tokenState: t,
|
|
140
145
|
webWalletUrl: x,
|
|
141
146
|
sx: [m === "small" ? { p: 1 } : { p: 2 }],
|
|
142
|
-
disableSwitchApp:
|
|
143
|
-
autoConnect: !
|
|
147
|
+
disableSwitchApp: P,
|
|
148
|
+
autoConnect: !y,
|
|
144
149
|
onClick: () => {
|
|
145
|
-
|
|
150
|
+
y ? L(!0) : Y();
|
|
146
151
|
}
|
|
147
152
|
},
|
|
148
|
-
|
|
153
|
+
e.WALLET
|
|
149
154
|
) : null;
|
|
150
|
-
if (
|
|
151
|
-
return
|
|
152
|
-
|
|
155
|
+
if (o.provider === e.PASSKEY)
|
|
156
|
+
return S === "none" ? null : /* @__PURE__ */ l(
|
|
157
|
+
ko,
|
|
153
158
|
{
|
|
154
|
-
ref:
|
|
155
|
-
onSuccess:
|
|
156
|
-
onError:
|
|
157
|
-
tokenState:
|
|
158
|
-
behavior:
|
|
159
|
+
ref: j,
|
|
160
|
+
onSuccess: W,
|
|
161
|
+
onError: T,
|
|
162
|
+
tokenState: t,
|
|
163
|
+
behavior: S,
|
|
159
164
|
sx: [m === "small" ? { p: 1 } : { p: 2 }],
|
|
160
165
|
onClick: () => {
|
|
161
|
-
localStorage.setItem(
|
|
162
|
-
const
|
|
166
|
+
localStorage.setItem(f, e.PASSKEY);
|
|
167
|
+
const r = j.current.connect;
|
|
163
168
|
i.chooseMethod = "passkey", i.retryConnect = () => {
|
|
164
|
-
|
|
169
|
+
D.verifying = !0, i.chooseMethod = "passkey", r();
|
|
165
170
|
};
|
|
166
171
|
},
|
|
167
172
|
slotProps: {
|
|
168
173
|
icon: {
|
|
169
174
|
sx: {
|
|
170
|
-
fontSize:
|
|
175
|
+
fontSize: E,
|
|
171
176
|
"& svg": {
|
|
172
|
-
fontSize:
|
|
177
|
+
fontSize: E,
|
|
173
178
|
width: "1em",
|
|
174
179
|
height: "1em"
|
|
175
180
|
}
|
|
@@ -177,78 +182,80 @@ function Se({
|
|
|
177
182
|
}
|
|
178
183
|
}
|
|
179
184
|
},
|
|
180
|
-
|
|
185
|
+
e.PASSKEY
|
|
181
186
|
);
|
|
182
|
-
if (
|
|
183
|
-
const
|
|
184
|
-
return
|
|
185
|
-
key:
|
|
187
|
+
if (o.provider === e.EMAIL) {
|
|
188
|
+
const r = G.find((c) => c.name === e.EMAIL);
|
|
189
|
+
return r ? r?.renderListItem({
|
|
190
|
+
key: r.name,
|
|
186
191
|
sx: [m === "small" ? { p: 1 } : { p: 2 }]
|
|
187
192
|
// forceUpdate,
|
|
188
193
|
}) : null;
|
|
189
194
|
}
|
|
190
|
-
return
|
|
191
|
-
|
|
195
|
+
return o.type === "oauth" ? /* @__PURE__ */ l(
|
|
196
|
+
Mo,
|
|
192
197
|
{
|
|
193
|
-
|
|
198
|
+
t: I,
|
|
199
|
+
isLatest: h && h === o.provider,
|
|
200
|
+
title: ho[o.provider],
|
|
194
201
|
icon: /* @__PURE__ */ l(
|
|
195
|
-
|
|
202
|
+
Ao,
|
|
196
203
|
{
|
|
197
|
-
provider:
|
|
204
|
+
provider: o.provider,
|
|
198
205
|
sx: {
|
|
199
206
|
transform: "scale(0.95)",
|
|
200
|
-
width:
|
|
201
|
-
height:
|
|
207
|
+
width: E,
|
|
208
|
+
height: E,
|
|
202
209
|
color: "text.primary"
|
|
203
210
|
}
|
|
204
211
|
}
|
|
205
212
|
),
|
|
206
213
|
onClick: () => {
|
|
207
|
-
|
|
208
|
-
|
|
214
|
+
q(o), i.retryConnect = () => {
|
|
215
|
+
q(o);
|
|
209
216
|
};
|
|
210
217
|
},
|
|
211
218
|
sx: [m === "small" ? { p: 1.2 } : { p: 2 }]
|
|
212
219
|
},
|
|
213
|
-
|
|
220
|
+
o.provider
|
|
214
221
|
) : null;
|
|
215
222
|
}).filter(Boolean);
|
|
216
|
-
return /* @__PURE__ */ l(
|
|
217
|
-
|
|
223
|
+
return /* @__PURE__ */ l(A, { className: "did-connect__choose", sx: Io({ flex: 1 }, X?.root?.sx), children: /* @__PURE__ */ l(
|
|
224
|
+
A,
|
|
218
225
|
{
|
|
219
226
|
sx: {
|
|
220
227
|
display: "flex",
|
|
221
228
|
flexDirection: "column",
|
|
222
229
|
gap: 2
|
|
223
230
|
},
|
|
224
|
-
children: /* @__PURE__ */
|
|
225
|
-
|
|
231
|
+
children: /* @__PURE__ */ po(
|
|
232
|
+
A,
|
|
226
233
|
{
|
|
227
234
|
sx: [
|
|
228
235
|
{
|
|
229
236
|
display: "flex",
|
|
230
237
|
flexDirection: "column",
|
|
231
|
-
...
|
|
238
|
+
...g && !p.mobile.any ? { alignItems: "center", gap: 0 } : { gap: 1.5 }
|
|
232
239
|
}
|
|
233
240
|
],
|
|
234
241
|
children: [
|
|
235
|
-
|
|
236
|
-
|
|
242
|
+
g && !p.mobile.any ? /* @__PURE__ */ l(
|
|
243
|
+
vo,
|
|
237
244
|
{
|
|
238
|
-
qrcode:
|
|
239
|
-
tokenState:
|
|
245
|
+
qrcode: eo,
|
|
246
|
+
tokenState: t,
|
|
240
247
|
webWalletUrl: x,
|
|
241
248
|
size: m,
|
|
242
|
-
disableSwitchApp:
|
|
243
|
-
tokenKey:
|
|
244
|
-
walletLoginRef:
|
|
245
|
-
webLoginRef:
|
|
246
|
-
onMobileLoginClick:
|
|
247
|
-
onWebLoginClick:
|
|
248
|
-
onBack:
|
|
249
|
+
disableSwitchApp: P,
|
|
250
|
+
tokenKey: k,
|
|
251
|
+
walletLoginRef: M,
|
|
252
|
+
webLoginRef: v,
|
|
253
|
+
onMobileLoginClick: V,
|
|
254
|
+
onWebLoginClick: Y,
|
|
255
|
+
onBack: _ ? void 0 : co
|
|
249
256
|
}
|
|
250
257
|
) : /* @__PURE__ */ l(
|
|
251
|
-
|
|
258
|
+
A,
|
|
252
259
|
{
|
|
253
260
|
sx: {
|
|
254
261
|
display: "grid",
|
|
@@ -293,8 +300,8 @@ function Se({
|
|
|
293
300
|
}
|
|
294
301
|
}
|
|
295
302
|
},
|
|
296
|
-
children:
|
|
297
|
-
|
|
303
|
+
children: $.length > 0 ? $ : /* @__PURE__ */ l(
|
|
304
|
+
bo,
|
|
298
305
|
{
|
|
299
306
|
className: "arc-login-item",
|
|
300
307
|
sx: {
|
|
@@ -302,37 +309,37 @@ function Se({
|
|
|
302
309
|
textAlign: "center"
|
|
303
310
|
}
|
|
304
311
|
},
|
|
305
|
-
children:
|
|
312
|
+
children: I("noAuthenticationProvider")
|
|
306
313
|
}
|
|
307
314
|
)
|
|
308
315
|
}
|
|
309
316
|
),
|
|
310
|
-
|
|
317
|
+
oo.map((o) => o || null)
|
|
311
318
|
]
|
|
312
319
|
}
|
|
313
320
|
)
|
|
314
321
|
}
|
|
315
322
|
) });
|
|
316
323
|
}
|
|
317
|
-
|
|
318
|
-
onSuccess:
|
|
319
|
-
onError:
|
|
320
|
-
size:
|
|
321
|
-
tokenState:
|
|
322
|
-
webWalletUrl:
|
|
323
|
-
tokenKey:
|
|
324
|
-
passkeyBehavior:
|
|
325
|
-
onReset:
|
|
326
|
-
providerList:
|
|
327
|
-
slotProps:
|
|
328
|
-
disableSwitchApp:
|
|
329
|
-
forceUpdate:
|
|
330
|
-
magicToken:
|
|
331
|
-
baseUrl:
|
|
332
|
-
customItems:
|
|
333
|
-
qrcode:
|
|
334
|
-
hideQRCode:
|
|
324
|
+
No.propTypes = {
|
|
325
|
+
onSuccess: n.func,
|
|
326
|
+
onError: n.func,
|
|
327
|
+
size: n.oneOf(["small", "normal", "large"]),
|
|
328
|
+
tokenState: n.object.isRequired,
|
|
329
|
+
webWalletUrl: n.string,
|
|
330
|
+
tokenKey: n.string.isRequired,
|
|
331
|
+
passkeyBehavior: n.oneOf(["none", "both", "only-existing", "only-new"]),
|
|
332
|
+
onReset: n.func,
|
|
333
|
+
providerList: n.array,
|
|
334
|
+
slotProps: n.object,
|
|
335
|
+
disableSwitchApp: n.bool,
|
|
336
|
+
forceUpdate: n.func,
|
|
337
|
+
magicToken: n.string,
|
|
338
|
+
baseUrl: n.string,
|
|
339
|
+
customItems: n.arrayOf(n.node),
|
|
340
|
+
qrcode: n.node,
|
|
341
|
+
hideQRCode: n.bool
|
|
335
342
|
};
|
|
336
343
|
export {
|
|
337
|
-
|
|
344
|
+
No as default
|
|
338
345
|
};
|