@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,43 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ import { useInternalClient } from "../../provider/hooks/utils/useInternalClient.js";
4
+ import { useExternalWallets } from "../../provider/providers/ExternalWalletProvider.js";
5
+ import { useModalStore } from "../stores/index.js";
6
+ import { getAddFundsStep, ModalStep } from "../utils/steps.js";
7
+ const useGoBack = () => {
8
+ const currentStep = useModalStore((state) => state.step);
9
+ const refs = useModalStore((state) => state.refs);
10
+ const setStep = useModalStore((state) => state.setStep);
11
+ const accountAddFundTab = useModalStore((state) => state.accountAddFundTab);
12
+ const decrementStep = useModalStore((state) => state.decrementStep);
13
+ const resetState = useModalStore((state) => state.resetState);
14
+ const { setChainIdSwitchingTo, disconnectExternalWallet } = useExternalWallets();
15
+ const para = useInternalClient();
16
+ const goBack = () => {
17
+ if (accountAddFundTab && currentStep === ModalStep.ADD_FUNDS_AWAITING) {
18
+ setStep(getAddFundsStep(accountAddFundTab));
19
+ } else {
20
+ decrementStep();
21
+ }
22
+ switch (refs.currentStep.current) {
23
+ case ModalStep.AUTH_MAIN:
24
+ case ModalStep.AUTH_MORE:
25
+ case ModalStep.EX_WALLET_SELECTED:
26
+ case ModalStep.EXTERNAL_WALLET_VERIFICATION: {
27
+ resetState();
28
+ if (para.isExternalWalletAuth) {
29
+ disconnectExternalWallet();
30
+ }
31
+ break;
32
+ }
33
+ case ModalStep.CHAIN_SWITCH: {
34
+ setChainIdSwitchingTo();
35
+ break;
36
+ }
37
+ }
38
+ };
39
+ return goBack;
40
+ };
41
+ export {
42
+ useGoBack
43
+ };
@@ -0,0 +1,12 @@
1
+ import { TelegramAuthResponse } from '@getpara/user-management-client';
2
+ import { MutationStatus } from '@tanstack/react-query';
3
+ export declare const useTelegramLogin: ({ isActive, onSubmit, status: propsStatus, }?: {
4
+ isActive?: boolean;
5
+ onSubmit?: (_: TelegramAuthResponse) => void;
6
+ status?: MutationStatus;
7
+ }) => {
8
+ url: string | undefined;
9
+ isLoaded: boolean;
10
+ setIsLoaded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
11
+ status: MutationStatus | undefined;
12
+ };
@@ -0,0 +1,65 @@
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
+ const useTelegramLogin = ({
9
+ isActive = false,
10
+ onSubmit,
11
+ status: propsStatus
12
+ } = {}) => {
13
+ const para = useInternalClient();
14
+ const refs = useModalStore((state) => state.refs);
15
+ const [url, setUrl] = useState();
16
+ const [isLoaded, setIsLoaded] = useState(false);
17
+ const [msgStatus, setMsgStatus] = useState("idle");
18
+ const status = msgStatus === "success" ? propsStatus : msgStatus;
19
+ useEffect(() => {
20
+ if (isActive) {
21
+ if (!url) {
22
+ para.constructPortalUrl("telegramLogin").then(setUrl);
23
+ }
24
+ }
25
+ }, [isActive, url]);
26
+ useEffect(() => {
27
+ const updateState = (event) => __async(void 0, null, function* () {
28
+ var _a, _b;
29
+ switch (event.data.type) {
30
+ case "TELEGRAM_LOGIN":
31
+ setMsgStatus("pending");
32
+ break;
33
+ case "TELEGRAM_FAILED":
34
+ setMsgStatus("error");
35
+ break;
36
+ case "TELEGRAM_SUCCESS":
37
+ setMsgStatus("success");
38
+ if (!!event.data.payload) {
39
+ const authObject = event.data.payload;
40
+ try {
41
+ yield onSubmit == null ? void 0 : onSubmit(authObject);
42
+ } catch (e) {
43
+ (_b = (_a = refs.telegramIFrame.current) == null ? void 0 : _a.contentWindow) == null ? void 0 : _b.postMessage({ type: "TELEGRAM_RETRY" }, "*");
44
+ }
45
+ }
46
+ break;
47
+ }
48
+ });
49
+ if (isActive) {
50
+ window == null ? void 0 : window.addEventListener("message", updateState, false);
51
+ }
52
+ return () => {
53
+ window == null ? void 0 : window.removeEventListener("message", updateState, false);
54
+ };
55
+ }, [isActive, onSubmit]);
56
+ return {
57
+ url,
58
+ isLoaded,
59
+ setIsLoaded,
60
+ status
61
+ };
62
+ };
63
+ export {
64
+ useTelegramLogin
65
+ };
@@ -3,6 +3,6 @@ export type { ParaModalProps, ParaModalHandle, ParaModalTheme } from './types/mo
3
3
  export { ModalStep, type ModalStepProp } from './utils/steps.js';
