@getpara/react-sdk-lite 2.0.0-dev.5 → 2.0.0-dev.6
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/dist/modal/ParaModal.js +2 -1
- package/dist/modal/components/Account/Account.js +3 -3
- package/dist/modal/components/Account/AccountProfileLink.js +3 -3
- package/dist/modal/components/AddFunds/AddFunds.js +5 -7
- package/dist/modal/components/AwaitingAccountStep/AwaitingAccountStep.d.ts +1 -0
- package/dist/modal/components/{AwaitingIFrameStep/AwaitingIFrameStep.js → AwaitingAccountStep/AwaitingAccountStep.js} +2 -2
- package/dist/modal/components/Body/Body.js +4 -4
- package/dist/modal/components/ExternalWalletStep/ExternalWalletStep.js +20 -1
- package/dist/modal/components/ExternalWalletVerificationStep/ExternalWalletVerificationStep.js +6 -3
- package/dist/modal/components/Header/hooks/useStepTitle.js +1 -1
- package/dist/modal/components/OAuth/FarcasterLink.d.ts +2 -0
- package/dist/modal/components/OAuth/FarcasterLink.js +30 -0
- package/dist/modal/components/OAuth/FarcasterOAuthStep.d.ts +1 -3
- package/dist/modal/components/OAuth/FarcasterOAuthStep.js +47 -26
- package/dist/modal/components/OAuth/OAuth.js +2 -2
- package/dist/modal/components/OAuth/TelegramOAuthStep.js +2 -1
- package/dist/modal/constants/constants.js +1 -1
- package/dist/modal/hooks/useFarcasterLogin.d.ts +9 -0
- package/dist/modal/hooks/useFarcasterLogin.js +70 -0
- package/dist/modal/hooks/useTelegramLogin.d.ts +4 -3
- package/dist/modal/hooks/useTelegramLogin.js +11 -3
- package/dist/modal/stores/modal/useModalStore.js +2 -1
- package/dist/modal/utils/steps.d.ts +6 -3
- package/dist/modal/utils/steps.js +14 -8
- package/dist/provider/ParaProviderMin.js +3 -3
- package/dist/provider/hooks/mutations/useSignUpOrLogIn.d.ts +3 -3
- package/dist/provider/hooks/mutations/useVerifyFarcaster.d.ts +6 -3
- package/dist/provider/hooks/mutations/useVerifyOAuth.d.ts +3 -3
- package/dist/provider/hooks/mutations/useVerifyTelegram.d.ts +9 -6
- package/dist/provider/providers/AuthProvider.d.ts +4 -3
- package/dist/provider/providers/AuthProvider.js +102 -50
- package/dist/provider/providers/ExternalWalletProvider.d.ts +2 -0
- package/dist/provider/providers/ExternalWalletProvider.js +23 -4
- package/dist/provider/stores/useStore.js +2 -1
- package/dist/provider/types/provider.d.ts +1 -1
- package/dist/provider/utils/paraConfigTypeGuards.d.ts +1 -1
- package/dist/provider/utils/paraConfigTypeGuards.js +1 -1
- package/package.json +8 -8
- package/dist/modal/components/AwaitingIFrameStep/AwaitingIFrameStep.d.ts +0 -1
package/dist/modal/ParaModal.js
CHANGED
|
@@ -117,7 +117,7 @@ const ParaModal = forwardRef((props, ref) => {
|
|
|
117
117
|
});
|
|
118
118
|
trackAnalytics();
|
|
119
119
|
}, []);
|
|
120
|
-
const isOpen = configIsOpen != null ? configIsOpen : storedIsOpen;
|
|
120
|
+
const isOpen = bareModal || (configIsOpen != null ? configIsOpen : storedIsOpen);
|
|
121
121
|
useImperativeHandle(ref, () => {
|
|
122
122
|
return {
|
|
123
123
|
goBack() {
|
|
@@ -168,6 +168,7 @@ const ParaModal = forwardRef((props, ref) => {
|
|
|
168
168
|
yield disconnectExternalWallet();
|
|
169
169
|
setSelectedWallet({ id: void 0, type: void 0 });
|
|
170
170
|
}
|
|
171
|
+
yield para.logout();
|
|
171
172
|
if (shouldAutoLogin) {
|
|
172
173
|
if (defaultAuthIdentifier && ((_a2 = para.authInfo) == null ? void 0 : _a2.identifier) !== defaultAuthIdentifier) {
|
|
173
174
|
const number = parsePhoneNumberFromString(defaultAuthIdentifier);
|
|
@@ -32,9 +32,9 @@ const Account = () => {
|
|
|
32
32
|
setGuestAddFundsTab(EnabledFlow.BUY);
|
|
33
33
|
setStep(ModalStep.AUTH_GUEST_SIGNUP);
|
|
34
34
|
}
|
|
35
|
-
} else {
|
|
35
|
+
} else if ((onRampConfig == null ? void 0 : onRampConfig.isBuyEnabled) || (onRampConfig == null ? void 0 : onRampConfig.isReceiveEnabled)) {
|
|
36
36
|
setOnRampStep(OnRampStep.SETTINGS);
|
|
37
|
-
setStep(ModalStep.ADD_FUNDS_BUY);
|
|
37
|
+
setStep((onRampConfig == null ? void 0 : onRampConfig.isBuyEnabled) ? ModalStep.ADD_FUNDS_BUY : ModalStep.ADD_FUNDS_RECEIVE);
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
const handleSellClick = () => {
|
|
@@ -76,7 +76,7 @@ const Account = () => {
|
|
|
76
76
|
)
|
|
77
77
|
] }),
|
|
78
78
|
/* @__PURE__ */ jsx(ButtonContainer, { children: isOnRampLoaded ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
79
|
-
onRampConfig.isBuyEnabled && !cantBuyAndWithdraw && /* @__PURE__ */ jsx(OptionButton, { icon: "plusCircle", onClick: handleBuyClick, children: /* @__PURE__ */ jsx(CpslText, { variant: "bodyXS", color: "secondary", weight: "medium", children: "Add Funds" }) }),
|
|
79
|
+
(onRampConfig.isBuyEnabled || onRampConfig.isReceiveEnabled) && !cantBuyAndWithdraw && /* @__PURE__ */ jsx(OptionButton, { icon: "plusCircle", onClick: handleBuyClick, children: /* @__PURE__ */ jsx(CpslText, { variant: "bodyXS", color: "secondary", weight: "medium", children: "Add Funds" }) }),
|
|
80
80
|
onRampConfig.isWithdrawEnabled && !cantBuyAndWithdraw && /* @__PURE__ */ jsx(OptionButton, { icon: "arrowCircleDown", onClick: handleSellClick, children: /* @__PURE__ */ jsx(CpslText, { variant: "bodyXS", color: "secondary", weight: "medium", children: "Withdraw" }) }),
|
|
81
81
|
/* @__PURE__ */ jsx(OptionButton, { icon: "user01", onClick: handleProfileClick, children: /* @__PURE__ */ jsx(CpslText, { variant: "bodyXS", color: "secondary", weight: "medium", children: isEnabled ? "Profile" : "Settings" }) })
|
|
82
82
|
] }) : /* @__PURE__ */ jsx(CpslSpinner, {}) })
|
|
@@ -9,7 +9,7 @@ import { useEffect, useMemo } from "react";
|
|
|
9
9
|
import { HeroAccountTypeIcon, HeroSuccessIcon } from "../common.js";
|
|
10
10
|
import { VerificationCode } from "../VerificationCodeStep/VerificationCodeStep.js";
|
|
11
11
|
import { extractAuthInfo } from "@getpara/user-management-client";
|
|
12
|
-
import {
|
|
12
|
+
import { FarcasterLink } from "../OAuth/FarcasterLink.js";
|
|
13
13
|
import { useTelegramLogin } from "../../hooks/useTelegramLogin.js";
|
|
14
14
|
import { TelegramIFrame } from "../OAuth/TelegramOAuthStep.js";
|
|
15
15
|
import { AuthInput } from "../AuthInput/AuthInput.js";
|
|
@@ -35,7 +35,7 @@ function AccountProfileLink() {
|
|
|
35
35
|
isLoaded,
|
|
36
36
|
setIsLoaded
|
|
37
37
|
} = useTelegramLogin(
|
|
38
|
-
isTelegram ? { isActive: isTelegram, status: linkAccountStatus, onSubmit: verifyTelegramLink } : { isActive: false }
|
|
38
|
+
isTelegram ? { isActive: isTelegram, status: linkAccountStatus, onSubmit: verifyTelegramLink, isLinking: true } : { isActive: false, isLinking: true }
|
|
39
39
|
), status = (accountLinkInProgress == null ? void 0 : accountLinkInProgress.isComplete) ? "success" : isTelegram ? telegramStatus : linkAccountStatus, commonWallet = useMemo(() => {
|
|
40
40
|
const wallet = wallets.find(
|
|
41
41
|
(w) => [w.name, w.internalId, w.id].includes(externalWalletProvider != null ? externalWalletProvider : "") && w.type === externalWalletType
|
|
@@ -140,7 +140,7 @@ function AccountProfileLink() {
|
|
|
140
140
|
break;
|
|
141
141
|
// Farcaster Connect QR
|
|
142
142
|
case (accountLinkType === "FARCASTER" && status !== "success"):
|
|
143
|
-
lower2 = /* @__PURE__ */ jsx(
|
|
143
|
+
lower2 = /* @__PURE__ */ jsx(FarcasterLink, {});
|
|
144
144
|
break;
|
|
145
145
|
// OAuth, External Wallet, Telegram
|
|
146
146
|
default:
|
|
@@ -30,7 +30,7 @@ const AddFunds = () => {
|
|
|
30
30
|
([enabledFlow, key]) => !!(onRampConfig == null ? void 0 : onRampConfig[key]) && (!isGuestMode || enabledFlow === EnabledFlow.RECEIVE)
|
|
31
31
|
);
|
|
32
32
|
const tab = storedTab != null ? storedTab : tabs[0][0];
|
|
33
|
-
const isMultiFlow = (tab === EnabledFlow.BUY || tab === EnabledFlow.RECEIVE) &&
|
|
33
|
+
const isMultiFlow = (tab === EnabledFlow.BUY || tab === EnabledFlow.RECEIVE) && (onRampConfig == null ? void 0 : onRampConfig.isBuyEnabled) && (onRampConfig == null ? void 0 : onRampConfig.isReceiveEnabled);
|
|
34
34
|
const onSetTab = (event) => {
|
|
35
35
|
setModalStep(getAddFundsStep(event.detail.tab));
|
|
36
36
|
};
|
|
@@ -56,12 +56,10 @@ const AddFunds = () => {
|
|
|
56
56
|
return /* @__PURE__ */ jsx(SpinnerContainer, { children: /* @__PURE__ */ jsx(CpslSpinner, {}) });
|
|
57
57
|
}
|
|
58
58
|
return /* @__PURE__ */ jsxs(StepContainer, { children: [
|
|
59
|
-
isMultiFlow && /* @__PURE__ */ jsx(InnerStepContainer, { children: /* @__PURE__ */ jsx(CpslTabs, { selectedTab: tab, onCpslTabsChanged: onSetTab, children:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
] }, tab2)
|
|
64
|
-
) }) }),
|
|
59
|
+
isMultiFlow && /* @__PURE__ */ jsx(InnerStepContainer, { children: /* @__PURE__ */ jsx(CpslTabs, { selectedTab: tab, onCpslTabsChanged: onSetTab, children: tabs.filter(([enabledFlow]) => enabledFlow !== EnabledFlow.WITHDRAW).map(([tab2, _, icon, title]) => /* @__PURE__ */ jsxs(CpslTab, { tab: tab2, children: [
|
|
60
|
+
/* @__PURE__ */ jsx(CpslIcon, { slot: "start", icon }),
|
|
61
|
+
title
|
|
62
|
+
] }, tab2)) }) }),
|
|
65
63
|
(step === ModalStep.ADD_FUNDS_RECEIVE || (embedded == null ? void 0 : embedded.wallets) && embedded.wallets.length > 1) && /* @__PURE__ */ jsx(WalletSelectOld, {}),
|
|
66
64
|
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(AddFundsContextProvider, { "data-testid": "add-funds", tab, children: Content }) })
|
|
67
65
|
] });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const AwaitingAccountStep: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,10 +3,10 @@ import "../../../chunk-MMUBH76A.js";
|
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
import { useModalStore } from "../../stores/index.js";
|
|
5
5
|
import { Waiting } from "../Waiting/Waiting.js";
|
|
6
|
-
const
|
|
6
|
+
const AwaitingAccountStep = () => {
|
|
7
7
|
const isLogin = useModalStore((state) => state.isLogin());
|
|
8
8
|
return /* @__PURE__ */ jsx(Waiting, { heading: isLogin ? "Logging you in..." : "Creating your account..." });
|
|
9
9
|
};
|
|
10
10
|
export {
|
|
11
|
-
|
|
11
|
+
AwaitingAccountStep
|
|
12
12
|
};
|
|
@@ -18,7 +18,7 @@ import { TwoFactorDoneStep } from "../TwoFactorDoneStep/TwoFactorDoneStep.js";
|
|
|
18
18
|
import { BiometricCreationStep } from "../BiometricCreationStep/BiometricCreationStep.js";
|
|
19
19
|
import { AwaitingOAuthStep } from "../AwaitingOAuthStep/AwaitingOAuthStep.js";
|
|
20
20
|
import { AddFundsAwaiting, AddFundsDone, AddFunds } from "../AddFunds/index.js";
|
|
21
|
-
import FarcasterOAuthStep from "../OAuth/FarcasterOAuthStep.js";
|
|
21
|
+
import { FarcasterOAuthStep } from "../OAuth/FarcasterOAuthStep.js";
|
|
22
22
|
import { Header } from "../Header/Header.js";
|
|
23
23
|
import { AuthMainStep } from "../AuthMainStep/AuthMainStep.js";
|
|
24
24
|
import { BODY_MOTION_VARIANTS, BODY_TRANSITION, MOBILE_SIZE } from "../../constants/constants.js";
|
|
@@ -42,7 +42,7 @@ import { AccountProfileLinkOptions } from "../Account/AccountProfileLinkOptions.
|
|
|
42
42
|
import { AccountProfileLink } from "../Account/AccountProfileLink.js";
|
|
43
43
|
import { AccountProfileUnlink } from "../Account/AccountProfileUnlink.js";
|
|
44
44
|
import { ExternalWalletNetworkSelectStep } from "../ExternalWalletNetworkSelectStep/ExternalWalletNetworkSelectStep.js";
|
|
45
|
-
import {
|
|
45
|
+
import { AwaitingAccountStep } from "../AwaitingAccountStep/AwaitingAccountStep.js";
|
|
46
46
|
import { Footer } from "../Footer/Footer.js";
|
|
47
47
|
const MIN_HEIGHT = {
|
|
48
48
|
[ModalStep.ADD_FUNDS_AWAITING]: "680px"
|
|
@@ -189,8 +189,8 @@ const Body = ({
|
|
|
189
189
|
case ModalStep.EX_WALLET_NETWORK_SELECT: {
|
|
190
190
|
return /* @__PURE__ */ jsx(ExternalWalletNetworkSelectStep, {});
|
|
191
191
|
}
|
|
192
|
-
case ModalStep.
|
|
193
|
-
return /* @__PURE__ */ jsx(
|
|
192
|
+
case ModalStep.AWAITING_ACCOUNT: {
|
|
193
|
+
return /* @__PURE__ */ jsx(AwaitingAccountStep, {});
|
|
194
194
|
}
|
|
195
195
|
default: {
|
|
196
196
|
if (IFrameSteps.includes(currentStep)) {
|
|
@@ -21,6 +21,7 @@ const ExternalWalletMobileConnect = ({
|
|
|
21
21
|
isSelfFetching = false
|
|
22
22
|
}) => {
|
|
23
23
|
var _a, _b;
|
|
24
|
+
const externalWalletError = useModalStore((state) => state.externalWalletError);
|
|
24
25
|
const [isCopied, copy] = useCopyToClipboard();
|
|
25
26
|
const appName = useStore((state) => state.appName);
|
|
26
27
|
const [qrUri, setQrUri] = useState(isSelfFetching ? void 0 : propsQrUri);
|
|
@@ -43,10 +44,28 @@ const ExternalWalletMobileConnect = ({
|
|
|
43
44
|
useEffect(() => {
|
|
44
45
|
setQrUri(propsQrUri);
|
|
45
46
|
}, [propsQrUri]);
|
|
47
|
+
const isError = !!(externalWalletError == null ? void 0 : externalWalletError[0]);
|
|
46
48
|
if (wallet.type === "SOLANA" || isMobile() && !isTablet()) {
|
|
47
49
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
48
|
-
wallet.type === "SOLANA" && qrUri && /* @__PURE__ */ jsx(InnerStepContainer, { children: /* @__PURE__ */ jsx(
|
|
50
|
+
wallet.type === "SOLANA" && qrUri && /* @__PURE__ */ jsx(InnerStepContainer, { children: /* @__PURE__ */ jsx(
|
|
51
|
+
HeroSpinner,
|
|
52
|
+
{
|
|
53
|
+
icon: /* @__PURE__ */ jsx(HeroAccountTypeIcon, { accountType: wallet.internalId, src: wallet ? wallet.iconUrl : void 0 }),
|
|
54
|
+
status: isError ? "error" : "pending",
|
|
55
|
+
text: isError ? externalWalletError[0] : `Continue in the ${wallet.name} mobile app.`,
|
|
56
|
+
secondaryText: externalWalletError == null ? void 0 : externalWalletError[1]
|
|
57
|
+
}
|
|
58
|
+
) }),
|
|
49
59
|
wallet.id !== "WalletConnect" && /* @__PURE__ */ jsxs(InnerStepContainer, { children: [
|
|
60
|
+
/* @__PURE__ */ jsx(
|
|
61
|
+
HeroSpinner,
|
|
62
|
+
{
|
|
63
|
+
icon: /* @__PURE__ */ jsx(HeroAccountTypeIcon, { accountType: wallet.internalId, src: wallet ? wallet.iconUrl : void 0 }),
|
|
64
|
+
status: isError ? "error" : "pending",
|
|
65
|
+
text: isError ? externalWalletError[0] : `Confirm connection request in the ${wallet.name} app.`,
|
|
66
|
+
secondaryText: externalWalletError == null ? void 0 : externalWalletError[1]
|
|
67
|
+
}
|
|
68
|
+
),
|
|
50
69
|
wallet.type === "SOLANA" && qrUri && !wallet.hasIosSafariExtension || wallet.type !== "SOLANA" ? /* @__PURE__ */ jsx(CpslButton, { onClick: () => routeMobileExternalWallet(qrUri), fullWidth: true, children: "Connect Wallet" }) : /* @__PURE__ */ jsx(Text, { weight: "semiBold", children: wallet.hasIosSafariExtension ? `Please install and use the ${wallet.name} extension for iOS Safari.` : `Please navigate to ${appName} in the ${wallet.name} wallet.` }),
|
|
51
70
|
!wallet.hasIosSafariExtension && /* @__PURE__ */ jsx(Link, { href: (_a = wallet.downloadUrl) != null ? _a : "", target: "_blank", children: /* @__PURE__ */ jsxs(ExternalButton, { variant: "secondary", children: [
|
|
52
71
|
`Get ${wallet.name}`,
|
package/dist/modal/components/ExternalWalletVerificationStep/ExternalWalletVerificationStep.js
CHANGED
|
@@ -9,7 +9,7 @@ import { useExternalWallets } from "../../../provider/providers/ExternalWalletPr
|
|
|
9
9
|
import { useEffect, useRef } from "react";
|
|
10
10
|
const ExternalWalletVerificationStep = () => {
|
|
11
11
|
const effectRan = useRef(false);
|
|
12
|
-
const { verifyWalletSignature } = useExternalWallets();
|
|
12
|
+
const { verifyWalletSignature, verificationStage } = useExternalWallets();
|
|
13
13
|
const externalWalletError = useModalStore((state) => state.externalWalletError);
|
|
14
14
|
useEffect(() => {
|
|
15
15
|
const hasRun = effectRan.current;
|
|
@@ -18,10 +18,13 @@ const ExternalWalletVerificationStep = () => {
|
|
|
18
18
|
effectRan.current = true;
|
|
19
19
|
}
|
|
20
20
|
}, []);
|
|
21
|
+
const isVerifying = verificationStage === "verifying";
|
|
22
|
+
const header = isVerifying ? "Verifying Your Wallet" : "Switching Network";
|
|
23
|
+
const subheader = isVerifying ? "Sign the message with your wallet to complete sign up." : "Confirm the request to switch the network in your wallet.";
|
|
21
24
|
return /* @__PURE__ */ jsxs(StepContainer, { $wide: true, children: [
|
|
22
25
|
/* @__PURE__ */ jsxs(InnerStepContainer, { children: [
|
|
23
|
-
/* @__PURE__ */ jsx(Heading, { children:
|
|
24
|
-
/* @__PURE__ */ jsx(InlineText, { variant: "bodyS", color: "secondary", children:
|
|
26
|
+
/* @__PURE__ */ jsx(Heading, { children: header }),
|
|
27
|
+
/* @__PURE__ */ jsx(InlineText, { variant: "bodyS", color: "secondary", children: subheader }),
|
|
25
28
|
!!(externalWalletError == null ? void 0 : externalWalletError[0]) && /* @__PURE__ */ jsxs(ErrorContainer, { children: [
|
|
26
29
|
/* @__PURE__ */ jsx(ErrorIcon, { icon: "alertCircle" }),
|
|
27
30
|
/* @__PURE__ */ jsx(CpslText, { weight: "semiBold", color: "error", children: externalWalletError == null ? void 0 : externalWalletError[0] })
|
|
@@ -69,7 +69,7 @@ const useStepTitle = () => {
|
|
|
69
69
|
[ModalStep.ACCOUNT_PROFILE_LIST]: "Link Account",
|
|
70
70
|
[ModalStep.ACCOUNT_PROFILE_ADD]: "Link Account",
|
|
71
71
|
[ModalStep.ACCOUNT_PROFILE_REMOVE]: "Unlink Account",
|
|
72
|
-
[ModalStep.
|
|
72
|
+
[ModalStep.AWAITING_ACCOUNT]: isLogin ? "Login" : "Sign Up"
|
|
73
73
|
}),
|
|
74
74
|
[isLogin, chainId, hideWallets, authStepTitle]
|
|
75
75
|
);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import "../../../chunk-MMUBH76A.js";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { CpslButton, CpslIcon, CpslQrCode, CpslSpinner, CpslText } from "@getpara/react-components";
|
|
5
|
+
import { CenteredText, Heading, InnerStepContainer, QRContainer, StepContainer } from "../common.js";
|
|
6
|
+
import { useModalStore } from "../../stores/index.js";
|
|
7
|
+
import { isMobile } from "@getpara/web-sdk";
|
|
8
|
+
function FarcasterConnectQR() {
|
|
9
|
+
const farcasterConnectUri = useModalStore((state) => state.farcasterConnectUri);
|
|
10
|
+
return /* @__PURE__ */ jsx(Fragment, { children: isMobile() ? /* @__PURE__ */ jsxs(InnerStepContainer, { children: [
|
|
11
|
+
/* @__PURE__ */ jsx(CpslText, { weight: "medium", color: "secondary", children: `Don\u2019t have Farcaster` }),
|
|
12
|
+
/* @__PURE__ */ jsxs(CpslButton, { as: "a", href: "https://link.warpcast.com/download-qr", target: "_blank", variant: "secondary", children: [
|
|
13
|
+
/* @__PURE__ */ jsx(CpslIcon, { slot: "start", icon: "linkExternal" }),
|
|
14
|
+
`Get Farcaster`
|
|
15
|
+
] })
|
|
16
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Heading, { children: "Sign in using Farcaster" }),
|
|
18
|
+
/* @__PURE__ */ jsxs(InnerStepContainer, { children: [
|
|
19
|
+
/* @__PURE__ */ jsx(CenteredText, { variant: "bodyS", color: "secondary", weight: "medium", children: "Scan the QR code with your phone's camera to proceed." }),
|
|
20
|
+
/* @__PURE__ */ jsx(QRContainer, { children: !farcasterConnectUri ? /* @__PURE__ */ jsx(CpslSpinner, { size: 100 }) : /* @__PURE__ */ jsx(CpslQrCode, { url: farcasterConnectUri }) })
|
|
21
|
+
] })
|
|
22
|
+
] }) });
|
|
23
|
+
}
|
|
24
|
+
const FarcasterLink = () => {
|
|
25
|
+
return /* @__PURE__ */ jsx(StepContainer, { $wide: true, children: /* @__PURE__ */ jsx(FarcasterConnectQR, {}) });
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
FarcasterConnectQR,
|
|
29
|
+
FarcasterLink
|
|
30
|
+
};
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
declare const FarcasterOAuthStep: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
export default FarcasterOAuthStep;
|
|
1
|
+
export declare function FarcasterOAuthStep(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,31 +1,52 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import "../../../chunk-MMUBH76A.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { CpslSpinner } from "@getpara/react-components";
|
|
5
|
+
import { useFarcasterLogin } from "../../hooks/useFarcasterLogin.js";
|
|
6
|
+
import { safeStyled } from "@getpara/react-common";
|
|
7
|
+
import { useEffect, useState } from "react";
|
|
8
|
+
import { getPortalBaseURL } from "@getpara/web-sdk";
|
|
9
|
+
import { useInternalClient } from "../../../provider/hooks/utils/useInternalClient.js";
|
|
10
|
+
function FarcasterOAuthStep() {
|
|
11
|
+
const { url, isLoaded, setIsLoaded } = useFarcasterLogin({
|
|
12
|
+
isActive: true
|
|
13
|
+
});
|
|
14
|
+
const para = useInternalClient();
|
|
15
|
+
const [height, setHeight] = useState(0);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const handleMessage = (event) => {
|
|
18
|
+
if (!url) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const portalBase = getPortalBaseURL(para.ctx);
|
|
22
|
+
if (!event.origin.startsWith(portalBase)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (event.data) {
|
|
26
|
+
if (event.data.type === "HEIGHT") {
|
|
27
|
+
setHeight(event.data.height);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
window.addEventListener("message", handleMessage);
|
|
32
|
+
return () => window.removeEventListener("message", handleMessage);
|
|
33
|
+
}, [url]);
|
|
34
|
+
return /* @__PURE__ */ jsxs(Container, { children: [
|
|
35
|
+
url && /* @__PURE__ */ jsx(IFrame, { style: { display: isLoaded ? "block" : "none", height }, src: url, onLoad: () => setIsLoaded(true) }),
|
|
36
|
+
(!url || !isLoaded) && /* @__PURE__ */ jsx(CpslSpinner, {})
|
|
37
|
+
] });
|
|
23
38
|
}
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
39
|
+
const Container = safeStyled.div`
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
width: 100%;
|
|
45
|
+
`;
|
|
46
|
+
const IFrame = safeStyled.iframe`
|
|
47
|
+
width: 100%;
|
|
48
|
+
border: none;
|
|
49
|
+
`;
|
|
28
50
|
export {
|
|
29
|
-
|
|
30
|
-
FarcasterOAuthStep_default as default
|
|
51
|
+
FarcasterOAuthStep
|
|
31
52
|
};
|
|
@@ -16,7 +16,7 @@ const OAuth = ({ methods }) => {
|
|
|
16
16
|
const isDark = useStore((state) => state.isDarkTheme);
|
|
17
17
|
const setStep = useModalStore((state) => state.setStep);
|
|
18
18
|
const showAll = useModalStore((state) => state.step === ModalStep.AUTH_MORE || state.step === ModalStep.AUTH_GUEST_SIGNUP);
|
|
19
|
-
const {
|
|
19
|
+
const { verifyOAuth } = useAuthActions();
|
|
20
20
|
const hasMore = methods.length > HAS_MORE_LENGTH;
|
|
21
21
|
const methodsToShow = showAll || !hasMore ? methods : methods.slice(0, HAS_MORE_LENGTH - 1);
|
|
22
22
|
const handleShowAll = () => {
|
|
@@ -25,7 +25,7 @@ const OAuth = ({ methods }) => {
|
|
|
25
25
|
const handleMethodClick = (method) => () => __async(void 0, null, function* () {
|
|
26
26
|
switch (method) {
|
|
27
27
|
case "FARCASTER":
|
|
28
|
-
|
|
28
|
+
setStep(ModalStep.FARCASTER_OAUTH);
|
|
29
29
|
break;
|
|
30
30
|
case "TELEGRAM":
|
|
31
31
|
setStep(ModalStep.TELEGRAM_OAUTH);
|
|
@@ -13,7 +13,8 @@ function TelegramOAuthStep() {
|
|
|
13
13
|
const { url, status, isLoaded, setIsLoaded } = useTelegramLogin({
|
|
14
14
|
isActive: true,
|
|
15
15
|
status: verifyTelegramStatus,
|
|
16
|
-
onSubmit: verifyTelegram
|
|
16
|
+
onSubmit: verifyTelegram,
|
|
17
|
+
isLinking: false
|
|
17
18
|
});
|
|
18
19
|
const isError = status === "error", isPending = status === "pending";
|
|
19
20
|
return /* @__PURE__ */ jsxs(Container, { children: [
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MutationStatus } from '@tanstack/react-query';
|
|
2
|
+
export declare const useFarcasterLogin: ({ isActive, }?: {
|
|
3
|
+
isActive?: boolean;
|
|
4
|
+
}) => {
|
|
5
|
+
url: string | undefined;
|
|
6
|
+
isLoaded: boolean;
|
|
7
|
+
setIsLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
8
|
+
status: MutationStatus;
|
|
9
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
__async
|
|
4
|
+
} from "../../chunk-MMUBH76A.js";
|
|
5
|
+
import { useEffect, useState } from "react";
|
|
6
|
+
import { useInternalClient } from "../../provider/hooks/utils/useInternalClient.js";
|
|
7
|
+
import { useModalStore } from "../stores/index.js";
|
|
8
|
+
import { useAuthActions } from "../../provider/providers/AuthProvider.js";
|
|
9
|
+
const useFarcasterLogin = ({
|
|
10
|
+
isActive = false
|
|
11
|
+
} = {}) => {
|
|
12
|
+
const para = useInternalClient();
|
|
13
|
+
const refs = useModalStore((state) => state.refs);
|
|
14
|
+
const { verifyFarcasterStatus, verifyFarcaster } = useAuthActions();
|
|
15
|
+
const [url, setUrl] = useState();
|
|
16
|
+
const [isLoaded, setIsLoaded] = useState(false);
|
|
17
|
+
const [msgStatus, setMsgStatus] = useState("idle");
|
|
18
|
+
const status = msgStatus === "success" ? verifyFarcasterStatus : msgStatus;
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const setup = () => __async(void 0, null, function* () {
|
|
21
|
+
if (!url) {
|
|
22
|
+
yield para.logout();
|
|
23
|
+
yield para.touchSession(true);
|
|
24
|
+
para.constructPortalUrl("loginFarcaster").then(setUrl);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
if (isActive) {
|
|
28
|
+
setup();
|
|
29
|
+
}
|
|
30
|
+
}, [isActive, url]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
const updateState = (event) => __async(void 0, null, function* () {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
switch (event.data.type) {
|
|
35
|
+
case "FARCASTER_LOGIN":
|
|
36
|
+
setMsgStatus("pending");
|
|
37
|
+
break;
|
|
38
|
+
case "FARCASTER_FAILED":
|
|
39
|
+
setMsgStatus("error");
|
|
40
|
+
break;
|
|
41
|
+
case "FARCASTER_SUCCESS":
|
|
42
|
+
setMsgStatus("success");
|
|
43
|
+
if (!!event.data.payload) {
|
|
44
|
+
const authObject = event.data.payload;
|
|
45
|
+
try {
|
|
46
|
+
yield verifyFarcaster(authObject);
|
|
47
|
+
} catch (e) {
|
|
48
|
+
(_b = (_a = refs.telegramIFrame.current) == null ? void 0 : _a.contentWindow) == null ? void 0 : _b.postMessage({ type: "FARCASTER_RETRY" }, "*");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (isActive) {
|
|
55
|
+
window == null ? void 0 : window.addEventListener("message", updateState, false);
|
|
56
|
+
}
|
|
57
|
+
return () => {
|
|
58
|
+
window == null ? void 0 : window.removeEventListener("message", updateState, false);
|
|
59
|
+
};
|
|
60
|
+
}, [isActive]);
|
|
61
|
+
return {
|
|
62
|
+
url,
|
|
63
|
+
isLoaded,
|
|
64
|
+
setIsLoaded,
|
|
65
|
+
status
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export {
|
|
69
|
+
useFarcasterLogin
|
|
70
|
+
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { TelegramAuthResponse } from '@getpara/user-management-client';
|
|
1
|
+
import { TelegramAuthResponse, VerifyThirdPartyAuth } from '@getpara/user-management-client';
|
|
2
2
|
import { MutationStatus } from '@tanstack/react-query';
|
|
3
|
-
export declare const useTelegramLogin: ({ isActive, onSubmit, status: propsStatus, }?: {
|
|
3
|
+
export declare const useTelegramLogin: ({ isActive, onSubmit, status: propsStatus, isLinking, }?: {
|
|
4
4
|
isActive?: boolean;
|
|
5
|
-
onSubmit?: (_: TelegramAuthResponse) => void;
|
|
5
|
+
onSubmit?: (_: VerifyThirdPartyAuth | TelegramAuthResponse) => void;
|
|
6
6
|
status?: MutationStatus;
|
|
7
|
+
isLinking?: boolean;
|
|
7
8
|
}) => {
|
|
8
9
|
url: string | undefined;
|
|
9
10
|
isLoaded: boolean;
|
|
@@ -8,7 +8,8 @@ import { useModalStore } from "../stores/index.js";
|
|
|
8
8
|
const useTelegramLogin = ({
|
|
9
9
|
isActive = false,
|
|
10
10
|
onSubmit,
|
|
11
|
-
status: propsStatus
|
|
11
|
+
status: propsStatus,
|
|
12
|
+
isLinking
|
|
12
13
|
} = {}) => {
|
|
13
14
|
const para = useInternalClient();
|
|
14
15
|
const refs = useModalStore((state) => state.refs);
|
|
@@ -17,10 +18,17 @@ const useTelegramLogin = ({
|
|
|
17
18
|
const [msgStatus, setMsgStatus] = useState("idle");
|
|
18
19
|
const status = msgStatus === "success" ? propsStatus : msgStatus;
|
|
19
20
|
useEffect(() => {
|
|
20
|
-
|
|
21
|
+
const setup = () => __async(void 0, null, function* () {
|
|
21
22
|
if (!url) {
|
|
22
|
-
|
|
23
|
+
if (!isLinking) {
|
|
24
|
+
yield para.logout();
|
|
25
|
+
yield para.touchSession(true);
|
|
26
|
+
}
|
|
27
|
+
para.constructPortalUrl(!isLinking ? "telegramLoginVerify" : "telegramLogin").then(setUrl);
|
|
23
28
|
}
|
|
29
|
+
});
|
|
30
|
+
if (isActive) {
|
|
31
|
+
setup();
|
|
24
32
|
}
|
|
25
33
|
}, [isActive, url]);
|
|
26
34
|
useEffect(() => {
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
} from "../../../chunk-MMUBH76A.js";
|
|
5
5
|
import { create } from "zustand";
|
|
6
6
|
import { persist, createJSONStorage } from "zustand/middleware";
|
|
7
|
+
import { PARA_STORAGE_PREFIX } from "@getpara/core-sdk";
|
|
7
8
|
import { ModalStep } from "../../utils/steps.js";
|
|
8
9
|
import { getActions } from "./actions.js";
|
|
9
10
|
import {
|
|
@@ -55,7 +56,7 @@ const useModalStore = create()(
|
|
|
55
56
|
}, DEFAULT_MODAL_STATE), getActions(set, get)),
|
|
56
57
|
{
|
|
57
58
|
version: 1,
|
|
58
|
-
name:
|
|
59
|
+
name: `${PARA_STORAGE_PREFIX}modalState`,
|
|
59
60
|
storage: createJSONStorage(() => localStorage),
|
|
60
61
|
partialize: (state) => ({
|
|
61
62
|
step: state.step,
|
|
@@ -39,7 +39,8 @@ export declare enum ModalStep {
|
|
|
39
39
|
ACCOUNT_PROFILE_ADD = "ACCOUNT_PROFILE_ADD",
|
|
40
40
|
ACCOUNT_PROFILE_LIST = "ACCOUNT_PROFILE_LIST",
|
|
41
41
|
ACCOUNT_PROFILE_REMOVE = "ACCOUNT_PROFILE_REMOVE",
|
|
42
|
-
|
|
42
|
+
AWAITING_ACCOUNT = "AWAITING_ACCOUNT",
|
|
43
|
+
OTP = "OTP"
|
|
43
44
|
}
|
|
44
45
|
export type ModalStepPropU = keyof typeof ModalStep | ModalStep;
|
|
45
46
|
export type ModalStepPropL = Lowercase<ModalStepPropU>;
|
|
@@ -91,7 +92,8 @@ declare enum SignUpModalStep {
|
|
|
91
92
|
ADD_FUNDS_AWAITING = "ADD_FUNDS_AWAITING",
|
|
92
93
|
ADD_FUNDS_SUCCESS = "ADD_FUNDS_SUCCESS",
|
|
93
94
|
ADD_FUNDS_FAILURE = "ADD_FUNDS_FAILURE",
|
|
94
|
-
|
|
95
|
+
AWAITING_ACCOUNT = "AWAITING_ACCOUNT",
|
|
96
|
+
OTP = "OTP"
|
|
95
97
|
}
|
|
96
98
|
export declare const SignUpPreviousStep: {
|
|
97
99
|
[key in SignUpModalStep]: ModalStep | undefined;
|
|
@@ -125,7 +127,8 @@ declare enum LoginModalStep {
|
|
|
125
127
|
ADD_FUNDS_AWAITING = "ADD_FUNDS_AWAITING",
|
|
126
128
|
ADD_FUNDS_SUCCESS = "ADD_FUNDS_SUCCESS",
|
|
127
129
|
ADD_FUNDS_FAILURE = "ADD_FUNDS_FAILURE",
|
|
128
|
-
|
|
130
|
+
AWAITING_ACCOUNT = "AWAITING_ACCOUNT",
|
|
131
|
+
OTP = "OTP"
|
|
129
132
|
}
|
|
130
133
|
export declare const LoginPreviousStep: {
|
|
131
134
|
[key in LoginModalStep]: ModalStep | undefined;
|
|
@@ -40,7 +40,8 @@ var ModalStep = /* @__PURE__ */ ((ModalStep2) => {
|
|
|
40
40
|
ModalStep2["ACCOUNT_PROFILE_ADD"] = "ACCOUNT_PROFILE_ADD";
|
|
41
41
|
ModalStep2["ACCOUNT_PROFILE_LIST"] = "ACCOUNT_PROFILE_LIST";
|
|
42
42
|
ModalStep2["ACCOUNT_PROFILE_REMOVE"] = "ACCOUNT_PROFILE_REMOVE";
|
|
43
|
-
ModalStep2["
|
|
43
|
+
ModalStep2["AWAITING_ACCOUNT"] = "AWAITING_ACCOUNT";
|
|
44
|
+
ModalStep2["OTP"] = "OTP";
|
|
44
45
|
return ModalStep2;
|
|
45
46
|
})(ModalStep || {});
|
|
46
47
|
var AccountStep = /* @__PURE__ */ ((AccountStep2) => {
|
|
@@ -72,7 +73,7 @@ const RESET_TO_AUTH_STEPS = [
|
|
|
72
73
|
"AWAITING_BIOMETRIC_CREATION" /* AWAITING_BIOMETRIC_CREATION */,
|
|
73
74
|
"PASSWORD_CREATION" /* PASSWORD_CREATION */,
|
|
74
75
|
"AWAITING_PASSWORD_CREATION" /* AWAITING_PASSWORD_CREATION */,
|
|
75
|
-
"
|
|
76
|
+
"AWAITING_ACCOUNT" /* AWAITING_ACCOUNT */,
|
|
76
77
|
"BIOMETRIC_LOGIN" /* BIOMETRIC_LOGIN */,
|
|
77
78
|
"EMBEDDED_PASSWORD_LOGIN" /* EMBEDDED_PASSWORD_LOGIN */,
|
|
78
79
|
"AWAITING_BIOMETRIC_LOGIN" /* AWAITING_BIOMETRIC_LOGIN */,
|
|
@@ -83,7 +84,8 @@ const RESET_TO_AUTH_STEPS = [
|
|
|
83
84
|
"SETUP_2FA" /* SETUP_2FA */,
|
|
84
85
|
"VERIFY_2FA" /* VERIFY_2FA */,
|
|
85
86
|
"TWO_FACTOR_DONE" /* TWO_FACTOR_DONE */,
|
|
86
|
-
"LOGIN_DONE" /* LOGIN_DONE
|
|
87
|
+
"LOGIN_DONE" /* LOGIN_DONE */,
|
|
88
|
+
"OTP" /* OTP */
|
|
87
89
|
];
|
|
88
90
|
const RESET_TO_ACCOUNT_STEPS = [
|
|
89
91
|
"AUTH_GUEST_SIGNUP" /* AUTH_GUEST_SIGNUP */,
|
|
@@ -141,7 +143,8 @@ var SignUpModalStep = /* @__PURE__ */ ((SignUpModalStep2) => {
|
|
|
141
143
|
SignUpModalStep2["ADD_FUNDS_AWAITING"] = "ADD_FUNDS_AWAITING";
|
|
142
144
|
SignUpModalStep2["ADD_FUNDS_SUCCESS"] = "ADD_FUNDS_SUCCESS";
|
|
143
145
|
SignUpModalStep2["ADD_FUNDS_FAILURE"] = "ADD_FUNDS_FAILURE";
|
|
144
|
-
SignUpModalStep2["
|
|
146
|
+
SignUpModalStep2["AWAITING_ACCOUNT"] = "AWAITING_ACCOUNT";
|
|
147
|
+
SignUpModalStep2["OTP"] = "OTP";
|
|
145
148
|
return SignUpModalStep2;
|
|
146
149
|
})(SignUpModalStep || {});
|
|
147
150
|
const SignUpPreviousStep = {
|
|
@@ -171,7 +174,8 @@ const SignUpPreviousStep = {
|
|
|
171
174
|
["ADD_FUNDS_AWAITING" /* ADD_FUNDS_AWAITING */]: "ADD_FUNDS_BUY" /* ADD_FUNDS_BUY */,
|
|
172
175
|
["ADD_FUNDS_SUCCESS" /* ADD_FUNDS_SUCCESS */]: void 0,
|
|
173
176
|
["ADD_FUNDS_FAILURE" /* ADD_FUNDS_FAILURE */]: void 0,
|
|
174
|
-
["
|
|
177
|
+
["AWAITING_ACCOUNT" /* AWAITING_ACCOUNT */]: "AUTH_MAIN" /* AUTH_MAIN */,
|
|
178
|
+
["OTP" /* OTP */]: "AUTH_MAIN" /* AUTH_MAIN */
|
|
175
179
|
};
|
|
176
180
|
const GuestPreviousStep = Object.fromEntries([
|
|
177
181
|
...Object.entries(SignUpPreviousStep).map(([key, value]) => {
|
|
@@ -208,7 +212,8 @@ var LoginModalStep = /* @__PURE__ */ ((LoginModalStep2) => {
|
|
|
208
212
|
LoginModalStep2["ADD_FUNDS_AWAITING"] = "ADD_FUNDS_AWAITING";
|
|
209
213
|
LoginModalStep2["ADD_FUNDS_SUCCESS"] = "ADD_FUNDS_SUCCESS";
|
|
210
214
|
LoginModalStep2["ADD_FUNDS_FAILURE"] = "ADD_FUNDS_FAILURE";
|
|
211
|
-
LoginModalStep2["
|
|
215
|
+
LoginModalStep2["AWAITING_ACCOUNT"] = "AWAITING_ACCOUNT";
|
|
216
|
+
LoginModalStep2["OTP"] = "OTP";
|
|
212
217
|
return LoginModalStep2;
|
|
213
218
|
})(LoginModalStep || {});
|
|
214
219
|
const LoginPreviousStep = {
|
|
@@ -237,7 +242,8 @@ const LoginPreviousStep = {
|
|
|
237
242
|
["ADD_FUNDS_AWAITING" /* ADD_FUNDS_AWAITING */]: "ADD_FUNDS_BUY" /* ADD_FUNDS_BUY */,
|
|
238
243
|
["ADD_FUNDS_SUCCESS" /* ADD_FUNDS_SUCCESS */]: void 0,
|
|
239
244
|
["ADD_FUNDS_FAILURE" /* ADD_FUNDS_FAILURE */]: void 0,
|
|
240
|
-
["
|
|
245
|
+
["AWAITING_ACCOUNT" /* AWAITING_ACCOUNT */]: "AUTH_MAIN" /* AUTH_MAIN */,
|
|
246
|
+
["OTP" /* OTP */]: "AUTH_MAIN" /* AUTH_MAIN */
|
|
241
247
|
};
|
|
242
248
|
const getStepHasFooter = (step) => {
|
|
243
249
|
switch (step) {
|
|
@@ -264,7 +270,7 @@ function getAddFundsStep(currentTab) {
|
|
|
264
270
|
return "ADD_FUNDS_WITHDRAW" /* ADD_FUNDS_WITHDRAW */;
|
|
265
271
|
}
|
|
266
272
|
}
|
|
267
|
-
const IFrameSteps = ["PASSWORD_CREATION" /* PASSWORD_CREATION */, "EMBEDDED_PASSWORD_LOGIN" /* EMBEDDED_PASSWORD_LOGIN */];
|
|
273
|
+
const IFrameSteps = ["PASSWORD_CREATION" /* PASSWORD_CREATION */, "EMBEDDED_PASSWORD_LOGIN" /* EMBEDDED_PASSWORD_LOGIN */, "OTP" /* OTP */];
|
|
268
274
|
export {
|
|
269
275
|
AccountPreviousStep,
|
|
270
276
|
GuestPreviousStep,
|