@getpara/react-sdk 2.0.0-dev.1 → 2.0.0-dev.3

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.
Files changed (265) hide show
  1. package/dist/cli/cli.mjs +22 -7
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +6 -7058
  4. package/dist/modal/ParaModal.js +301 -0
  5. package/dist/modal/components/Account/Account.js +148 -0
  6. package/dist/modal/components/Account/AccountProfile.d.ts +1 -0
  7. package/dist/modal/components/Account/AccountProfile.js +168 -0
  8. package/dist/modal/components/Account/AccountProfileLink.d.ts +1 -0
  9. package/dist/modal/components/Account/AccountProfileLink.js +206 -0
  10. package/dist/modal/components/Account/AccountProfileLinkOptions.d.ts +1 -0
  11. package/dist/modal/components/Account/AccountProfileLinkOptions.js +111 -0
  12. package/dist/modal/components/Account/AccountProfileUnlink.d.ts +1 -0
  13. package/dist/modal/components/Account/AccountProfileUnlink.js +47 -0
  14. package/dist/modal/components/AddFunds/AddFunds.d.ts +0 -2
  15. package/dist/modal/components/AddFunds/AddFunds.js +69 -0
  16. package/dist/modal/components/AddFunds/AddFundsAsset.d.ts +1 -0
  17. package/dist/modal/components/AddFunds/AddFundsAsset.js +125 -0
  18. package/dist/modal/components/AddFunds/AddFundsAwaiting.js +78 -0
  19. package/dist/modal/components/AddFunds/AddFundsContext.d.ts +31 -0
  20. package/dist/modal/components/AddFunds/AddFundsContext.js +160 -0
  21. package/dist/modal/components/AddFunds/AddFundsDone.js +49 -0
  22. package/dist/modal/components/AddFunds/AddFundsProvider.d.ts +1 -0
  23. package/dist/modal/components/AddFunds/AddFundsProvider.js +109 -0
  24. package/dist/modal/components/AddFunds/AddFundsReceive.d.ts +1 -0
  25. package/dist/modal/components/AddFunds/AddFundsReceive.js +83 -0
  26. package/dist/modal/components/AddFunds/AddFundsSettings.d.ts +1 -0
  27. package/dist/modal/components/AddFunds/AddFundsSettings.js +237 -0
  28. package/dist/{MoonPayEmbed-Q2HP2BFI.js → modal/components/AddFunds/MoonPayEmbed.js} +1 -3
  29. package/dist/modal/components/AddFunds/common.d.ts +19 -0
  30. package/dist/modal/components/AddFunds/common.js +24 -0
  31. package/dist/modal/components/AddFunds/index.js +4 -0
  32. package/dist/modal/components/AuthInput/AuthInput.d.ts +17 -3
  33. package/dist/modal/components/AuthInput/AuthInput.js +277 -0
  34. package/dist/modal/components/AuthInput/hooks/useDropdownPosition.js +33 -0
  35. package/dist/modal/components/AuthInput/phoneMasks.js +253 -0
  36. package/dist/modal/components/AuthMainStep/AuthMainStep.d.ts +4 -3
  37. package/dist/modal/components/AuthMainStep/AuthMainStep.js +50 -0
  38. package/dist/modal/components/AuthMainStep/AuthMainStepContent.d.ts +4 -3
  39. package/dist/modal/components/AuthMainStep/AuthMainStepContent.js +164 -0
  40. package/dist/modal/components/AuthOptions/AuthOptions.d.ts +4 -3
  41. package/dist/modal/components/AuthOptions/AuthOptions.js +85 -0
  42. package/dist/modal/components/AwaitingBiometricsStep/AwaitingBiometricsStep.js +18 -0
  43. package/dist/modal/components/AwaitingOAuthStep/AwaitingOAuthStep.js +10 -0
  44. package/dist/modal/components/AwaitingPasswordStep/AwaitingPasswordStep.js +18 -0
  45. package/dist/modal/components/AwaitingWalletCreationStep/AwaitingWalletCreationStep.d.ts +5 -1
  46. package/dist/modal/components/AwaitingWalletCreationStep/AwaitingWalletCreationStep.js +49 -0
  47. package/dist/modal/components/BiometricCreationStep/BiometricCreationStep.d.ts +1 -1
  48. package/dist/modal/components/BiometricCreationStep/BiometricCreationStep.js +62 -0
  49. package/dist/modal/components/BiometricLoginStep/BiometricLoginStep.d.ts +1 -1
  50. package/dist/modal/components/BiometricLoginStep/BiometricLoginStep.js +48 -0
  51. package/dist/modal/components/Body/AnimatedHeightWrapper.js +29 -0
  52. package/dist/modal/components/Body/Body.d.ts +4 -3
  53. package/dist/modal/components/Body/Body.js +350 -0
  54. package/dist/modal/components/ChainSwitch/ChainSwitch.js +95 -0
  55. package/dist/modal/components/ChainSwitch/config.js +17 -0
  56. package/dist/modal/components/Controls/Controls.js +78 -0
  57. package/dist/modal/components/Controls/Selects.js +173 -0
  58. package/dist/modal/components/ExternalWalletNetworkSelectStep/ExternalWalletNetworkSelectStep.d.ts +1 -0
  59. package/dist/modal/components/ExternalWalletNetworkSelectStep/ExternalWalletNetworkSelectStep.js +75 -0
  60. package/dist/modal/components/ExternalWalletStep/ExternalWalletStep.d.ts +7 -0
  61. package/dist/modal/components/ExternalWalletStep/ExternalWalletStep.js +175 -0
  62. package/dist/modal/components/ExternalWalletStep/config.js +17 -0
  63. package/dist/modal/components/ExternalWalletVerificationStep/ExternalWalletVerificationStep.js +39 -0
  64. package/dist/modal/components/ExternalWallets/ExternalWallets.js +184 -0
  65. package/dist/modal/components/Footer/Footer.js +95 -0
  66. package/dist/modal/components/Header/Header.js +43 -0
  67. package/dist/modal/components/Header/hooks/useStepTitle.js +61 -0
  68. package/dist/modal/components/Hero/Hero.js +116 -0
  69. package/dist/modal/components/IFrameStep/IFrameStep.js +59 -0
  70. package/dist/modal/components/LoginDoneStep/LoginDoneStep.d.ts +4 -0
  71. package/dist/modal/components/LoginDoneStep/LoginDoneStep.js +44 -0
  72. package/dist/modal/components/ModalContent/ModalContent.d.ts +0 -4
  73. package/dist/modal/components/ModalContent/ModalContent.js +88 -0
  74. package/dist/modal/components/OAuth/FarcasterOAuthStep.d.ts +1 -0
  75. package/dist/modal/components/OAuth/FarcasterOAuthStep.js +31 -0
  76. package/dist/modal/components/OAuth/OAuth.d.ts +2 -2
  77. package/dist/modal/components/OAuth/OAuth.js +79 -0
  78. package/dist/modal/components/OAuth/TelegramOAuthStep.d.ts +7 -0
  79. package/dist/modal/components/OAuth/TelegramOAuthStep.js +74 -0
  80. package/dist/modal/components/OnRampComponents/AddingFunds.js +23 -0
  81. package/dist/modal/components/OnRampComponents/OnRampProviderButton.js +77 -0
  82. package/dist/modal/components/RecoverySecretStep/RecoverySecretStep.js +107 -0
  83. package/dist/modal/components/Setup2FAStep/Setup2FAStep.js +132 -0
  84. package/dist/modal/components/TwoFactorDoneStep/TwoFactorDoneStep.js +27 -0
  85. package/dist/modal/components/VerificationCodeStep/VerificationCodeStep.d.ts +12 -1
  86. package/dist/modal/components/VerificationCodeStep/VerificationCodeStep.js +160 -0
  87. package/dist/modal/components/Waiting/Waiting.js +17 -0
  88. package/dist/modal/components/WalletCard/PartnerIcon.js +34 -0
  89. package/dist/modal/components/WalletCard/WalletCard.d.ts +3 -3
  90. package/dist/modal/components/WalletCard/WalletCard.js +128 -0
  91. package/dist/modal/components/WalletCreationDoneStep/WalletCreationDoneStep.js +83 -0
  92. package/dist/modal/components/common.d.ts +49 -13
  93. package/dist/modal/components/common.js +261 -0
  94. package/dist/modal/components/index.js +2 -0
  95. package/dist/modal/constants/constants.d.ts +10 -2
  96. package/dist/modal/constants/constants.js +142 -0
  97. package/dist/modal/constants/defaults.js +10 -0
  98. package/dist/modal/constants/oAuthLogos.d.ts +15 -6
  99. package/dist/modal/constants/oAuthLogos.js +158 -0
  100. package/dist/modal/constants/walletTypeConfig.d.ts +6 -0
  101. package/dist/modal/constants/walletTypeConfig.js +13 -0
  102. package/dist/modal/hooks/useGoBack.js +43 -0
  103. package/dist/modal/hooks/useTelegramLogin.d.ts +12 -0
  104. package/dist/modal/hooks/useTelegramLogin.js +65 -0
  105. package/dist/modal/index.d.ts +1 -1
  106. package/dist/modal/index.js +29 -0
  107. package/dist/modal/stores/index.d.ts +0 -1
  108. package/dist/modal/stores/index.js +2 -0
  109. package/dist/modal/stores/modal/actions.js +135 -0
  110. package/dist/modal/stores/modal/useModalStore.d.ts +17 -16
  111. package/dist/modal/stores/modal/useModalStore.js +73 -0
  112. package/dist/modal/types/commonTypes.js +1 -0
  113. package/dist/modal/types/modalProps.d.ts +15 -2
  114. package/dist/modal/types/modalProps.js +12 -0
  115. package/dist/modal/utils/authInputHelpers.d.ts +5 -0
  116. package/dist/modal/utils/authInputHelpers.js +41 -0
  117. package/dist/modal/utils/authLayoutHelpers.js +8 -0
  118. package/dist/modal/utils/countryCodes.js +45 -0
  119. package/dist/modal/utils/getMailtoLink.js +10 -0
  120. package/dist/modal/utils/getTileButtonFlex.js +20 -0
  121. package/dist/modal/utils/getWalletDisplayName.d.ts +5 -0
  122. package/dist/modal/utils/getWalletDisplayName.js +22 -0
  123. package/dist/modal/utils/isPasskeySupported.js +15 -0
  124. package/dist/modal/utils/openPopup.js +60 -0
  125. package/dist/modal/utils/routeMobileExternalWallet.js +31 -0
  126. package/dist/modal/utils/steps.d.ts +21 -2
  127. package/dist/modal/utils/steps.js +273 -0
  128. package/dist/modal/utils/stringFormatters.d.ts +1 -0
  129. package/dist/modal/utils/stringFormatters.js +19 -0
  130. package/dist/modal/utils/validateOnRampConfig.js +32 -0
  131. package/dist/package.json +6 -0
  132. package/dist/provider/ParaProvider.js +117 -0
  133. package/dist/provider/actions/getEmbeddedAccount.d.ts +26 -0
  134. package/dist/provider/actions/getEmbeddedAccount.js +52 -0
  135. package/dist/provider/actions/getWallet.d.ts +3 -3
  136. package/dist/provider/actions/getWallet.js +18 -0
  137. package/dist/provider/actions/index.d.ts +40 -18
  138. package/dist/provider/actions/index.js +79 -0
  139. package/dist/provider/actions/utils.d.ts +4 -3
  140. package/dist/provider/actions/utils.js +34 -0
  141. package/dist/provider/components/CosmosWalletWrapper.js +43 -0
  142. package/dist/provider/components/EvmWalletWrapper.js +43 -0
  143. package/dist/provider/components/ExternalWalletWrapper.js +140 -0
  144. package/dist/provider/components/SolanaWalletWrapper.js +44 -0
  145. package/dist/provider/external/getParaCosmosConnector.js +19 -0
  146. package/dist/provider/external/getParaCosmosLib.d.ts +4 -0
  147. package/dist/provider/external/getParaCosmosLib.js +16 -0
  148. package/dist/provider/external/getParaEvmConnector.js +19 -0
  149. package/dist/provider/external/getParaEvmLib.d.ts +4 -0
  150. package/dist/provider/external/getParaEvmLib.js +16 -0
  151. package/dist/provider/external/getParaSolanaConnector.js +19 -0
  152. package/dist/provider/external/getParaSolanaLib.d.ts +4 -0
  153. package/dist/provider/external/getParaSolanaLib.js +16 -0
  154. package/dist/provider/external/stubs/CosmosExternalWalletContextStub.d.ts +1 -11
  155. package/dist/provider/external/stubs/CosmosExternalWalletContextStub.js +8 -0
  156. package/dist/provider/external/stubs/EvmExternalWalletContextStub.d.ts +1 -2
  157. package/dist/provider/external/stubs/EvmExternalWalletContextStub.js +8 -0
  158. package/dist/provider/external/stubs/SolanaExternalWalletContextStub.d.ts +1 -7
  159. package/dist/provider/external/stubs/SolanaExternalWalletContextStub.js +8 -0
  160. package/dist/provider/hooks/index.js +4 -0
  161. package/dist/provider/hooks/mutations/core.d.ts +27 -0
  162. package/dist/provider/hooks/mutations/core.js +66 -0
  163. package/dist/provider/hooks/mutations/index.d.ts +3 -34
  164. package/dist/provider/hooks/mutations/index.js +9 -0
  165. package/dist/provider/hooks/mutations/useLinkAccount.d.ts +9 -0
  166. package/dist/provider/hooks/mutations/useLinkAccount.js +18 -0
  167. package/dist/provider/hooks/mutations/utils.d.ts +11 -3
  168. package/dist/provider/hooks/mutations/utils.js +90 -0
  169. package/dist/provider/hooks/queries/core.d.ts +4 -0
  170. package/dist/provider/hooks/queries/core.js +16 -0
  171. package/dist/provider/hooks/queries/index.d.ts +2 -0
  172. package/dist/provider/hooks/queries/index.js +11 -0
  173. package/dist/provider/hooks/queries/useAccount.d.ts +86 -7
  174. package/dist/provider/hooks/queries/useAccount.js +135 -0
  175. package/dist/provider/hooks/queries/useIsFullyLoggedIn.d.ts +5 -0
  176. package/dist/provider/hooks/queries/useIsFullyLoggedIn.js +24 -0
  177. package/dist/provider/hooks/queries/useWallet.d.ts +1 -1
  178. package/dist/provider/hooks/queries/useWallet.js +26 -0
  179. package/dist/provider/hooks/queries/useWalletBalance.d.ts +6 -0
  180. package/dist/provider/hooks/queries/useWalletBalance.js +55 -0
  181. package/dist/provider/hooks/queries/utils.d.ts +7 -0
  182. package/dist/provider/hooks/queries/utils.js +25 -0
  183. package/dist/provider/hooks/utils/index.js +10 -0
  184. package/dist/provider/hooks/utils/useAutoSessionKeepAlive.js +74 -0
  185. package/dist/provider/hooks/utils/useClient.d.ts +1 -1
  186. package/dist/provider/hooks/utils/useClient.js +10 -0
  187. package/dist/provider/hooks/utils/useEventListeners.d.ts +1 -1
  188. package/dist/provider/hooks/utils/useEventListeners.js +157 -0
  189. package/dist/provider/hooks/utils/useFormattedBiometricHints.d.ts +4 -0
  190. package/dist/provider/hooks/utils/useFormattedBiometricHints.js +27 -0
  191. package/dist/provider/hooks/utils/useInternalClient.js +10 -0
  192. package/dist/provider/hooks/utils/useModal.d.ts +4 -1
  193. package/dist/provider/hooks/utils/useModal.js +27 -0
  194. package/dist/provider/hooks/utils/useWalletState.d.ts +3 -3
  195. package/dist/provider/hooks/utils/useWalletState.js +48 -0
  196. package/dist/provider/index.d.ts +2 -0
  197. package/dist/provider/index.js +11 -0
  198. package/dist/provider/providers/AccountLinkProvider.d.ts +47 -0
  199. package/dist/provider/providers/AccountLinkProvider.js +452 -0
  200. package/dist/provider/providers/AuthProvider.d.ts +12 -6
  201. package/dist/provider/providers/AuthProvider.js +523 -0
  202. package/dist/provider/providers/CosmosExternalWalletProvider.js +66 -0
  203. package/dist/provider/providers/EvmExternalWalletProvider.js +74 -0
  204. package/dist/provider/providers/ExternalWalletProvider.d.ts +23 -43
  205. package/dist/provider/providers/ExternalWalletProvider.js +596 -0
  206. package/dist/provider/providers/SolanaExternalWalletProvider.js +66 -0
  207. package/dist/provider/stores/getters.d.ts +1 -1
  208. package/dist/provider/stores/getters.js +13 -0
  209. package/dist/provider/stores/setters.js +7 -0
  210. package/dist/provider/stores/slices/analytics.d.ts +3 -0
  211. package/dist/provider/stores/slices/analytics.js +9 -0
  212. package/dist/provider/stores/slices/client.js +9 -0
  213. package/dist/provider/stores/slices/config.js +9 -0
  214. package/dist/provider/stores/slices/externalWallets.js +46 -0
  215. package/dist/provider/stores/slices/index.d.ts +1 -0
  216. package/dist/provider/stores/slices/index.js +6 -0
  217. package/dist/provider/stores/slices/modal.js +18 -0
  218. package/dist/provider/stores/slices/wallet.js +13 -0
  219. package/dist/provider/stores/types.d.ts +19 -5
  220. package/dist/provider/stores/types.js +1 -0
  221. package/dist/provider/stores/useStore.js +34 -0
  222. package/dist/provider/types/externalWalletProviders.js +1 -0
  223. package/dist/provider/types/provider.d.ts +23 -4
  224. package/dist/provider/types/provider.js +1 -0
  225. package/dist/provider/types/query.js +1 -0
  226. package/dist/provider/types/utils.d.ts +28 -5
  227. package/dist/provider/types/utils.js +1 -0
  228. package/dist/provider/utils/constants.d.ts +5 -0
  229. package/dist/provider/utils/constants.js +10 -0
  230. package/dist/provider/utils/paraConfigTypeGuards.js +13 -0
  231. package/dist/provider/utils/renameMutations.d.ts +2 -2
  232. package/dist/provider/utils/renameMutations.js +18 -0
  233. package/package.json +40 -39
  234. package/dist/MoonPayEmbed-Q2HP2BFI.js.br +0 -0
  235. package/dist/MoonPayEmbed-Q2HP2BFI.js.gz +0 -0
  236. package/dist/chunk-MMUBH76A.js.br +0 -0
  237. package/dist/chunk-MMUBH76A.js.gz +0 -0
  238. package/dist/index.js.br +0 -0
  239. package/dist/index.js.gz +0 -0
  240. package/dist/modal/components/StripeComponents/StripeComponents.d.ts +0 -16
  241. package/dist/modal/hooks/useCreateAccount.d.ts +0 -4
  242. package/dist/modal/stores/userInfo/actions.d.ts +0 -3
  243. package/dist/modal/stores/userInfo/useUserInfoStore.d.ts +0 -19
  244. package/dist/provider/actions/checkIfUserExists.d.ts +0 -4
  245. package/dist/provider/actions/createUser.d.ts +0 -4
  246. package/dist/provider/actions/getAccount.d.ts +0 -10
  247. package/dist/provider/actions/initiateLogin.d.ts +0 -4
  248. package/dist/provider/actions/keepSessionAlive.d.ts +0 -2
  249. package/dist/provider/actions/logout.d.ts +0 -5
  250. package/dist/provider/actions/signMessage.d.ts +0 -8
  251. package/dist/provider/actions/signTransaction.d.ts +0 -8
  252. package/dist/provider/actions/waitForAccountCreation.d.ts +0 -5
  253. package/dist/provider/actions/waitForLoginAndSetup.d.ts +0 -6
  254. package/dist/provider/actions/waitForPasskeyAndCreateWallet.d.ts +0 -2
  255. package/dist/provider/hooks/mutations/useCheckIfUserExists.d.ts +0 -13
  256. package/dist/provider/hooks/mutations/useCreateUser.d.ts +0 -13
  257. package/dist/provider/hooks/mutations/useInitiateLogin.d.ts +0 -14
  258. package/dist/provider/hooks/mutations/useKeepSessionAlive.d.ts +0 -12
  259. package/dist/provider/hooks/mutations/useLogout.d.ts +0 -13
  260. package/dist/provider/hooks/mutations/useSignMessage.d.ts +0 -15
  261. package/dist/provider/hooks/mutations/useSignTransaction.d.ts +0 -15
  262. package/dist/provider/hooks/mutations/useWaitForAccountCreation.d.ts +0 -13
  263. package/dist/provider/hooks/mutations/useWaitForLoginAndSetup.d.ts +0 -14
  264. package/dist/provider/hooks/mutations/useWaitForPasskeyAndCreateWallet.d.ts +0 -13
  265. /package/dist/modal/{components/AuthInput → utils}/countryCodes.d.ts +0 -0
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { safeStyled } from "@getpara/react-common";
5
+ import { AuthMainStepContent } from "./AuthMainStepContent.js";
6
+ import { CenteredText } from "../common.js";
7
+ import { useStore } from "../../../provider/stores/useStore.js";
8
+ import { useModalStore } from "../../stores/index.js";
9
+ const AuthMainStep = ({
10
+ oAuthMethods,
11
+ disableEmailLogin,
12
+ disablePhoneLogin,
13
+ isGuestModeEnabled = false
14
+ }) => {
15
+ const authLayout = useModalStore((state) => state.authLayout);
16
+ const embeddedModal = useStore((state) => {
17
+ var _a;
18
+ return (_a = state.modalConfig) == null ? void 0 : _a.embeddedModal;
19
+ });
20
+ const logo = useStore((state) => {
21
+ var _a;
22
+ return (_a = state.modalConfig) == null ? void 0 : _a.logo;
23
+ });
24
+ const appName = useStore((state) => state.appName);
25
+ const firstLayoutType = authLayout == null ? void 0 : authLayout[0].split(":")[0];
26
+ const heading = firstLayoutType === "AUTH" ? "Sign Up or Login" : "Connect Wallet";
27
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
28
+ logo && /* @__PURE__ */ jsx(Logo, { src: logo, alt: `${appName ? `${appName} -` : ""}logo` }),
29
+ !embeddedModal && /* @__PURE__ */ jsx(CenteredText, { variant: logo ? "bodyM" : "headingS", weight: "semiBold", children: heading }),
30
+ /* @__PURE__ */ jsx(
31
+ AuthMainStepContent,
32
+ {
33
+ disableEmailLogin,
34
+ disablePhoneLogin,
35
+ isGuestModeEnabled,
36
+ oAuthMethods
37
+ }
38
+ )
39
+ ] });
40
+ };
41
+ const Logo = safeStyled.img`
42
+ height: 100px;
43
+ max-width: 260px;
44
+ object-fit: contain;
45
+ box-sizing: content-box;
46
+ align-self: center;
47
+ `;
48
+ export {
49
+ AuthMainStep
50
+ };
@@ -1,8 +1,9 @@
1
- import { OAuthMethod } from '@getpara/web-sdk';
1
+ import { TOAuthMethod } from '@getpara/web-sdk';
2
2
  interface AuthMainStepContentProps {
3
- oAuthMethods?: OAuthMethod[];
3
+ oAuthMethods?: TOAuthMethod[];
4
4
  disableEmailLogin: boolean;
5
5
  disablePhoneLogin: boolean;
6
+ isGuestModeEnabled?: boolean;
6
7
  }