4
4
  export { AuthLayout } from './types/modalProps.js';
5
5
  export * from './utils/openPopup.js';
6
- export { ON_RAMP_PROVIDERS, ON_RAMP_ASSETS, NETWORKS, getAssetIcon, getAssetName, getNetworkIcon, getNetworkName, } from './constants/constants.js';
6
+ export { ON_RAMP_PROVIDERS, ON_RAMP_ASSETS, NETWORKS, getAssetIcon, getAssetCode, getNetworkIcon, getNetworkName, } from './constants/constants.js';
7
7
  export { SaveRecoverySecret } from './components/RecoverySecretStep/RecoverySecretStep.js';
8
8
  export * from './utils/validateOnRampConfig.js';
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import "../chunk-MMUBH76A.js";
3
+ export * from "./ParaModal.js";
4
+ import { ModalStep } from "./utils/steps.js";
5
+ import { AuthLayout } from "./types/modalProps.js";
6
+ export * from "./utils/openPopup.js";
7
+ import {
8
+ ON_RAMP_PROVIDERS,
9
+ ON_RAMP_ASSETS,
10
+ NETWORKS,
11
+ getAssetIcon,
12
+ getAssetCode,
13
+ getNetworkIcon,
14
+ getNetworkName
15
+ } from "./constants/constants.js";
16
+ import { SaveRecoverySecret } from "./components/RecoverySecretStep/RecoverySecretStep.js";
17
+ export * from "./utils/validateOnRampConfig.js";
18
+ export {
19
+ AuthLayout,
20
+ ModalStep,
21
+ NETWORKS,
22
+ ON_RAMP_ASSETS,
23
+ ON_RAMP_PROVIDERS,
24
+ SaveRecoverySecret,
25
+ getAssetCode,
26
+ getAssetIcon,
27
+ getNetworkIcon,
28
+ getNetworkName
29
+ };
@@ -1,2 +1 @@
1
1
  export * from './modal/useModalStore.js';
2
- export * from './userInfo/useUserInfoStore.js';
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export * from "./modal/useModalStore.js";
@@ -0,0 +1,135 @@
1
+ "use client";
2
+ import {
3
+ __spreadValues
4
+ } from "../../../chunk-MMUBH76A.js";
5
+ import { DEFAULT_MODAL_STATE } from "./useModalStore.js";
6
+ import {
7
+ AccountPreviousStep,
8
+ GuestPreviousStep,
9
+ LoginPreviousStep,
10
+ ModalStep,
11
+ SignUpPreviousStep
12
+ } from "../../utils/steps.js";
13
+ function getPreviousStep(flow, step) {
14
+ return flow === "account" ? AccountPreviousStep[step] : flow === "login" ? LoginPreviousStep[step] : flow === "guest" ? GuestPreviousStep[step] : SignUpPreviousStep[step];
15
+ }
16
+ const getActions = (set, get) => ({
17
+ resetState: () => set(DEFAULT_MODAL_STATE),
18
+ setOnModalStepChange: (onModalStepChange) => set({ onModalStepChange }),
19
+ setRecoveryShare: (recoveryShare) => set({ recoveryShare }),
20
+ setStep: (step) => {
21
+ const onModalStepChange = get().onModalStepChange;
22
+ const previousStep = get().step;
23
+ set({ step });
24
+ onModalStepChange == null ? void 0 : onModalStepChange({ previousStep, currentStep: step, canGoBack: get().hasPreviousStep() });
25
+ },
26
+ decrementStep: () => {
27
+ var _a;
28
+ const currentStep = get().step;
29
+ const onRampStep = get().onRampStep;
30
+ const flow = get().flow;
31
+ if ([ModalStep.ADD_FUNDS_BUY, ModalStep.ADD_FUNDS_WITHDRAW].includes(currentStep) && onRampStep > 0) {
32
+ set({ onRampStep: onRampStep - 1 });
33
+ return;
34
+ }
35
+ const onModalStepChange = get().onModalStepChange;
36
+ const accountLinkOptions = get().accountLinkOptions || [];
37
+ const signupState = get().getSignupState();
38
+ const iFrameUrl = get().iFrameUrl;
39
+ const refs = get().refs;
40
+ let prevStep = getPreviousStep(flow, currentStep);
41
+ if (currentStep === ModalStep.ACCOUNT_PROFILE_ADD && accountLinkOptions.length < 2) {
42
+ prevStep = ModalStep.ACCOUNT_PROFILE;
43
+ }
44
+ if (currentStep === ModalStep.PASSWORD_CREATION && iFrameUrl && !(signupState == null ? void 0 : signupState.passkeyUrl)) {
45
+ prevStep = ModalStep.AUTH_MAIN;
46
+ }
47
+ if (currentStep === ModalStep.EX_WALLET_SELECTED) {
48
+ set({ selectedExternalWalletId: void 0, isExternalWalletConnecting: false, externalWalletError: void 0 });
49
+ }
50
+ if (prevStep) {
51
+ set(__spreadValues({
52
+ authStepRoute: void 0,
53
+ step: prevStep,
54
+ stepDirection: -1
55
+ }, prevStep === ModalStep.AUTH_MAIN && { flow: void 0 }));
56
+ onModalStepChange == null ? void 0 : onModalStepChange({ previousStep: currentStep, currentStep: prevStep, canGoBack: get().hasPreviousStep() });
57
+ }
58
+ (_a = refs.popupWindow.current) == null ? void 0 : _a.close();
59
+ refs.popupWindow.current = null;
60
+ },
61
+ hasPreviousStep: () => {
62
+ const flow = get().flow;
63
+ const currentStep = get().step;
64
+ const onRampStep = get().onRampStep;
65
+ if ([ModalStep.ADD_FUNDS_BUY, ModalStep.ADD_FUNDS_WITHDRAW].includes(currentStep) && onRampStep > 0) {
66
+ return true;
67
+ }
68
+ return !!getPreviousStep(flow, currentStep);
69
+ },
70
+ setFlow: (flow) => set({ flow }),
71
+ isLogin: () => get().flow === "login",
72
+ isAccount: () => get().flow === "account",
73
+ setAuthState: (authState) => {
74
+ let flow = get().flow, newFlow;
75
+ switch (authState == null ? void 0 : authState.stage) {
76
+ case "login":
77
+ newFlow = "login";
78
+ break;
79
+ case "signup":
80
+ case "verify":
81
+ newFlow = flow === "guest" ? "guest" : "signup";
82
+ break;
83
+ default:
84
+ break;
85
+ }
86
+ set(__spreadValues({ authState }, newFlow ? { flow: newFlow } : {}));
87
+ },
88
+ getVerifyState: () => {
89
+ const authState = get().authState;
90
+ return (authState == null ? void 0 : authState.stage) === "verify" ? authState : void 0;
91
+ },
92
+ getLoginState: () => {
93
+ const authState = get().authState;
94
+ return (authState == null ? void 0 : authState.stage) === "login" ? authState : void 0;
95
+ },
96
+ getSignupState: () => {
97
+ const authState = get().authState;
98
+ return (authState == null ? void 0 : authState.stage) === "signup" ? authState : void 0;
99
+ },
100
+ setOnRampPurchase: (onRampPurchase) => set((state) => ({ onRampPurchase: __spreadValues(__spreadValues({}, state.onRampPurchase || {}), onRampPurchase) })),
101
+ setOnRampConfig: (onRampConfig) => set({ onRampConfig }),
102
+ setOnRampStep: (onRampStep) => set({ onRampStep }),
103
+ setIsFullyLoggedIn: (isFullyLoggedIn) => set({ isFullyLoggedIn }),
104
+ setAccountAddFundTab: (accountAddFundTab) => set({ accountAddFundTab }),
105
+ setGuestAddFundsTab: (guestAddFundsTab) => set({ guestAddFundsTab }),
106
+ setSelectedExternalWalletId: (selectedExternalWalletId) => set({ selectedExternalWalletId }),
107
+ setIsExternalWalletConnecting: (isExternalWalletConnecting) => set({ isExternalWalletConnecting }),
108
+ setExternalWalletError: (externalWalletError) => set({ externalWalletError }),
109
+ setIsUsingMobileConnector: (isUsingMobileConnector) => set({ isUsingMobileConnector }),
110
+ setStepDirection: (stepDirection) => set({ stepDirection }),
111
+ setFarcasterConnectUri: (farcasterConnectUri) => set({ farcasterConnectUri }),
112
+ setTwoFactorStatus: (twoFactorStatus) => set({ twoFactorStatus }),
113
+ setIFrameUrl: (iFrameUrl) => set({ iFrameUrl }),
114
+ setIsIFrameReady: (isIFrameReady) => set({ isIFrameReady }),
115
+ setAuthLayout: (authLayout) => {
116
+ const types = [];
117
+ const uniqueLayouts = [];
118
+ authLayout.map((layout) => {
119
+ const type = layout.split(":")[0];
120
+ if (!types.includes(type)) {
121
+ uniqueLayouts.push(layout);
122
+ types.push(type);
123
+ } else {
124
+ console.warn(`${layout} is a duplicate ${type} layout type. Please remove the duplicate type from your config.`);
125
+ }
126
+ });
127
+ set({ authLayout: uniqueLayouts });
128
+ },
129
+ setAuthStepRoute: (authStepRoute) => set({ authStepRoute }),
130
+ setIsPasskeySupported: (isPasskeySupported) => set({ isPasskeySupported }),
131
+ setAccountLinkOptions: (accountLinkOptions) => set({ accountLinkOptions })
132
+ });
133
+ export {
134
+ getActions
135
+ };
@@ -1,12 +1,14 @@
1
1
  import { ModalStep } from '../../utils/steps.js';