7
- export declare const AuthMainStepContent: ({ oAuthMethods, disableEmailLogin, disablePhoneLogin }: AuthMainStepContentProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const AuthMainStepContent: ({ oAuthMethods, disableEmailLogin, disablePhoneLogin, isGuestModeEnabled, }: AuthMainStepContentProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -0,0 +1,164 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { Fragment as Fragment2, useMemo } from "react";
5
+ import { CpslButton, CpslDivider, CpslIconGroup } from "@getpara/react-components";
6
+ import { safeStyled } from "@getpara/react-common";
7
+ import { ExternalWallets } from "../ExternalWallets/ExternalWallets.js";
8
+ import { useModalStore } from "../../stores/index.js";
9
+ import { ModalStep } from "../../utils/steps.js";
10
+ import { AuthLayout } from "../../types/modalProps.js";
11
+ import { ACCOUNT_TYPES } from "../../constants/oAuthLogos.js";
12
+ import { AuthOptions } from "../AuthOptions/AuthOptions.js";
13
+ import { useExternalWallets } from "../../../provider/providers/ExternalWalletProvider.js";
14
+ import { useStore } from "../../../provider/stores/useStore.js";
15
+ import { useAuthActions } from "../../../provider/providers/AuthProvider.js";
16
+ import { useAccount } from "../../../provider/index.js";
17
+ import { useInternalClient } from "../../../provider/hooks/utils/useInternalClient.js";
18
+ const AuthMainStepContent = ({
19
+ oAuthMethods,
20
+ disableEmailLogin,
21
+ disablePhoneLogin,
22
+ isGuestModeEnabled = false
23
+ }) => {
24
+ const para = useInternalClient();
25
+ const { wallets } = useExternalWallets();
26
+ const { createGuestWallets } = useAuthActions();
27
+ const { embedded } = useAccount();
28
+ const authLayout = useModalStore((state) => state.authLayout);
29
+ const setStep = useModalStore((state) => state.setStep);
30
+ const oAuthLogoVariant = useStore((state) => state.oAuthLogoVariant);
31
+ const isDark = useStore((state) => {
32
+ var _a, _b;
33
+ return ((_b = (_a = state.modalConfig) == null ? void 0 : _a.theme) == null ? void 0 : _b.mode) === "dark";
34
+ });
35
+ const isGuestMode = (embedded == null ? void 0 : embedded.isConnected) && embedded.isGuestMode;
36
+ const useBrandedLogos = oAuthLogoVariant === "default";
37
+ const useDarkLogos = useBrandedLogos ? isDark : oAuthLogoVariant !== "dark";
38
+ const handleCondensedAuthClick = () => {
39
+ setStep(ModalStep.AUTH_MORE);
40
+ };
41
+ const handleCondensedExternalClick = () => {
42
+ setStep(ModalStep.EX_WALLET_MORE);
43
+ };
44
+ const Content = useMemo(() => {
45
+ const methods = [];
46
+ if (para.isFarcasterMiniApp) {
47
+ methods.push([/* @__PURE__ */ jsx(ExternalWallets, {}, "externalWallets"), "EXTERNAL:FULL"]);
48
+ } else {
49
+ authLayout == null ? void 0 : authLayout.forEach((layout) => {
50
+ switch (layout) {
51
+ case AuthLayout.AUTH_FULL: {
52
+ methods.push([
53
+ /* @__PURE__ */ jsx(
54
+ AuthOptions,
55
+ {
56
+ oAuthMethods,
57
+ disableEmailLogin,
58
+ disablePhoneLogin,
59
+ isGuestModeEnabled
60
+ },
61
+ "authFull"
62
+ ),
63
+ layout
64
+ ]);
65
+ break;
66
+ }
67
+ case AuthLayout.AUTH_CONDENSED: {
68
+ const icons = [];
69
+ oAuthMethods == null ? void 0 : oAuthMethods.forEach((method) => icons.push(ACCOUNT_TYPES[method][useBrandedLogos ? "logoBranded" : "logo"]));
70
+ methods.push([
71
+ /* @__PURE__ */ jsxs(CondensedButton, { onClick: handleCondensedAuthClick, variant: "tertiary", fullWidth: true, children: [
72
+ /* @__PURE__ */ jsx(IconGroupSpacer, { slot: "start", icons: [], $isDark: useDarkLogos }),
73
+ "Sign Up or Login",
74
+ /* @__PURE__ */ jsx(StyledIconGroup, { slot: "end", icons: icons.splice(0, 3), $isDark: useDarkLogos })
75
+ ] }, "authCondensed"),
76
+ layout
77
+ ]);
78
+ break;
79
+ }
80
+ case AuthLayout.EXTERNAL_FULL: {
81
+ if (!!wallets.length) {
82
+ methods.push([/* @__PURE__ */ jsx(ExternalWallets, {}, "externalWallets"), layout]);
83
+ }
84
+ break;
85
+ }
86
+ case AuthLayout.EXTERNAL_CONDENSED: {
87
+ const icons = [];
88
+ wallets == null ? void 0 : wallets.forEach((wallet) => icons.push(wallet.iconUrl));
89
+ methods.push([
90
+ /* @__PURE__ */ jsxs(CondensedButton, { onClick: handleCondensedExternalClick, variant: "tertiary", fullWidth: true, children: [
91
+ /* @__PURE__ */ jsx(IconGroupSpacer, { slot: "start", icons: [], $isDark: useDarkLogos }),
92
+ "Connect Wallet",
93
+ /* @__PURE__ */ jsx(StyledIconGroup, { slot: "end", icons: icons.splice(0, 3), $isDark: useDarkLogos })
94
+ ] }, "authCondensed"),
95
+ layout
96
+ ]);
97
+ break;
98
+ }
99
+ default: {
100
+ break;
101
+ }
102
+ }
103
+ });
104
+ }
105
+ return /* @__PURE__ */ jsx(Fragment, { children: methods.map(([reactNode, key], index) => /* @__PURE__ */ jsxs(Fragment2, { children: [
106
+ reactNode,
107
+ methods.length > 1 && index < methods.length - 1 && /* @__PURE__ */ jsx(CpslDivider, { children: "or" }, "or")
108
+ ] }, key)) });
109
+ }, [para.isFarcasterMiniApp, oAuthMethods, disableEmailLogin, disablePhoneLogin, isGuestModeEnabled, wallets, authLayout]);
110
+ return /* @__PURE__ */ jsxs(Container, { "data-testid": "main-auth-step-content", children: [
111
+ Content,
112
+ isGuestModeEnabled && !isGuestMode && !para.isFarcasterMiniApp && /* @__PURE__ */ jsx(
113
+ GuestMode,
114
+ {
115
+ href: "#",
116
+ isDark,
117
+ onClick: (e) => {
118
+ e.preventDefault();
119
+ createGuestWallets();
120
+ },
121
+ children: "Continue as Guest"
122
+ }
123
+ )
124
+ ] });
125
+ };
126
+ const Container = safeStyled.div`
127
+ display: flex;
128
+ flex-direction: column;
129
+ gap: 8px;
130
+ `;
131
+ const StyledIconGroup = safeStyled(CpslIconGroup)`
132
+ --icon-item-color: ${({ $isDark }) => $isDark ? "white" : "black"};
133
+ flex: 1;
134
+ justify-content: flex-end;
135
+ `;
136
+ const IconGroupSpacer = safeStyled(StyledIconGroup)`
137
+ visibility: hidden;
138
+ `;
139
+ const CondensedButton = safeStyled(CpslButton)`
140
+ --button-justify-content: space-between;
141
+
142
+ &::part(button-native) {
143
+ max-height: 50px;
144
+ }
145
+ `;
146
+ const GuestMode = safeStyled.a`
147
+ display: flex;
148
+ justify-content: center;
149
+ align-items: center;
150
+ width: 100%;
151
+ height: 50px;
152
+ color: ${({ isDark }) => isDark ? "white" : "black"};
153
+ text-decoration: none;
154
+ font-size: 16px;
155
+ font-weight: 500;
156
+ font-family: var(--cpsl-font-family);
157
+
158
+ &:hover {
159
+ text-decoration: underline;
160
+ }
161
+ `;
162
+ export {
163
+ AuthMainStepContent
164
+ };
@@ -1,8 +1,9 @@
1
- import { OAuthMethod } from '@getpara/web-sdk';
1
+ import { TOAuthMethod } from '@getpara/web-sdk';
2
2
  interface AuthOptionsProps {
3
- oAuthMethods?: OAuthMethod[];
3
+ oAuthMethods?: TOAuthMethod[];
4
4
  disableEmailLogin: boolean;
5
5
  disablePhoneLogin: boolean;
6
+ isGuestModeEnabled: boolean;
6
7
  }
7
- export declare const AuthOptions: ({ oAuthMethods, disableEmailLogin, disablePhoneLogin }: AuthOptionsProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const AuthOptions: ({ oAuthMethods, disableEmailLogin, disablePhoneLogin, isGuestModeEnabled, }: AuthOptionsProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { useMemo } from "react";
5
+ import { safeStyled } from "@getpara/react-common";
6
+ import { OAuth } from "../OAuth/OAuth.js";
7
+ import { AuthInput } from "../AuthInput/AuthInput.js";
8
+ import { useExternalWallets } from "../../../provider/providers/ExternalWalletProvider.js";
9
+ import { useModalStore } from "../../stores/index.js";
10
+ import { CpslIcon, CpslText } from "@getpara/react-components";
11
+ import { useAuthActions } from "../../../provider/providers/AuthProvider.js";
12
+ import { useInternalClient } from "../../../provider/hooks/utils/useInternalClient.js";
13
+ import { useStore } from "../../../provider/stores/useStore.js";
14
+ import { isEmail, isPhone } from "@getpara/user-management-client";
15
+ const AuthOptions = ({
16
+ oAuthMethods,
17
+ disableEmailLogin,
18
+ disablePhoneLogin,
19
+ isGuestModeEnabled = false
20
+ }) => {
21
+ var _a, _b;
22
+ const para = useInternalClient();
23
+ const defaultAuthIdentifier = useStore((state) => {
24
+ var _a2;
25
+ return (_a2 = state.modalConfig) == null ? void 0 : _a2.defaultAuthIdentifier;
26
+ });
27
+ const { signUpOrLogIn, isSignUpOrLogInPending } = useAuthActions();
28
+ const { wallets } = useExternalWallets();
29
+ const guestAddFundsTab = useModalStore((state) => state.guestAddFundsTab);
30
+ const defaultAuth = defaultAuthIdentifier ? /^\+\d+$/.test(defaultAuthIdentifier) ? { phone: defaultAuthIdentifier } : { email: defaultAuthIdentifier } : para.authInfo && (isEmail((_a = para.authInfo) == null ? void 0 : _a.auth) || isPhone((_b = para.authInfo) == null ? void 0 : _b.auth)) ? para.authInfo.auth : void 0;
31
+ const Content = useMemo(() => {
32
+ const Methods = [];
33
+ if (!!(oAuthMethods == null ? void 0 : oAuthMethods.length)) {
34
+ Methods.push(/* @__PURE__ */ jsx(OAuth, { methods: oAuthMethods }, "oAuth"));
35
+ }
36
+ if (!disableEmailLogin || !disablePhoneLogin) {
37
+ Methods.push(
38
+ /* @__PURE__ */ jsx(
39
+ AuthInput,
40
+ {
41
+ sticky: true,
42
+ defaultAuth,
43
+ disableEmailLogin,
44
+ disablePhoneLogin,
45
+ onSubmit: signUpOrLogIn,
46
+ isSubmitting: isSignUpOrLogInPending
47
+ },
48
+ "input"
49
+ )
50
+ );
51
+ }
52
+ return /* @__PURE__ */ jsx(Fragment, { children: Methods });
53
+ }, [oAuthMethods, disableEmailLogin, disablePhoneLogin, isGuestModeEnabled, wallets]);
54
+ return /* @__PURE__ */ jsxs(Container, { children: [
55
+ guestAddFundsTab && /* @__PURE__ */ jsxs(CompleteAccountSetup, { children: [
56
+ /* @__PURE__ */ jsx(CompleteAccountIcon, { icon: "stars02", size: "16px" }),
57
+ /* @__PURE__ */ jsxs(CpslText, { variant: "bodyS", weight: "bold", children: [
58
+ "Complete account setup to",
59
+ " ",
60
+ guestAddFundsTab === "BUY" ? "buy assets" : guestAddFundsTab === "WITHDRAW" ? "sell assets" : "continue",
61
+ "."
62
+ ] })
63
+ ] }),
64
+ Content
65
+ ] });
66
+ };
67
+ const Container = safeStyled.div`
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 8px;
71
+ `;
72
+ const CompleteAccountSetup = safeStyled.div`
73
+ display: flex;
74
+ align-items: center;
75
+ justify-content: center;
76
+ gap: 4px;
77
+ color: var(--cpsl-color-text-primary);
78
+ margin-bottom: 8px;
79
+ `;
80
+ const CompleteAccountIcon = safeStyled(CpslIcon)`
81
+ --icon-color: var(--cpsl-color-text-primary);
82
+ `;
83
+ export {
84
+ AuthOptions
85
+ };
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { useModalStore } from "../../stores/index.js";
5
+ import { Waiting } from "../Waiting/Waiting.js";
6
+ const AwaitingBiometricsStep = () => {
7
+ const isLogin = useModalStore((state) => state.isLogin());
8
+ return /* @__PURE__ */ jsx(
9
+ Waiting,
10
+ {
11
+ heading: isLogin ? "Waiting for Passkey" : "Creating Passkey",
12
+ subheading: "Follow the prompts presented by your browser."
13
+ }
14
+ );
15
+ };
16
+ export {
17
+ AwaitingBiometricsStep
18
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Waiting } from "../Waiting/Waiting.js";
5
+ const AwaitingOAuthStep = () => {
6
+ return /* @__PURE__ */ jsx(Waiting, { heading: "Complete Login", subheading: "Follow the prompts presented by your browser." });
7
+ };
8
+ export {
9
+ AwaitingOAuthStep
10
+ };
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { useModalStore } from "../../stores/index.js";
5
+ import { Waiting } from "../Waiting/Waiting.js";
6
+ const AwaitingPasswordStep = () => {
7
+ const isLogin = useModalStore((state) => state.isLogin());
8
+ return /* @__PURE__ */ jsx(
9
+ Waiting,
10
+ {
11
+ heading: isLogin ? "Waiting for Password" : "Creating Password",
12
+ subheading: "Follow the prompts presented by your browser."
13
+ }
14
+ );
15
+ };
16
+ export {
17
+ AwaitingPasswordStep
18
+ };
@@ -1 +1,5 @@
1
- export declare const AwaitingWalletCreationStep: () => import("react/jsx-runtime").JSX.Element;
1
+ type Props = {
2
+ isGuestMode?: boolean;
3
+ };
4
+ export declare const AwaitingWalletCreationStep: ({ isGuestMode }: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,49 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { CpslIcon, CpslInfoBox, CpslText } from "@getpara/react-components";
5
+ import { InfoBoxContent, InfoBoxHeader, StepContainer } from "../common.js";
6
+ import { useEffect, useRef, useState } from "react";
7
+ import { Waiting } from "../Waiting/Waiting.js";
8
+ import { useStore } from "../../../provider/stores/useStore.js";
9
+ import { useAccount } from "../../../provider/index.js";
10
+ const AwaitingWalletCreationStep = ({ isGuestMode = false }) => {
11
+ const hideWallets = useStore((state) => {
12
+ var _a;
13
+ return (_a = state.modalConfig) == null ? void 0 : _a.hideWallets;
14
+ });
15
+ const [showInfoBox, setShowInfoBox] = useState(false);
16
+ const showInfoBoxTimeout = useRef();
17
+ const { embedded } = useAccount();
18
+ useEffect(() => {
19
+ if (typeof window !== "undefined") {
20
+ showInfoBoxTimeout.current = window.setTimeout(() => {
21
+ setShowInfoBox(true);
22
+ }, 4e3);
23
+ }
24
+ return () => clearTimeout(showInfoBoxTimeout.current);
25
+ }, []);
26
+ return /* @__PURE__ */ jsxs(StepContainer, { $wide: true, children: [
27
+ /* @__PURE__ */ jsx(
28
+ Waiting,
29
+ {
30
+ heading: isGuestMode ? "Creating Guest Account" : (embedded == null ? void 0 : embedded.isGuestMode) ? hideWallets ? "Linking Guest Account" : "Linking Guest Wallet" : hideWallets ? "Creating Your Account" : "Creating Your Wallet",
31
+ subheading: "This should only take a couple of seconds."
32
+ }
33
+ ),
34
+ showInfoBox && /* @__PURE__ */ jsx(CpslInfoBox, { children: /* @__PURE__ */ jsxs(InfoBoxContent, { children: [
35
+ /* @__PURE__ */ jsxs(InfoBoxHeader, { children: [
36
+ /* @__PURE__ */ jsx(CpslIcon, { icon: "clock" }),
37
+ /* @__PURE__ */ jsx(CpslText, { weight: "medium", children: "Hang on" })
38
+ ] }),
39
+ /* @__PURE__ */ jsxs(CpslText, { variant: "bodyS", weight: "medium", color: "secondary", children: [
40
+ "Creating your ",
41
+ hideWallets ? "account" : "wallet",
42
+ " is taking a little longer than expected, but we're working on it!"
43
+ ] })
44
+ ] }) })
45
+ ] });
46
+ };
47
+ export {
48
+ AwaitingWalletCreationStep
49
+ };
@@ -1 +1 @@
1
- export declare const BiometricCreationStep: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const BiometricCreationStep: () => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { CpslButton, CpslDivider, CpslIcon, CpslQrCode, CpslSpinner, CpslText } from "@getpara/react-components";
5
+ import { useModalStore } from "../../stores/index.js";
6
+ import { InnerStepContainer, StepContainer, Heading, QRContainer } from "../common.js";
7
+ import { useCopyToClipboard, UserIdentifier } from "@getpara/react-common";
8
+ import { useInternalClient } from "../../../provider/hooks/utils/useInternalClient.js";
9
+ import { useAuthActions } from "../../../provider/providers/AuthProvider.js";
10
+ import { AuthMethod } from "@getpara/web-sdk";
11
+ import { useStore } from "../../../provider/stores/useStore.js";
12
+ const BiometricCreationStep = () => {
13
+ const para = useInternalClient();
14
+ const authInfo = para.authInfo;
15
+ const appName = useStore((state) => state.appName);
16
+ const { presentSignupUi } = useAuthActions();
17
+ const signupState = useModalStore((state) => state.getSignupState());
18
+ const authStepRoute = useModalStore((state) => state.authStepRoute);
19
+ const [isCopied, copy] = useCopyToClipboard();
20
+ const handleCopy = () => {
21
+ if (signupState == null ? void 0 : signupState.passkeyUrl) {
22
+ copy(signupState.passkeyUrl);
23
+ }
24
+ };
25
+ const onClick = (method) => () => {
26
+ presentSignupUi(method, signupState);
27
+ };
28
+ const isBoth = !!(signupState == null ? void 0 : signupState.passkeyUrl) && !!(signupState == null ? void 0 : signupState.passwordUrl);
29
+ if (!signupState) {
30
+ return null;
31
+ }
32
+ return /* @__PURE__ */ jsxs(StepContainer, { $wide: true, children: [
33
+ /* @__PURE__ */ jsxs(InnerStepContainer, { children: [
34
+ /* @__PURE__ */ jsx(Heading, { variant: "headingS", weight: "bold", children: para.isExternalWalletAuth ? `Finish setup for your${appName ? ` ${appName}` : ""} wallet` : isBoth ? "Secure Your Account" : "Create Passkey" }),
35
+ /* @__PURE__ */ jsx(UserIdentifier, { authInfo }),
36
+ /* @__PURE__ */ jsx(CpslText, { variant: "bodyS", color: "secondary", weight: "medium", children: isBoth ? "Choose a password or set up a passkey" : "Your Passkey keeps your account safe." })
37
+ ] }),
38
+ /* @__PURE__ */ jsxs(InnerStepContainer, { children: [
39
+ (signupState == null ? void 0 : signupState.isPasskeySupported) ? /* @__PURE__ */ jsxs(CpslButton, { fullWidth: true, onClick: onClick(AuthMethod.PASSKEY), children: [
40
+ /* @__PURE__ */ jsx(CpslIcon, { slot: "start", icon: "key" }),
41
+ isBoth ? "Create Passkey" : "Create"
42
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
43
+ /* @__PURE__ */ jsx(CpslText, { weight: "semiBold", children: "Scan with your mobile device" }),
44
+ /* @__PURE__ */ jsx(QRContainer, { children: !(signupState == null ? void 0 : signupState.passkeyUrl) ? /* @__PURE__ */ jsx(CpslSpinner, { size: 100 }) : /* @__PURE__ */ jsx(CpslQrCode, { url: signupState.passkeyUrl }) }),
45
+ /* @__PURE__ */ jsxs(CpslButton, { size: "small", variant: "ghost", onClick: handleCopy, children: [
46
+ /* @__PURE__ */ jsx(CpslIcon, { slot: "start", icon: isCopied ? "check" : "copy" }),
47
+ isCopied ? "Copied" : "Copy Link"
48
+ ] })
49
+ ] }),
50
+ isBoth && /* @__PURE__ */ jsxs(Fragment, { children: [
51
+ /* @__PURE__ */ jsx(CpslDivider, { children: "or" }),
52
+ /* @__PURE__ */ jsxs(CpslButton, { fullWidth: true, onClick: onClick(AuthMethod.PASSWORD), disabled: !!authStepRoute, children: [
53
+ /* @__PURE__ */ jsx(CpslIcon, { slot: "start", icon: "passcode" }),
54
+ "Choose Password"
55
+ ] })
56
+ ] })
57
+ ] })
58
+ ] });
59
+ };
60
+ export {
61
+ BiometricCreationStep
62
+ };
@@ -1 +1 @@
1
- export declare const BiometricLoginStep: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const BiometricLoginStep: () => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { CpslButton, CpslDivider, CpslIcon } from "@getpara/react-components";
5
+ import { useModalStore } from "../../stores/index.js";
6
+ import { Heading, StepContainer, InnerStepContainer } from "../common.js";
7
+ import { safeStyled } from "@getpara/react-common";
8
+ import { AuthMethod } from "@getpara/web-sdk";
9
+ import { KnownDevices, UserIdentifier } from "@getpara/react-common";
10
+ import { useInternalClient } from "../../../provider/hooks/utils/useInternalClient.js";
11
+ import { useAuthActions } from "../../../provider/providers/AuthProvider.js";
12
+ const BiometricLoginStep = () => {
13
+ var _a;
14
+ const loginState = useModalStore((state) => state.getLoginState());
15
+ const para = useInternalClient();
16
+ const { biometricHints, presentLoginUi } = useAuthActions();
17
+ if (!loginState) {
18
+ return null;
19
+ }
20
+ const { passkeyUrl, passkeyKnownDeviceUrl, passwordUrl, isPasskeySupported } = loginState;
21
+ const { isOnKnownDevice = false, formattedHints } = biometricHints || {};
22
+ const isPasskey = !!passkeyUrl, isPassword = !!passwordUrl, isNeither = !isPasskey && !isPassword, hasHints = (_a = formattedHints == null ? void 0 : formattedHints.length) != null ? _a : 0 > 0, isPasskeyOnKnownDevice = isPasskeySupported && isOnKnownDevice, isPasskeyUnavailable = hasHints && !isOnKnownDevice || !isPasskeySupported || isNeither, displayKnownDevices = isPasskeyUnavailable && !!biometricHints && (hasHints || !!passkeyKnownDeviceUrl), displayWelcomeBack = isPasskeyOnKnownDevice || isPassword;
23
+ return /* @__PURE__ */ jsxs(StepContainer, { $wide: true, children: [
24
+ /* @__PURE__ */ jsxs(InnerStepContainer, { children: [
25
+ displayWelcomeBack && /* @__PURE__ */ jsx(Heading, { variant: "headingS", weight: "bold", children: "Welcome back," }),
26
+ /* @__PURE__ */ jsx(UserIdentifier, { authInfo: para.authInfo })
27
+ ] }),
28
+ /* @__PURE__ */ jsxs(MainContainer, { children: [
29
+ isPassword && /* @__PURE__ */ jsx(CpslButton, { fullWidth: true, onClick: () => presentLoginUi(AuthMethod.PASSWORD, loginState), children: "Login" }),
30
+ isPasskey && /* @__PURE__ */ jsxs(Fragment, { children: [
31
+ displayKnownDevices && /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ /* @__PURE__ */ jsx(KnownDevices, { hints: biometricHints, link: passkeyKnownDeviceUrl }),
33
+ /* @__PURE__ */ jsx(CpslDivider, { children: "or" })
34
+ ] }),
35
+ /* @__PURE__ */ jsx(CpslButton, { fullWidth: true, onClick: () => presentLoginUi(AuthMethod.PASSKEY, loginState), children: isPasskeyUnavailable ? "Continue anyway" : /* @__PURE__ */ jsxs(Fragment, { children: [
36
+ /* @__PURE__ */ jsx(CpslIcon, { slot: "start", icon: "key" }),
37
+ "Login with passkey"
38
+ ] }) })
39
+ ] })
40
+ ] })
41
+ ] });
42
+ };
43
+ const MainContainer = safeStyled(InnerStepContainer)`
44
+ gap: 16px;
45
+ `;
46
+ export {
47
+ BiometricLoginStep
48
+ };
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { motion } from "framer-motion";
5
+ import { useEffect, useRef, useState } from "react";
6
+ import { safeStyled } from "@getpara/react-common";
7
+ const AnimatedHeightWrapper = ({ children, className }) => {
8
+ const containerRef = useRef(null);
9
+ const [height, setHeight] = useState("auto");
10
+ useEffect(() => {
11
+ if (containerRef.current) {
12
+ const resizeObserver = new ResizeObserver((entries) => {
13
+ const observedHeight = entries[0].contentRect.height;
14
+ setHeight(observedHeight);
15
+ });
16
+ resizeObserver.observe(containerRef.current);
17
+ return () => {
18
+ resizeObserver.disconnect();
19
+ };
20
+ }
21
+ }, []);
22
+ return /* @__PURE__ */ jsx(Container, { className, style: { height }, animate: { height }, transition: { duration: 0.2 }, children: /* @__PURE__ */ jsx("div", { ref: containerRef, children }) });
23
+ };
24
+ const Container = safeStyled(motion.div)`
25
+ overflow: hidden;
26
+ `;
27
+ export {
28
+ AnimatedHeightWrapper
29
+ };
@@ -1,10 +1,11 @@
1
- import { OAuthMethod } from '@getpara/web-sdk';
1
+ import { TOAuthMethod } from '@getpara/web-sdk';
2
2
  interface BodyProps {
3
- oAuthMethods?: OAuthMethod[];
3
+ oAuthMethods?: TOAuthMethod[];
4
4
  twoFactorAuthEnabled?: boolean;
5
5
  disableEmailLogin: boolean;
6
6
  disablePhoneLogin: boolean;
7
+ isGuestModeEnabled?: boolean;
7
8
  onClose: () => void;
8
9
  }
9
- export declare const Body: ({ oAuthMethods, twoFactorAuthEnabled, disableEmailLogin, disablePhoneLogin, onClose }: BodyProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const Body: ({ oAuthMethods, twoFactorAuthEnabled, disableEmailLogin, disablePhoneLogin, isGuestModeEnabled, onClose, }: BodyProps) => import("react/jsx-runtime").JSX.Element;
10
11
  export {};