2
- import { OnRampConfig as OnRampConfigBase, OnRampPurchase, WalletType } from '@getpara/web-sdk';
3
- import { Tab as AddFundsTabType } from '../../components/AddFunds/AddFunds.js';
4
- import { AuthStateLogin, AuthStateSignup, AuthMethod, AuthState, AuthStateVerify } from '@getpara/core-sdk';
2
+ import { AuthStateLogin, AuthStateSignup, AuthState, AuthStateVerify, OnRampConfig as OnRampConfigBase, OnRampPurchase, TWalletType, Setup2faResponse, SupportedAccountLinks } from '@getpara/web-sdk';
3
+ import { Tab as AddFundsTabType } from '../../components/AddFunds/AddFundsContext.js';
5
4
  import { TAuthLayout } from '../../types/modalProps.js';
6
5
  import { MutableRefObject } from 'react';
7
- import { BiometricLocationHint, Setup2faResponse } from '@getpara/user-management-client';
8
- type Flow = AuthStateSignup['stage'] | AuthStateLogin['stage'] | 'account';
9
- type ActiveWallet = [string | undefined, WalletType | undefined];
6
+ export type Flow = AuthStateSignup['stage'] | AuthStateLogin['stage'] | 'account' | 'guest';
7
+ type ActiveWallet = [string | undefined, TWalletType | undefined];
8
+ export declare enum OnRampStep {
9
+ SETTINGS = 0,
10
+ PROVIDER = 1
11
+ }
10
12
  export type OnRampConfig = OnRampConfigBase & {
11
13
  testMode?: boolean;
12
14
  };
@@ -16,19 +18,18 @@ export interface OnModalStepChangeValue {
16
18
  canGoBack: boolean;
17
19
  }
18
20
  interface ModalState {
21
+ recoveryShare: string | null;
19
22
  step: ModalStep;
20
23
  stepDirection: 1 | -1;
21
24
  flow: Flow | undefined;
22
25
  authState: AuthState | undefined;
23
- webAuthURLForLogin: string | undefined;
24
- webAuthURLForCreate: string | undefined;
25
- passwordUrlForLogin: string | undefined;
26
- supportedAuthMethods: Set<AuthMethod>;
27
26
  onModalStepChange?: (value: OnModalStepChangeValue) => void | undefined;
28
27
  onRampConfig: OnRampConfig | undefined;
29
28
  onRampPurchase: Partial<OnRampPurchase> | undefined;
29
+ onRampStep: OnRampStep;
30
30
  isFullyLoggedIn: boolean;
31
31
  accountAddFundTab?: AddFundsTabType;
32
+ guestAddFundsTab?: AddFundsTabType;
32
33
  selectedExternalWalletId?: string;
33
34
  isUsingMobileConnector?: boolean;
34
35
  isExternalWalletConnecting?: boolean;
@@ -36,7 +37,6 @@ interface ModalState {
36
37
  activeWallet: ActiveWallet | undefined;
37
38
  farcasterConnectUri: string | undefined;
38
39
  twoFactorStatus: Setup2faResponse | undefined;
39
- biometricLocationHints: BiometricLocationHint[] | undefined;
40
40
  iFrameUrl: string | undefined;
41
41
  isIFrameReady: boolean | undefined;
42
42
  authLayout?: TAuthLayout[];
@@ -48,12 +48,16 @@ interface ModalState {
48
48
  timeout: number;
49
49
  } | null>;
50
50
  currentStep: MutableRefObject<ModalStep | null>;
51
+ telegramIFrame: MutableRefObject<HTMLIFrameElement | null>;
51
52
  };
52
53
  isPasskeySupported: boolean;
54
+ accountLinkOptions: SupportedAccountLinks;
53
55
  }
54
56
  export interface ModalActions {
55
57
  resetState: () => void;
58
+ setRecoveryShare: (recoveryShare: string | null) => void;
56
59
  setStep: (step: ModalStep) => void;
60
+ setGuestAddFundsTab: (tab?: AddFundsTabType | undefined) => void;
57
61
  decrementStep: () => void;
58
62
  hasPreviousStep: () => boolean;
59
63
  setFlow: (flow?: Flow) => void;
@@ -63,13 +67,10 @@ export interface ModalActions {
63
67
  getLoginState: () => AuthStateLogin | undefined;
64
68
  isLogin: () => boolean;
65
69
  isAccount: () => boolean;
66
- setSupportedAuthMethods: (authMethods: Set<AuthMethod>) => void;
67
- setWebAuthURLForLogin: (url?: string) => void;
68
- setWebAuthURLForCreate: (url?: string) => void;
69
- setPasswordUrlForLogin: (url?: string) => void;
70
70
  setOnModalStepChange: (fn?: (value: OnModalStepChangeValue) => void) => void;
71
71
  setOnRampConfig: (_: OnRampConfig | undefined) => void;
72
72
  setOnRampPurchase: (_: Partial<OnRampPurchase> | undefined) => void;
73
+ setOnRampStep: (_: OnRampStep) => void;
73
74
  setIsFullyLoggedIn: (isFullyLoggedIn: boolean) => void;
74
75
  setAccountAddFundTab: (accountAddFundTab?: AddFundsTabType) => void;
75
76
  setSelectedExternalWalletId: (id?: string) => void;
@@ -79,12 +80,12 @@ export interface ModalActions {
79
80
  setStepDirection: (stepDirection: 1 | -1) => void;
80
81
  setFarcasterConnectUri: (_: string | undefined) => void;
81
82
  setTwoFactorStatus: (twoFactorStatus?: Setup2faResponse) => void;
82
- setBiometricLocationHints: (_?: BiometricLocationHint[]) => void;
83
83
  setIFrameUrl: (_?: string) => void;
84
84
  setIsIFrameReady: (_?: boolean) => void;
85
85
  setAuthLayout: (authLayout: TAuthLayout[]) => void;
86
86
  setAuthStepRoute: (_?: ModalStep) => void;
87
87
  setIsPasskeySupported: (_: boolean) => void;
88
+ setAccountLinkOptions: (_: SupportedAccountLinks) => void;
88
89
  }
89
90
  export type ModalStore = ModalState & ModalActions;
90
91
  export declare const DEFAULT_MODAL_STATE: Omit<ModalState, 'step' | 'onRampConfig'>;
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ import {
3
+ __spreadValues
4
+ } from "../../../chunk-MMUBH76A.js";
5
+ import { create } from "zustand";
6
+ import { persist, createJSONStorage } from "zustand/middleware";
7
+ import { ModalStep } from "../../utils/steps.js";
8
+ import { getActions } from "./actions.js";
9
+ import {
10
+ LINKED_ACCOUNT_TYPES
11
+ } from "@getpara/web-sdk";
12
+ import { AuthLayout } from "../../types/modalProps.js";
13
+ import { createRef } from "react";
14
+ var OnRampStep = /* @__PURE__ */ ((OnRampStep2) => {
15
+ OnRampStep2[OnRampStep2["SETTINGS"] = 0] = "SETTINGS";
16
+ OnRampStep2[OnRampStep2["PROVIDER"] = 1] = "PROVIDER";
17
+ return OnRampStep2;
18
+ })(OnRampStep || {});
19
+ const DEFAULT_MODAL_STATE = {
20
+ recoveryShare: null,
21
+ flow: void 0,
22
+ stepDirection: 1,
23
+ authState: void 0,
24
+ onModalStepChange: void 0,
25
+ onRampPurchase: void 0,
26
+ onRampStep: 0 /* SETTINGS */,
27
+ isFullyLoggedIn: false,
28
+ accountAddFundTab: void 0,
29
+ guestAddFundsTab: void 0,
30
+ isExternalWalletConnecting: false,
31
+ externalWalletError: void 0,
32
+ activeWallet: [void 0, void 0],
33
+ farcasterConnectUri: void 0,
34
+ twoFactorStatus: void 0,
35
+ iFrameUrl: void 0,
36
+ isIFrameReady: void 0,
37
+ authLayout: [AuthLayout.AUTH_FULL, AuthLayout.EXTERNAL_FULL],
38
+ authStepRoute: void 0,
39
+ refs: {
40
+ popupWindow: createRef(),
41
+ poll: createRef(),
42
+ currentStep: createRef(),
43
+ telegramIFrame: createRef()
44
+ },
45
+ isPasskeySupported: true,
46
+ accountLinkOptions: [...LINKED_ACCOUNT_TYPES]
47
+ };
48
+ const useModalStore = create()(
49
+ persist(
50
+ (set, get) => __spreadValues(__spreadValues({
51
+ step: ModalStep.AUTH_MAIN,
52
+ onRampConfig: void 0
53
+ }, DEFAULT_MODAL_STATE), getActions(set, get)),
54
+ {
55
+ version: 1,
56
+ name: "@PARA/modalState",
57
+ storage: createJSONStorage(() => localStorage),
58
+ partialize: (state) => ({
59
+ step: state.step,
60
+ authState: state.authState,
61
+ onRampPurchase: state.onRampPurchase,
62
+ selectedExternalWalletId: state.selectedExternalWalletId,
63
+ isUsingMobileConnector: state.isUsingMobileConnector,
64
+ isPasskeySupported: state.isPasskeySupported
65
+ })
66
+ }
67
+ )
68
+ );
69
+ export {
70
+ DEFAULT_MODAL_STATE,
71
+ OnRampStep,
72
+ useModalStore
73
+ };
@@ -0,0 +1 @@
1
+ "use client";
@@ -1,4 +1,4 @@
1
- import ParaWeb, { CurrentWalletIds, OAuthMethod } from '@getpara/web-sdk';
1
+ import ParaWeb, { CurrentWalletIds, SupportedAccountLinks, TOAuthMethod } from '@getpara/web-sdk';
2
2
  import { Theme } from '@getpara/react-components';
3
3
  import { OnModalStepChangeValue } from '../stores/index.js';
4
4
  import { ModalStep, ModalStepProp } from '../utils/steps.js';
@@ -54,7 +54,7 @@ export interface ParaModalProps {
54
54
  * Which OAuth methods (if any) to show.
55
55
  * Defaults to `true`.
56
56
  */
57
- oAuthMethods?: OAuthMethod[];
57
+ oAuthMethods?: TOAuthMethod[];
58
58
  /**
59
59
  * Whether or not to allow for email login. If true, only OAuth login will be available.
60
60
  * Defaults to `false`.
@@ -100,6 +100,10 @@ export interface ParaModalProps {
100
100
  * Default to [AuthLayout.AUTH_FULL, AuthLayout.EXTERNAL_FULL]
101
101
  */
102
102
  authLayout?: TAuthLayout[];
103
+ /**
104
+ * Default email or phone number (formatted like: +15555555555) to pre-populate the input field.
105
+ */
106
+ defaultAuthIdentifier?: string;
103
107
  /**
104
108
  * Called when the modal step changes
105
109
  */
@@ -108,9 +112,18 @@ export interface ParaModalProps {
108
112
  * Called when the modal is closed
109
113
  */
110
114
  onClose?: () => void;
115
+ /**
116
+ * Whether to enable guest login. A guest user will be provisioned embedded wallets that they will then claim upon signing up through your app.
117
+ */
118
+ isGuestModeEnabled?: boolean;
111
119
  loginTransitionOverride?: (para: ParaWeb) => Promise<void>;
112
120
  createWalletOverride?: (para: ParaWeb) => Promise<{
113
121
  recoverySecret?: string;
114
122
  walletIds: CurrentWalletIds;
115
123
  }>;
124
+ /**
125
+ * Which external accounts or wallets to allow your users to link to their accounts. The accounts will be displayed in this order in the modal account screen.
126
+ * If not provided, will default to your Developer Portal configuration or to all available account types.
127
+ */
128
+ supportedAccountLinks?: SupportedAccountLinks;
116
129
  }
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ var AuthLayout = /* @__PURE__ */ ((AuthLayout2) => {
4
+ AuthLayout2["AUTH_FULL"] = "AUTH:FULL";
5
+ AuthLayout2["AUTH_CONDENSED"] = "AUTH:CONDENSED";
6
+ AuthLayout2["EXTERNAL_FULL"] = "EXTERNAL:FULL";
7
+ AuthLayout2["EXTERNAL_CONDENSED"] = "EXTERNAL:CONDENSED";
8
+ return AuthLayout2;
9
+ })(AuthLayout || {});
10
+ export {
11
+ AuthLayout
12
+ };
@@ -0,0 +1,5 @@
1
+ import { Auth } from '@getpara/user-management-client';
2
+ import countryCodes from './countryCodes.js';
3
+ export declare function isCcMatch(countryCode: string, option: (typeof countryCodes)[number]): boolean;
4
+ export declare function validateAuth(auth: Auth<'email' | 'phone'>): Auth<'email' | 'phone'>;
5
+ export declare function validateInput(identifier: string, countryCode?: string, type?: 'email' | 'phone'): Auth<"email" | "phone">;
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ import { EMAIL_REGEX } from "../constants/constants.js";
4
+ import { formatPhoneNumber } from "@getpara/web-sdk";
5
+ function isCcMatch(countryCode, option) {
6
+ return countryCode === "+1" ? option.selectedLabel === "US" : option.value === countryCode;
7
+ }
8
+ function validateAuth(auth) {
9
+ switch (true) {
10
+ case "email" in auth:
11
+ if (!EMAIL_REGEX.test(auth.email)) {
12
+ throw new Error("Please enter a valid email address!");
13
+ }
14
+ break;
15
+ case "phone" in auth:
16
+ {
17
+ if (!/^\+1\d{3}555\d{4}$/.test(auth.phone)) {
18
+ const formatted = formatPhoneNumber(auth.phone);
19
+ if (!formatted) {
20
+ throw new Error("Please enter a valid phone number!");
21
+ }
22
+ }
23
+ }
24
+ break;
25
+ }
26
+ return auth;
27
+ }
28
+ function validateInput(identifier, countryCode, type) {
29
+ const isEmail = type === "email";
30
+ const isPhone = type === "phone";
31
+ const auth = isEmail ? { email: identifier } : isPhone ? { phone: `${countryCode}${identifier}` } : void 0;
32
+ if (!auth) {
33
+ throw new Error("Please enter a valid email or phone number!");
34
+ }
35
+ return validateAuth(auth);
36
+ }
37
+ export {
38
+ isCcMatch,
39
+ validateAuth,
40
+ validateInput
41
+ };
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ const hasExternalWallet = (authLayout) => authLayout.find((layout) => layout.includes("EXTERNAL"));
4
+ const hasEmbeddedAuth = (authLayout) => authLayout.find((layout) => layout.includes("AUTH"));
5
+ export {
6
+ hasEmbeddedAuth,
7
+ hasExternalWallet
8
+ };
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ import { getCountries, getCountryCallingCode } from "libphonenumber-js";
4
+ const excludedCountries = [
5
+ "AC",
6
+ "CG",
7
+ "CI",
8
+ "CV",
9
+ "GF",
10
+ "GP",
11
+ "MF",
12
+ "NC",
13
+ "PM",
14
+ "RE",
15
+ "SD",
16
+ "SH",
17
+ "SJ",
18
+ "TA",
19
+ "VA",
20
+ "WF",
21
+ "XK",
22
+ "YT"
23
+ ];
24
+ const generateCountryCodes = () => {
25
+ const countries = getCountries();
26
+ const countryList = countries.filter((country) => !excludedCountries.includes(country)).map((country) => {
27
+ const countryCode = getCountryCallingCode(country);
28
+ const countryName = new Intl.DisplayNames(["en"], { type: "region" }).of(country);
29
+ return {
30
+ label: countryName != null ? countryName : "",
31
+ value: `+${countryCode}`,
32
+ selectedLabel: country,
33
+ icon: country
34
+ };
35
+ }).sort((a, b) => {
36
+ var _a, _b;
37
+ return ((_a = a.label) != null ? _a : "").localeCompare((_b = b.label) != null ? _b : "");
38
+ });
39
+ return countryList;
40
+ };
41
+ const countryCodes = generateCountryCodes();
42
+ var countryCodes_default = countryCodes;
43
+ export {
44
+ countryCodes_default as default
45
+ };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ function getMailtoLink(email, recoveryShare) {
4
+ const emailBody = `Hello,%0D%0DBelow is your Para Recovery Secret. Keep this safe!%0D%0D${recoveryShare}%0D%0DPlease get in touch via support@getpara.com if you have any questions`;
5
+ const mailText = `mailto:${email}?subject=Para%20Recovery%20Secret&body=${emailBody}`;
6
+ return mailText;
7
+ }
8
+ export {
9
+ getMailtoLink
10
+ };
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import "../../chunk-MMUBH76A.js";
3
+ const getTileButtonFlex = (index, totalItems) => {
4
+ const gapOffset = 8 - 8 * 0.333;
5
+ if (totalItems < 2) {
6
+ return "1 1 auto";
7
+ }
8
+ if (totalItems % 3 === 0) {
9
+ return `0 0 calc(33.333333% - ${gapOffset}px)`;
10
+ }
11
+ if (totalItems % 3 === 1) {
12
+ return index < 4 ? "0 0 calc(50% - 4px)" : `0 0 calc(33.333333% - ${gapOffset}px)`;
13
+ }
14
+ if (totalItems % 3 === 2) {
15
+ return index < 2 ? "0 0 calc(50% - 4px)" : `0 0 calc(33.333333% - ${gapOffset}px)`;
16
+ }
17
+ };
18
+ export {
19
+ getTileButtonFlex
20
+ };