@privy-io/react-auth 2.0.0 → 2.0.2-beta-20250113205957

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 (159) hide show
  1. package/dist/cjs/client.js +1 -1
  2. package/dist/cjs/components/ModalFooter.js +2 -2
  3. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordForm.js +1 -1
  4. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordSaved.js +1 -1
  5. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/CreateWalletPassword.js +1 -1
  6. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/SaveWalletPassword.js +1 -1
  7. package/dist/cjs/components/embedded-wallets/SetWalletPasswordForm/SetWalletPasswordComplete.js +1 -1
  8. package/dist/cjs/config.js +1 -1
  9. package/dist/cjs/connectors/embeddedProvider.js +1 -1
  10. package/dist/cjs/connectors/index.js +1 -1
  11. package/dist/cjs/constants.js +1 -1
  12. package/dist/cjs/embedded-wallets/EmbeddedWalletIframe.js +1 -1
  13. package/dist/cjs/embedded-wallets/solana/provider.js +1 -1
  14. package/dist/cjs/hooks/internal-context.js +1 -1
  15. package/dist/cjs/hooks/privy-provider.js +1 -1
  16. package/dist/cjs/hooks/solana/useSolanaWallets.js +1 -1
  17. package/dist/cjs/index.js +1 -1
  18. package/dist/cjs/privy-components/user-pill/UserMenu.js +1 -1
  19. package/dist/cjs/privy-provider-D7-K5Evv.js +3 -0
  20. package/dist/cjs/screens/AccountTransferScreen/EmbeddedWalletInfoView.js +1 -1
  21. package/dist/cjs/screens/AccountTransferScreen/LinkConflictScreen.js +1 -1
  22. package/dist/cjs/screens/AffirmativeConsentScreen.js +1 -1
  23. package/dist/cjs/screens/AwaitingPasswordlessCodeScreen.js +1 -1
  24. package/dist/cjs/screens/CaptchaScreen.js +1 -1
  25. package/dist/cjs/screens/ConnectOnlyAuthenticatedScreen.js +1 -1
  26. package/dist/cjs/screens/ConnectOnlyLandingScreen.js +1 -1
  27. package/dist/cjs/screens/ConnectOnlyStatusScreen.js +1 -1
  28. package/dist/cjs/screens/ConnectionStatusScreen.js +1 -1
  29. package/dist/cjs/screens/CrossAppAuthScreen.js +1 -1
  30. package/dist/cjs/screens/DelegatedActionsConsentScreen.js +1 -1
  31. package/dist/cjs/screens/DelegatedActionsRevokeScreen.js +1 -1
  32. package/dist/cjs/screens/EmbeddedWalletCreatedScreen.js +1 -1
  33. package/dist/cjs/screens/EmbeddedWalletKeyExportScreen.js +1 -1
  34. package/dist/cjs/screens/EmbeddedWalletPasswordUpdateSplashScreen.js +1 -1
  35. package/dist/cjs/screens/FarcasterConnectStatusScreen.js +1 -1
  36. package/dist/cjs/screens/FarcasterSignerStatusScreen.js +1 -1
  37. package/dist/cjs/screens/Funding/AwaitingEvmToSolBridgingScreen.js +1 -1
  38. package/dist/cjs/screens/Funding/AwaitingExternalSolanaTransferScreen.js +1 -1
  39. package/dist/cjs/screens/Funding/AwaitingExternalTransferScreen.js +1 -1
  40. package/dist/cjs/screens/Funding/AwaitingSolToEvmBridgingScreen.js +1 -1
  41. package/dist/cjs/screens/Funding/BridgeNetworkSelectionView.js +1 -1
  42. package/dist/cjs/screens/Funding/CoinbaseOnrampStatusScreen.js +1 -1
  43. package/dist/cjs/screens/Funding/FundingEditAmountScreen.js +1 -1
  44. package/dist/cjs/screens/Funding/FundingMethodSelectionScreen.js +1 -1
  45. package/dist/cjs/screens/Funding/ManualTransferScreen.js +1 -1
  46. package/dist/cjs/screens/Funding/MoonpayStatusScreen.js +1 -1
  47. package/dist/cjs/screens/Funding/TransferFromWalletScreen.js +1 -1
  48. package/dist/cjs/screens/Funding/TransferOrBridgeLoadingScreen.js +1 -1
  49. package/dist/cjs/screens/Funding/styles.js +1 -1
  50. package/dist/cjs/screens/InAppBrowserLoginNotPossible.js +1 -1
  51. package/dist/cjs/screens/InstallPhantomScreen.js +1 -1
  52. package/dist/cjs/screens/LandingScreen/CustomLandingScreenView.js +1 -1
  53. package/dist/cjs/screens/LandingScreen/LandingScreenView.js +1 -1
  54. package/dist/cjs/screens/LinkPasskeyScreen.js +1 -1
  55. package/dist/cjs/screens/LinkWalletScreen.js +1 -1
  56. package/dist/cjs/screens/LoginFailedScreen.js +1 -1
  57. package/dist/cjs/screens/MfaScreens/EnrollLandingScreen.js +1 -1
  58. package/dist/cjs/screens/MfaScreens/EnrollPasskey.js +1 -1
  59. package/dist/cjs/screens/MfaScreens/EnrollTotp.js +1 -1
  60. package/dist/cjs/screens/MfaScreens/MfaEnrollmentFlowScreen.js +1 -1
  61. package/dist/cjs/screens/MfaScreens/MfaVerifyFlowScreen.js +1 -1
  62. package/dist/cjs/screens/MfaScreens/VerifyWithPasskey.js +1 -1
  63. package/dist/cjs/screens/OAuthStatusScreen.js +1 -1
  64. package/dist/cjs/screens/PasskeySelectSignupOrLogin.js +1 -1
  65. package/dist/cjs/screens/PasskeyStatusScreen.js +1 -1
  66. package/dist/cjs/screens/PhantomInterstitialScreen.js +1 -1
  67. package/dist/cjs/screens/Recovery/PasswordRecoveryScreen.js +1 -1
  68. package/dist/cjs/screens/Recovery/RecoveryOAuthStatusScreen.js +1 -1
  69. package/dist/cjs/screens/Recovery/RecoverySelectionScreen.js +1 -1
  70. package/dist/cjs/screens/Recovery/SetAutomaticRecoveryScreen.js +1 -1
  71. package/dist/cjs/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.js +1 -1
  72. package/dist/cjs/screens/SendTransactionScreen/SendTransactionScreenView.js +1 -1
  73. package/dist/cjs/screens/SendTransactionScreen/TransactionErrorView.js +1 -1
  74. package/dist/cjs/screens/SendTransactionScreen/TransactionReceiptView.js +1 -1
  75. package/dist/cjs/screens/SignRequestScreen.js +1 -1
  76. package/dist/cjs/screens/TelegramAuthScreen.js +1 -1
  77. package/dist/cjs/screens/UpdateEmailScreen.js +1 -1
  78. package/dist/cjs/screens/UserLimitReachedScreen.js +1 -1
  79. package/dist/esm/client.mjs +1 -1
  80. package/dist/esm/components/ModalFooter.mjs +2 -2
  81. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordForm.mjs +1 -1
  82. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/ConfimWalletPasswordSaved.mjs +1 -1
  83. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/CreateWalletPassword.mjs +1 -1
  84. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/SaveWalletPassword.mjs +1 -1
  85. package/dist/esm/components/embedded-wallets/SetWalletPasswordForm/SetWalletPasswordComplete.mjs +1 -1
  86. package/dist/esm/config.mjs +1 -1
  87. package/dist/esm/connectors/embeddedProvider.mjs +1 -1
  88. package/dist/esm/connectors/index.mjs +1 -1
  89. package/dist/esm/constants.mjs +1 -1
  90. package/dist/esm/embedded-wallets/EmbeddedWalletIframe.mjs +1 -1
  91. package/dist/esm/embedded-wallets/solana/provider.mjs +1 -1
  92. package/dist/esm/hooks/internal-context.mjs +1 -1
  93. package/dist/esm/hooks/privy-provider.mjs +1 -1
  94. package/dist/esm/hooks/solana/useSolanaWallets.mjs +1 -1
  95. package/dist/esm/index.mjs +1 -1
  96. package/dist/esm/privy-components/user-pill/UserMenu.mjs +1 -1
  97. package/dist/esm/privy-provider-BJjKUtkR.mjs +3 -0
  98. package/dist/esm/screens/AccountTransferScreen/EmbeddedWalletInfoView.mjs +1 -1
  99. package/dist/esm/screens/AccountTransferScreen/LinkConflictScreen.mjs +1 -1
  100. package/dist/esm/screens/AffirmativeConsentScreen.mjs +1 -1
  101. package/dist/esm/screens/AwaitingPasswordlessCodeScreen.mjs +1 -1
  102. package/dist/esm/screens/CaptchaScreen.mjs +1 -1
  103. package/dist/esm/screens/ConnectOnlyAuthenticatedScreen.mjs +1 -1
  104. package/dist/esm/screens/ConnectOnlyLandingScreen.mjs +1 -1
  105. package/dist/esm/screens/ConnectOnlyStatusScreen.mjs +1 -1
  106. package/dist/esm/screens/ConnectionStatusScreen.mjs +1 -1
  107. package/dist/esm/screens/CrossAppAuthScreen.mjs +1 -1
  108. package/dist/esm/screens/DelegatedActionsConsentScreen.mjs +1 -1
  109. package/dist/esm/screens/DelegatedActionsRevokeScreen.mjs +1 -1
  110. package/dist/esm/screens/EmbeddedWalletCreatedScreen.mjs +1 -1
  111. package/dist/esm/screens/EmbeddedWalletKeyExportScreen.mjs +1 -1
  112. package/dist/esm/screens/EmbeddedWalletPasswordUpdateSplashScreen.mjs +1 -1
  113. package/dist/esm/screens/FarcasterConnectStatusScreen.mjs +1 -1
  114. package/dist/esm/screens/FarcasterSignerStatusScreen.mjs +1 -1
  115. package/dist/esm/screens/Funding/AwaitingEvmToSolBridgingScreen.mjs +1 -1
  116. package/dist/esm/screens/Funding/AwaitingExternalSolanaTransferScreen.mjs +1 -1
  117. package/dist/esm/screens/Funding/AwaitingExternalTransferScreen.mjs +1 -1
  118. package/dist/esm/screens/Funding/AwaitingSolToEvmBridgingScreen.mjs +1 -1
  119. package/dist/esm/screens/Funding/BridgeNetworkSelectionView.mjs +1 -1
  120. package/dist/esm/screens/Funding/CoinbaseOnrampStatusScreen.mjs +1 -1
  121. package/dist/esm/screens/Funding/FundingEditAmountScreen.mjs +1 -1
  122. package/dist/esm/screens/Funding/FundingMethodSelectionScreen.mjs +1 -1
  123. package/dist/esm/screens/Funding/ManualTransferScreen.mjs +1 -1
  124. package/dist/esm/screens/Funding/MoonpayStatusScreen.mjs +1 -1
  125. package/dist/esm/screens/Funding/TransferFromWalletScreen.mjs +1 -1
  126. package/dist/esm/screens/Funding/TransferOrBridgeLoadingScreen.mjs +1 -1
  127. package/dist/esm/screens/Funding/styles.mjs +1 -1
  128. package/dist/esm/screens/InAppBrowserLoginNotPossible.mjs +1 -1
  129. package/dist/esm/screens/InstallPhantomScreen.mjs +1 -1
  130. package/dist/esm/screens/LandingScreen/CustomLandingScreenView.mjs +1 -1
  131. package/dist/esm/screens/LandingScreen/LandingScreenView.mjs +1 -1
  132. package/dist/esm/screens/LinkPasskeyScreen.mjs +1 -1
  133. package/dist/esm/screens/LinkWalletScreen.mjs +1 -1
  134. package/dist/esm/screens/LoginFailedScreen.mjs +1 -1
  135. package/dist/esm/screens/MfaScreens/EnrollLandingScreen.mjs +1 -1
  136. package/dist/esm/screens/MfaScreens/EnrollPasskey.mjs +1 -1
  137. package/dist/esm/screens/MfaScreens/EnrollTotp.mjs +1 -1
  138. package/dist/esm/screens/MfaScreens/MfaEnrollmentFlowScreen.mjs +1 -1
  139. package/dist/esm/screens/MfaScreens/MfaVerifyFlowScreen.mjs +1 -1
  140. package/dist/esm/screens/MfaScreens/VerifyWithPasskey.mjs +1 -1
  141. package/dist/esm/screens/OAuthStatusScreen.mjs +1 -1
  142. package/dist/esm/screens/PasskeySelectSignupOrLogin.mjs +1 -1
  143. package/dist/esm/screens/PasskeyStatusScreen.mjs +1 -1
  144. package/dist/esm/screens/PhantomInterstitialScreen.mjs +1 -1
  145. package/dist/esm/screens/Recovery/PasswordRecoveryScreen.mjs +1 -1
  146. package/dist/esm/screens/Recovery/RecoveryOAuthStatusScreen.mjs +1 -1
  147. package/dist/esm/screens/Recovery/RecoverySelectionScreen.mjs +1 -1
  148. package/dist/esm/screens/Recovery/SetAutomaticRecoveryScreen.mjs +1 -1
  149. package/dist/esm/screens/SendSolanaTransactionScreen/SolanaTransactionReceiptView.mjs +1 -1
  150. package/dist/esm/screens/SendTransactionScreen/SendTransactionScreenView.mjs +1 -1
  151. package/dist/esm/screens/SendTransactionScreen/TransactionErrorView.mjs +1 -1
  152. package/dist/esm/screens/SendTransactionScreen/TransactionReceiptView.mjs +1 -1
  153. package/dist/esm/screens/SignRequestScreen.mjs +1 -1
  154. package/dist/esm/screens/TelegramAuthScreen.mjs +1 -1
  155. package/dist/esm/screens/UpdateEmailScreen.mjs +1 -1
  156. package/dist/esm/screens/UserLimitReachedScreen.mjs +1 -1
  157. package/package.json +3 -3
  158. package/dist/cjs/privy-provider-DXnhMoDn.js +0 -3
  159. package/dist/esm/privy-provider-DuspKKia.mjs +0 -3
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/UserCircleIcon";import{useState as r,useEffect as s}from"react";import{styled as n}from"styled-components";import{TermsAndConditions as m,BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{useAppConfig as c}from"../../configuration/context.mjs";import{usePrivyInternal as l}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as d}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as h}from"../../recent-login/context.mjs";import{splitAtIndex as g}from"../../utils/index.mjs";import{AppLogoHeader as f}from"./AppLogoHeader.mjs";import{CrossAppButton as u}from"./CrossAppButton.mjs";import{EmailButton as v}from"./EmailButton.mjs";import{FarcasterButton as y}from"./FarcasterButton.mjs";import{PasskeyLink as b}from"./PasskeyLink.mjs";import{SmsButton as w}from"./SmsButton.mjs";import{SocialButton as k}from"./SocialButton.mjs";import{TelegramButton as x}from"./TelegramButton.mjs";import{toWalletButtons as C}from"./WalletButtonList.mjs";import{Web2OverflowButton as M}from"./Web2OverflowButton.mjs";import{Subtitle as I,AlignBottom as A,LoginMethodContainerWithScrollShadows as E}from"./styles.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../components/AppLogo.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../svg/farcaster.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"@privy-io/js-sdk-core";import"../../components/PhoneCountryDropdown.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"../../svg/telegram.mjs";import"./EmptyWalletView.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";let L=o=>`${o.props.provider}:${o.props.displayName}`;const S=({connectOnly:n})=>{let{closePrivyModal:f,connectors:S}=l(),{app:W,onUserCloseViaDialogOrKeybindRef:O,data:F}=j(),{appearance:{palette:{colorScheme:P}}}=c(),{accountType:H,walletClientType:z,chainType:V}=h(),D=H?d(H):null,R=W.loginMethodsAndOrder?.primary??[],$=W.loginMethodsAndOrder?.overflow??[],N=[...R,...$],U=W.loginMethods.passkey,K=F?.login,Q=[];z&&N.includes(z)?Q.push(z):H&&N.includes(D?.loginMethod)&&Q.push(D?.loginMethod);let[X,Y]=r("default"),[q,G]=r("phone"===H?"sms":"email");s((()=>{"phone"===H&&G("sms");let o=N.indexOf("sms"),t=N.indexOf("email");o>-1&&o<t&&G("sms")}),[H,R,$]);let J=()=>{f({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{Y("default")}),150)};O.current=J;let Z=o=>"email"===o?/*#__PURE__*/e(v,{isEditable:"email"===q,setIsEditable:()=>{G("email")},defaultValue:"email"===K?.prefill?.type?K.prefill.value:void 0},o):"sms"===o?/*#__PURE__*/e(w,{isEditable:"sms"===q,setIsEditable:()=>{G("sms")},defaultValue:"phone"===K?.prefill?.type?K.prefill.value:void 0},o):"apple"===o?/*#__PURE__*/e(k,{provider:"apple"},o):"discord"===o?/*#__PURE__*/e(k,{provider:"discord"},o):"farcaster"===o?/*#__PURE__*/e(y,{},o):"github"===o?/*#__PURE__*/e(k,{provider:"github"},o):"google"===o?/*#__PURE__*/e(k,{provider:"google"},o):"linkedin"===o?/*#__PURE__*/e(k,{provider:"linkedin"},o):"spotify"===o?/*#__PURE__*/e(k,{provider:"spotify"},o):"instagram"===o?/*#__PURE__*/e(k,{provider:"instagram"},o):"tiktok"===o?/*#__PURE__*/e(k,{provider:"tiktok"},o):"twitter"===o?/*#__PURE__*/e(k,{provider:"twitter"},o):"telegram"===o?/*#__PURE__*/e(x,{},o):o.startsWith("privy:")?/*#__PURE__*/e(u,{appId:o.replace("privy:","")},o):C({walletList:W.appearance.walletList,walletChainType:W.appearance.walletChainType,connectors:S,connectOnly:n,ignore:[],walletConnectEnabled:W.externalWallets.walletConnect.enabled,forceWallet:{wallet:o,chainType:V??"ethereum"}}),_=Q.flatMap(Z),oo=R.filter((o=>o!==z&&o!==D?.loginMethod)).flatMap(Z),to=$.filter((o=>o!==z&&o!==D?.loginMethod)).flatMap(Z),eo=to.filter((o=>!oo.map(L).includes(L(o)))),[io,ro]=g([..._,...oo,...eo],T({primary:oo.length+_.length,overflow:to.length}));/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(a,{title:W.appearance.landingHeader,onClose:J,backFn:"default"===X?void 0:()=>{Y("default")}}),"default"===X&&/*#__PURE__*/e(B,{}),"default"===X&&("string"==typeof W.appearance.loginMessage?/*#__PURE__*/e(I,{children:W.appearance.loginMessage}):W.appearance.loginMessage),/*#__PURE__*/e(A,{style:{overflow:"hidden"},children:/*#__PURE__*/o(E,{$colorScheme:P,style:{maxHeight:400,overflowY:"scroll",padding:2},children:["default"===X&&/*#__PURE__*/o(t,{children:[io,ro.length>0&&/*#__PURE__*/e(M,{text:"More options",icon:/*#__PURE__*/e(i,{}),onClick:()=>Y("overflow")})]}),"overflow"===X&&/*#__PURE__*/e(t,{children:ro}),U&&"default"===X&&/*#__PURE__*/e(b,{})]})}),W&&/*#__PURE__*/e(m,{app:W}),/*#__PURE__*/e(p,{})]})};let T=({primary:o,overflow:t})=>o<5?o:5===o&&0===t?5:4,B=/*#__PURE__*/n(f).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-5bf511fb-0"})(["margin-bottom:16px;"]);export{S as CustomLandingScreenView};
1
+ import{jsxs as o,Fragment as t,jsx as e}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/UserCircleIcon";import{useState as r,useEffect as s}from"react";import{styled as n}from"styled-components";import{TermsAndConditions as m,BlobbyFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{useAppConfig as c}from"../../configuration/context.mjs";import{usePrivyInternal as l}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as d}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as h}from"../../recent-login/context.mjs";import{splitAtIndex as g}from"../../utils/index.mjs";import{AppLogoHeader as f}from"./AppLogoHeader.mjs";import{CrossAppButton as u}from"./CrossAppButton.mjs";import{EmailButton as v}from"./EmailButton.mjs";import{FarcasterButton as y}from"./FarcasterButton.mjs";import{PasskeyLink as b}from"./PasskeyLink.mjs";import{SmsButton as w}from"./SmsButton.mjs";import{SocialButton as k}from"./SocialButton.mjs";import{TelegramButton as x}from"./TelegramButton.mjs";import{toWalletButtons as C}from"./WalletButtonList.mjs";import{Web2OverflowButton as M}from"./Web2OverflowButton.mjs";import{Subtitle as I,AlignBottom as A,LoginMethodContainerWithScrollShadows as E}from"./styles.mjs";import"../../svg/protected-by-privy.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../components/AppLogo.mjs";import"../../components/Loader.mjs";import"../../components/ProviderAppLogo.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/outline/EnvelopeIcon";import"../../components/ConnectEmailForm.mjs";import"../../hooks/captcha-context.mjs";import"../../components/Button.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../svg/farcaster.mjs";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ConnectPhoneForm.mjs";import"@privy-io/js-sdk-core";import"../../components/PhoneCountryDropdown.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"../../svg/telegram.mjs";import"./EmptyWalletView.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";let L=o=>`${o.props.provider}:${o.props.displayName}`;const S=({connectOnly:n})=>{let{closePrivyModal:f,connectors:S}=l(),{app:W,onUserCloseViaDialogOrKeybindRef:O,data:F}=j(),{appearance:{palette:{colorScheme:P}}}=c(),{accountType:H,walletClientType:z,chainType:V}=h(),D=H?d(H):null,R=W.loginMethodsAndOrder?.primary??[],$=W.loginMethodsAndOrder?.overflow??[],N=[...R,...$],U=W.loginMethods.passkey,K=F?.login,Q=[];z&&N.includes(z)?Q.push(z):H&&N.includes(D?.loginMethod)&&Q.push(D?.loginMethod);let[X,Y]=r("default"),[q,G]=r("phone"===H?"sms":"email");s((()=>{"phone"===H&&G("sms");let o=N.indexOf("sms"),t=N.indexOf("email");o>-1&&o<t&&G("sms")}),[H,R,$]);let J=()=>{f({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{Y("default")}),150)};O.current=J;let Z=o=>"email"===o?/*#__PURE__*/e(v,{isEditable:"email"===q,setIsEditable:()=>{G("email")},defaultValue:"email"===K?.prefill?.type?K.prefill.value:void 0},o):"sms"===o?/*#__PURE__*/e(w,{isEditable:"sms"===q,setIsEditable:()=>{G("sms")},defaultValue:"phone"===K?.prefill?.type?K.prefill.value:void 0},o):"apple"===o?/*#__PURE__*/e(k,{provider:"apple"},o):"discord"===o?/*#__PURE__*/e(k,{provider:"discord"},o):"farcaster"===o?/*#__PURE__*/e(y,{},o):"github"===o?/*#__PURE__*/e(k,{provider:"github"},o):"google"===o?/*#__PURE__*/e(k,{provider:"google"},o):"linkedin"===o?/*#__PURE__*/e(k,{provider:"linkedin"},o):"spotify"===o?/*#__PURE__*/e(k,{provider:"spotify"},o):"instagram"===o?/*#__PURE__*/e(k,{provider:"instagram"},o):"tiktok"===o?/*#__PURE__*/e(k,{provider:"tiktok"},o):"twitter"===o?/*#__PURE__*/e(k,{provider:"twitter"},o):"telegram"===o?/*#__PURE__*/e(x,{},o):o.startsWith("privy:")?/*#__PURE__*/e(u,{appId:o.replace("privy:","")},o):C({walletList:W.appearance.walletList,walletChainType:W.appearance.walletChainType,connectors:S,connectOnly:n,ignore:[],walletConnectEnabled:W.externalWallets.walletConnect.enabled,forceWallet:{wallet:o,chainType:V??"ethereum"}}),_=Q.flatMap(Z),oo=R.filter((o=>o!==z&&o!==D?.loginMethod)).flatMap(Z),to=$.filter((o=>o!==z&&o!==D?.loginMethod)).flatMap(Z),eo=to.filter((o=>!oo.map(L).includes(L(o)))),[io,ro]=g([..._,...oo,...eo],T({primary:oo.length+_.length,overflow:to.length}));/*#__PURE__*/return o(t,{children:[/*#__PURE__*/e(a,{title:W.appearance.landingHeader,onClose:J,backFn:"default"===X?void 0:()=>{Y("default")}}),"default"===X&&/*#__PURE__*/e(B,{}),"default"===X&&("string"==typeof W.appearance.loginMessage?/*#__PURE__*/e(I,{children:W.appearance.loginMessage}):W.appearance.loginMessage),/*#__PURE__*/e(A,{style:{overflow:"hidden"},children:/*#__PURE__*/o(E,{$colorScheme:P,style:{maxHeight:400,overflowY:"scroll",padding:2},children:["default"===X&&/*#__PURE__*/o(t,{children:[io,ro.length>0&&/*#__PURE__*/e(M,{text:"More options",icon:/*#__PURE__*/e(i,{}),onClick:()=>Y("overflow")})]}),"overflow"===X&&/*#__PURE__*/e(t,{children:ro}),U&&"default"===X&&/*#__PURE__*/e(b,{})]})}),W&&/*#__PURE__*/e(m,{app:W}),/*#__PURE__*/e(p,{})]})};let T=({primary:o,overflow:t})=>o<5?o:5===o&&0===t?5:4,B=/*#__PURE__*/n(f).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-5bf511fb-0"})(["margin-bottom:16px;"]);export{S as CustomLandingScreenView};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/EnvelopeIcon";import r from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/UserCircleIcon";import{useMemo as n,useState as m,useEffect as l}from"react";import{styled as a}from"styled-components";import{toObjectKeys as p}from"@privy-io/js-sdk-core";import{TermsAndConditions as c,BlobbyFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as g}from"../../components/ModalHeader.mjs";import{useAppConfig as d}from"../../configuration/context.mjs";import{usePrivyInternal as j}from"../../hooks/internal-context.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as u}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as y}from"../../recent-login/context.mjs";import{EmailOrPhone as w}from"../../svg/email-or-phone.mjs";import{AppLogoHeader as v}from"./AppLogoHeader.mjs";import{EmailButton as b}from"./EmailButton.mjs";import{EmptyWalletView as k}from"./EmptyWalletView.mjs";import{FarcasterButton as C}from"./FarcasterButton.mjs";import{PasskeyLink as T}from"./PasskeyLink.mjs";import{SmsButton as x}from"./SmsButton.mjs";import{SocialButton as A}from"./SocialButton.mjs";import{TelegramButton as M}from"./TelegramButton.mjs";import{toWalletButtons as I}from"./WalletButtonList.mjs";import{WalletOverflowButton as L}from"./WalletOverflowButton.mjs";import{Web2OverflowButton as E}from"./Web2OverflowButton.mjs";import{Subtitle as W,AlignBottom as B,LoginMethodContainer as P}from"./styles.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/AppLogo.mjs";import"../../components/ConnectEmailForm.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../hooks/privy-context.mjs";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../svg/farcaster.mjs";import"../../components/ConnectPhoneForm.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"../../svg/telegram.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";const O=({connectOnly:i})=>{let{closePrivyModal:r,connectors:s}=j(),{data:a,onUserCloseViaDialogOrKeybindRef:w}=f(),v=d(),{accountType:O,walletClientType:z,chainType:D}=y(),V=O?u(O):null,G=a?.login,{email:K,sms:N,google:Q,twitter:X,discord:q,github:J,spotify:Y,instagram:Z,tiktok:$,linkedin:_,apple:oo,wallet:eo,farcaster:to,telegram:io}=n((()=>G?.loginMethods?p(G.loginMethods,!0):null),[G])??v.loginMethods,{passkey:ro}=v.loginMethods,so=[K&&"email",N&&"sms",Q&&"google",X&&"twitter",q&&"discord",J&&"github",Y&&"spotify",Z&&"instagram",$&&"tiktok",_&&"linkedin",oo&&"apple",to&&"farcaster",io&&"telegram"].filter((o=>!!o)),no=so.length>0,mo=n((()=>eo&&!no?"web3-first":eo&&v?.appearance.loginGroupPriority||"web2-first"),[eo,no,v?.appearance.loginGroupPriority]),lo=v?.appearance.hideDirectWeb2Inputs,[ao,po]=m("default"),[co,ho]=m(U({mostRecentlyUsedAccountType:O,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}));l((()=>{ho(U({mostRecentlyUsedAccountType:O,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}))}),[K,N,O]);let go=()=>{r({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{po("default")}),150)};w.current=go;let jo=[];z&&eo?jo.push(z):V?.loginMethod&&so.includes(V.loginMethod)&&jo.push(V.loginMethod);let fo=e=>"email"===e?/*#__PURE__*/o(b,{isEditable:"email"===co,setIsEditable:()=>{ho("email")},defaultValue:"email"===G?.prefill?.type?G.prefill.value:void 0},e):"sms"===e?/*#__PURE__*/o(x,{isEditable:"sms"===co,setIsEditable:()=>{ho("sms")},defaultValue:"phone"===G?.prefill?.type?G.prefill.value:void 0},e):"apple"===e?/*#__PURE__*/o(A,{provider:"apple"},e):"discord"===e?/*#__PURE__*/o(A,{provider:"discord"},e):"farcaster"===e?/*#__PURE__*/o(C,{},e):"github"===e?/*#__PURE__*/o(A,{provider:"github"},e):"google"===e?/*#__PURE__*/o(A,{provider:"google"},e):"linkedin"===e?/*#__PURE__*/o(A,{provider:"linkedin"},e):"tiktok"===e?/*#__PURE__*/o(A,{provider:"tiktok"},e):"spotify"===e?/*#__PURE__*/o(A,{provider:"spotify"},e):"instagram"===e?/*#__PURE__*/o(A,{provider:"instagram"},e):"twitter"===e?/*#__PURE__*/o(A,{provider:"twitter"},e):"telegram"===e?/*#__PURE__*/o(M,{},e):I({walletList:v.appearance.walletList,walletChainType:v.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[],walletConnectEnabled:v.externalWallets.walletConnect.enabled,forceWallet:{wallet:e,chainType:D??"ethereum"}}),uo=I({walletList:v.appearance.walletList.filter((o=>o!==z)),walletChainType:v.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[...v.appearance.walletList,z],walletConnectEnabled:v.externalWallets.walletConnect.enabled}),yo=so.filter((o=>o!==V?.loginMethod)).flatMap(fo),wo=jo.flatMap(fo);"web3-first"===mo&&"default"===ao?uo.unshift(...wo):"web2-first"===mo&&yo.unshift(...wo);let vo=so.filter((o=>"email"!==o&&"sms"!==o)),bo=F({priority:mo,email:K,sms:N,social:vo}),ko=H({priority:mo,email:K,sms:N,social:vo}),Co=/*#__PURE__*/o(L,{text:R({priority:mo}),onClick:()=>po("web3-overflow")}),To=/*#__PURE__*/o(E,{text:bo,icon:ko,onClick:()=>po("web2-overflow")}),xo=lo?0:1,Ao=eo&&uo.length>0,Mo=0===yo.length&&eo&&0===uo.length,Io=5-(Ao?1:0),Lo=uo.length>0?uo:/*#__PURE__*/o(k,{chainType:v.appearance.walletChainType,withPadding:!0});/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(g,{title:v.appearance.landingHeader,onClose:go,backFn:"default"===ao?void 0:()=>{po("default")}}),"default"===ao&&/*#__PURE__*/o(S,{}),"default"===ao&&("string"==typeof v.appearance.loginMessage?/*#__PURE__*/o(W,{children:v.appearance.loginMessage}):v.appearance.loginMessage),/*#__PURE__*/o(B,{style:{overflow:"hidden",padding:2},children:/*#__PURE__*/e(P,{children:["default"===ao&&"web2-first"===mo&&/*#__PURE__*/e(t,{children:[yo.length>Io?yo.slice(0,Io-1):yo,yo.length>Io&&To,Ao&&Co,Mo&&/*#__PURE__*/o(k,{chainType:v.appearance.walletChainType})]}),"default"===ao&&"web3-first"===mo&&/*#__PURE__*/e(t,{children:[eo&&/*#__PURE__*/e(t,{children:[uo.length>Io?uo.slice(0,Io-1):uo,uo.length>Io&&Co]}),yo.length>xo&&To,yo.length===xo&&yo[0],Mo&&/*#__PURE__*/o(k,{chainType:v.appearance.walletChainType})]}),"web2-overflow"===ao&&/*#__PURE__*/o(t,{children:"web3-first"===mo?yo:yo.slice(3)}),"web3-overflow"===ao?Lo:[],ro&&"default"===ao&&/*#__PURE__*/o(T,{})]})}),v&&/*#__PURE__*/o(c,{app:v}),/*#__PURE__*/o(h,{})]})};let S=/*#__PURE__*/a(v).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-4938a02-0"})(["margin-bottom:16px;"]),F=({priority:o,email:e,sms:t,social:i})=>"web2-first"===o?"Other socials":e&&t&&i.length>0||e&&i.length>0?"Log in with email or socials":t&&i.length>0?"Log in with sms or socials":e&&t?"Continue with email or sms":e?"Continue with email":t?"Continue with sms":"Log in with a social account",H=({priority:e,email:t,sms:n,social:m})=>"web2-first"===e||m.length>0?/*#__PURE__*/o(s,{}):t&&n?/*#__PURE__*/o(w,{}):t?/*#__PURE__*/o(i,{}):n?/*#__PURE__*/o(r,{}):null,R=({priority:o})=>"web2-first"===o?"Continue with a wallet":"Other wallets",U=({mostRecentlyUsedAccountType:o,smsAvailable:e,emailAvailable:t,prefilledType:i})=>t&&("email"===o&&"phone"!==i||"email"===i)||!e||"phone"!==o&&"phone"!==i?"email":"sms";export{O as LandingScreenView};
1
+ import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/EnvelopeIcon";import r from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/UserCircleIcon";import{useMemo as n,useState as m,useEffect as l}from"react";import{styled as a}from"styled-components";import{toObjectKeys as p}from"@privy-io/js-sdk-core";import{TermsAndConditions as c,BlobbyFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as g}from"../../components/ModalHeader.mjs";import{useAppConfig as d}from"../../configuration/context.mjs";import{usePrivyInternal as j}from"../../hooks/internal-context.mjs";import{usePrivyModal as f}from"../../hooks/modal-context.mjs";import{toDisplayFromAccountType as u}from"../../lib/toDisplayFromAccountType.mjs";import{useRecentlyUsedLogin as y}from"../../recent-login/context.mjs";import{EmailOrPhone as w}from"../../svg/email-or-phone.mjs";import{AppLogoHeader as v}from"./AppLogoHeader.mjs";import{EmailButton as b}from"./EmailButton.mjs";import{EmptyWalletView as k}from"./EmptyWalletView.mjs";import{FarcasterButton as C}from"./FarcasterButton.mjs";import{PasskeyLink as T}from"./PasskeyLink.mjs";import{SmsButton as x}from"./SmsButton.mjs";import{SocialButton as A}from"./SocialButton.mjs";import{TelegramButton as M}from"./TelegramButton.mjs";import{toWalletButtons as I}from"./WalletButtonList.mjs";import{WalletOverflowButton as L}from"./WalletOverflowButton.mjs";import{Web2OverflowButton as E}from"./Web2OverflowButton.mjs";import{Subtitle as W,AlignBottom as B,LoginMethodContainer as P}from"./styles.mjs";import"../../svg/protected-by-privy.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/AppLogo.mjs";import"../../components/ConnectEmailForm.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../hooks/privy-context.mjs";import"../../components/Button.mjs";import"../../components/Loader.mjs";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/forms/EmailInputForm.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../svg/farcaster.mjs";import"../../components/ConnectPhoneForm.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../svg/apple.mjs";import"../../svg/discord.mjs";import"../../svg/github.mjs";import"../../svg/google.mjs";import"../../svg/instagram.mjs";import"../../svg/linkedin.mjs";import"../../svg/spotify.mjs";import"../../svg/tiktok.mjs";import"../../svg/twitter.mjs";import"../../svg/telegram.mjs";import"./WalletButton.mjs";import"react-device-detect";import"../../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../../lib/external-wallets/displayHelpers.mjs";import"../../svg/brave-browser-icon.mjs";import"../../svg/bybit.mjs";import"../../svg/coinbase-wallet.mjs";import"../../svg/cryptocom.mjs";import"../../svg/metamask.mjs";import"../../svg/phantom.mjs";import"../../svg/rabby.mjs";import"../../svg/rainbow.mjs";import"../../svg/safe.mjs";import"../../svg/uniswap.mjs";import"../../svg/universal-profile.mjs";import"../../svg/wallet-connect.mjs";import"../../svg/zerion.mjs";import"../../lib/isEmbeddedWebview.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";const O=({connectOnly:i})=>{let{closePrivyModal:r,connectors:s}=j(),{data:a,onUserCloseViaDialogOrKeybindRef:w}=f(),v=d(),{accountType:O,walletClientType:z,chainType:D}=y(),V=O?u(O):null,G=a?.login,{email:K,sms:N,google:Q,twitter:X,discord:q,github:J,spotify:Y,instagram:Z,tiktok:$,linkedin:_,apple:oo,wallet:eo,farcaster:to,telegram:io}=n((()=>G?.loginMethods?p(G.loginMethods,!0):null),[G])??v.loginMethods,{passkey:ro}=v.loginMethods,so=[K&&"email",N&&"sms",Q&&"google",X&&"twitter",q&&"discord",J&&"github",Y&&"spotify",Z&&"instagram",$&&"tiktok",_&&"linkedin",oo&&"apple",to&&"farcaster",io&&"telegram"].filter((o=>!!o)),no=so.length>0,mo=n((()=>eo&&!no?"web3-first":eo&&v?.appearance.loginGroupPriority||"web2-first"),[eo,no,v?.appearance.loginGroupPriority]),lo=v?.appearance.hideDirectWeb2Inputs,[ao,po]=m("default"),[co,ho]=m(U({mostRecentlyUsedAccountType:O,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}));l((()=>{ho(U({mostRecentlyUsedAccountType:O,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}))}),[K,N,O]);let go=()=>{r({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{po("default")}),150)};w.current=go;let jo=[];z&&eo?jo.push(z):V?.loginMethod&&so.includes(V.loginMethod)&&jo.push(V.loginMethod);let fo=e=>"email"===e?/*#__PURE__*/o(b,{isEditable:"email"===co,setIsEditable:()=>{ho("email")},defaultValue:"email"===G?.prefill?.type?G.prefill.value:void 0},e):"sms"===e?/*#__PURE__*/o(x,{isEditable:"sms"===co,setIsEditable:()=>{ho("sms")},defaultValue:"phone"===G?.prefill?.type?G.prefill.value:void 0},e):"apple"===e?/*#__PURE__*/o(A,{provider:"apple"},e):"discord"===e?/*#__PURE__*/o(A,{provider:"discord"},e):"farcaster"===e?/*#__PURE__*/o(C,{},e):"github"===e?/*#__PURE__*/o(A,{provider:"github"},e):"google"===e?/*#__PURE__*/o(A,{provider:"google"},e):"linkedin"===e?/*#__PURE__*/o(A,{provider:"linkedin"},e):"tiktok"===e?/*#__PURE__*/o(A,{provider:"tiktok"},e):"spotify"===e?/*#__PURE__*/o(A,{provider:"spotify"},e):"instagram"===e?/*#__PURE__*/o(A,{provider:"instagram"},e):"twitter"===e?/*#__PURE__*/o(A,{provider:"twitter"},e):"telegram"===e?/*#__PURE__*/o(M,{},e):I({walletList:v.appearance.walletList,walletChainType:v.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[],walletConnectEnabled:v.externalWallets.walletConnect.enabled,forceWallet:{wallet:e,chainType:D??"ethereum"}}),uo=I({walletList:v.appearance.walletList.filter((o=>o!==z)),walletChainType:v.appearance.walletChainType,connectors:s,connectOnly:i,ignore:[...v.appearance.walletList,z],walletConnectEnabled:v.externalWallets.walletConnect.enabled}),yo=so.filter((o=>o!==V?.loginMethod)).flatMap(fo),wo=jo.flatMap(fo);"web3-first"===mo&&"default"===ao?uo.unshift(...wo):"web2-first"===mo&&yo.unshift(...wo);let vo=so.filter((o=>"email"!==o&&"sms"!==o)),bo=F({priority:mo,email:K,sms:N,social:vo}),ko=H({priority:mo,email:K,sms:N,social:vo}),Co=/*#__PURE__*/o(L,{text:R({priority:mo}),onClick:()=>po("web3-overflow")}),To=/*#__PURE__*/o(E,{text:bo,icon:ko,onClick:()=>po("web2-overflow")}),xo=lo?0:1,Ao=eo&&uo.length>0,Mo=0===yo.length&&eo&&0===uo.length,Io=5-(Ao?1:0),Lo=uo.length>0?uo:/*#__PURE__*/o(k,{chainType:v.appearance.walletChainType,withPadding:!0});/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(g,{title:v.appearance.landingHeader,onClose:go,backFn:"default"===ao?void 0:()=>{po("default")}}),"default"===ao&&/*#__PURE__*/o(S,{}),"default"===ao&&("string"==typeof v.appearance.loginMessage?/*#__PURE__*/o(W,{children:v.appearance.loginMessage}):v.appearance.loginMessage),/*#__PURE__*/o(B,{style:{overflow:"hidden",padding:2},children:/*#__PURE__*/e(P,{children:["default"===ao&&"web2-first"===mo&&/*#__PURE__*/e(t,{children:[yo.length>Io?yo.slice(0,Io-1):yo,yo.length>Io&&To,Ao&&Co,Mo&&/*#__PURE__*/o(k,{chainType:v.appearance.walletChainType})]}),"default"===ao&&"web3-first"===mo&&/*#__PURE__*/e(t,{children:[eo&&/*#__PURE__*/e(t,{children:[uo.length>Io?uo.slice(0,Io-1):uo,uo.length>Io&&Co]}),yo.length>xo&&To,yo.length===xo&&yo[0],Mo&&/*#__PURE__*/o(k,{chainType:v.appearance.walletChainType})]}),"web2-overflow"===ao&&/*#__PURE__*/o(t,{children:"web3-first"===mo?yo:yo.slice(3)}),"web3-overflow"===ao?Lo:[],ro&&"default"===ao&&/*#__PURE__*/o(T,{})]})}),v&&/*#__PURE__*/o(c,{app:v}),/*#__PURE__*/o(h,{})]})};let S=/*#__PURE__*/a(v).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-4938a02-0"})(["margin-bottom:16px;"]),F=({priority:o,email:e,sms:t,social:i})=>"web2-first"===o?"Other socials":e&&t&&i.length>0||e&&i.length>0?"Log in with email or socials":t&&i.length>0?"Log in with sms or socials":e&&t?"Continue with email or sms":e?"Continue with email":t?"Continue with sms":"Log in with a social account",H=({priority:e,email:t,sms:n,social:m})=>"web2-first"===e||m.length>0?/*#__PURE__*/o(s,{}):t&&n?/*#__PURE__*/o(w,{}):t?/*#__PURE__*/o(i,{}):n?/*#__PURE__*/o(r,{}):null,R=({priority:o})=>"web2-first"===o?"Continue with a wallet":"Other wallets",U=({mostRecentlyUsedAccountType:o,smsAvailable:e,emailAvailable:t,prefilledType:i})=>t&&("email"===o&&"phone"!==i||"email"===i)||!e||"phone"!==o&&"phone"!==i?"email":"sms";export{O as LandingScreenView};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as o,jsx as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/ClockIcon";import r from"@heroicons/react/24/outline/TrashIcon";import c from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/LockClosedIcon";import{useState as a,useEffect as m}from"react";import{styled as l,css as p}from"styled-components";import{PrimaryButton as d}from"../components/Button.mjs";import{ButtonLoader as h}from"../components/Loader.mjs";import{ModalFooter as f}from"../components/ModalFooter.mjs";import{ModalHeader as g}from"../components/ModalHeader.mjs";import{PrivyError as y,PrivyErrorCode as u}from"../errors.mjs";import{usePrivyInternal as j}from"../hooks/internal-context.mjs";import{usePrivyContext as v}from"../hooks/privy-context.mjs";import{FaceId as k}from"../svg/face-id.mjs";import{FingerPrint as x}from"../svg/fingerprint.mjs";import{IconWrapper as w,BottomSection as b,AppLogoContainer as I,ListItem as C,ListItemIcon as N}from"./MfaScreens/StyledComponents.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"ofetch";let S=({passkeys:o,expanded:i,onUnlink:t,onExpand:c})=>{let[s,m]=a([]),l=i?o.length:2;/*#__PURE__*/return e("div",{children:[/*#__PURE__*/n(F,{children:"Your passkeys"}),/*#__PURE__*/e(P,{children:[o.slice(0,l).map((o=>{/*#__PURE__*/return e($,{children:[/*#__PURE__*/e("div",{children:[/*#__PURE__*/n(O,{children:(i=o,i.authenticatorName?i.createdWithBrowser?`${i.authenticatorName} on ${i.createdWithBrowser}`:i.authenticatorName:i.createdWithBrowser?i.createdWithOs?`${i.createdWithBrowser} on ${i.createdWithOs}`:`${i.createdWithBrowser}`:"Unknown device")}),/*#__PURE__*/e(U,{children:["Last used: ",(o.latestVerifiedAt??o.verifiedAt).toLocaleString()]})]}),/*#__PURE__*/n(H,{disabled:s.includes(o.credentialId),onClick:()=>(async e=>{m((o=>o.concat([e]))),await t(e),m((o=>o.filter((o=>o!==e))))})(o.credentialId),children:s.includes(o.credentialId)?/*#__PURE__*/n(h,{}):/*#__PURE__*/n(r,{height:"1.6em"})})]},o.credentialId);var i})),o.length>2&&!i&&/*#__PURE__*/n(E,{onClick:c,children:"View all"})]})]})},A=()=>/*#__PURE__*/e(P,{children:[/*#__PURE__*/e(C,{children:[/*#__PURE__*/n(N,{children:/*#__PURE__*/n(c,{})}),"Log in with Touch ID, Face ID, or a security key."]}),/*#__PURE__*/e(C,{children:[/*#__PURE__*/n(N,{children:/*#__PURE__*/n(s,{})}),"More secure than a password."]}),/*#__PURE__*/e(C,{children:[/*#__PURE__*/n(N,{children:/*#__PURE__*/n(t,{})}),"Takes seconds to set up and use."]})]});const L=()=>{let{user:t,unlinkPasskey:r}=v(),{linkWithPasskey:c,closePrivyModal:s}=j(),l=t?.linkedAccounts.filter((e=>"passkey"===e.type)),[p,h]=a(!1),[C,N]=a(""),[L,M]=a(!1),[E,P]=a(!1);m((()=>{0===l.length&&P(!1)}),[l.length]);let F=async e=>(h(!0),await r(e).then((()=>M(!0))).catch((e=>{e instanceof y&&e.privyErrorCode===u.MISSING_MFA_CREDENTIALS?N("Cannot unlink a passkey enrolled in MFA"):N("Unknown error occurred.")})).finally((()=>{h(!1)})));/*#__PURE__*/return e(o,L?{children:[/*#__PURE__*/n(g,{onClose:()=>s()},"header"),/*#__PURE__*/n(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(i,{})}),/*#__PURE__*/n(B,{style:{marginBottom:"1.5rem"},children:"Passkeys updated"}),/*#__PURE__*/n(W,{children:" "}),/*#__PURE__*/n(b,{children:/*#__PURE__*/n(d,{onClick:()=>s(),children:"Done"})}),/*#__PURE__*/n(f,{})]}:E?{children:[/*#__PURE__*/n(g,{backFn:()=>P(!1),onClose:()=>s()},"header"),/*#__PURE__*/n(S,{passkeys:l,expanded:E,onUnlink:F,onExpand:()=>P(!0)}),/*#__PURE__*/n(f,{})]}:{children:[/*#__PURE__*/n(g,{onClose:()=>s()},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/e(T,{children:[/*#__PURE__*/n(k,{}),/*#__PURE__*/n(x,{})]})}),/*#__PURE__*/n(B,{children:"Secure your account with a passkey"}),/*#__PURE__*/n(_,{}),0===l.length?/*#__PURE__*/n(A,{}):/*#__PURE__*/n(S,{passkeys:l,expanded:E,onUnlink:F,onExpand:()=>P(!0)}),/*#__PURE__*/e(b,{style:{marginTop:"12px"},children:[C&&/*#__PURE__*/n(z,{$fail:!0,children:C}),/*#__PURE__*/n(d,{onClick:()=>{h(!0),c().then((()=>M(!0))).catch((e=>{if(e instanceof y){if(e.privyErrorCode===u.CANNOT_LINK_MORE_OF_TYPE)return void N("Cannot link more passkeys to account.");if(e.privyErrorCode===u.PASSKEY_NOT_ALLOWED)return void N("Passkey request timed out or rejected by user.")}N("Unknown error occurred.")})).finally((()=>{h(!1)}))},loading:p,children:"Add new passkey"})]}),/*#__PURE__*/n(f,{})]})},T=/*#__PURE__*/l.div.withConfig({displayName:"DoubleIconWrapper",componentId:"sc-302702bc-0"})(["display:flex;align-items:center;justify-content:center;width:180px;height:90px;border-radius:50%;svg + svg{margin-left:12px;}> svg{z-index:2;color:var(--privy-color-accent) !important;stroke:var(--privy-color-accent) !important;fill:var(--privy-color-accent) !important;}"]);let z=/*#__PURE__*/l.div.withConfig({displayName:"InputHelp",componentId:"sc-302702bc-1"})(["line-height:20px;height:20px;font-size:13px;color:",";display:flex;justify-content:flex-beginngin;width:100%;"],(e=>e.$fail?"var(--privy-color-error)":"var(--privy-color-foreground-3)")),M=/*#__PURE__*/p(["&&{width:100%;font-size:0.875rem;line-height:1rem;@media (min-width:440px){font-size:14px;}display:flex;gap:12px;justify-content:center;padding:6px 8px;background-color:var(--privy-color-background);transition:background-color 200ms ease;color:var(--privy-color-accent) !important;:focus{outline:none;box-shadow:none;}}"]);const E=/*#__PURE__*/l.button.withConfig({displayName:"LinkButton",componentId:"sc-302702bc-2"})(["",""],M);let P=/*#__PURE__*/l.div.withConfig({displayName:"List",componentId:"sc-302702bc-3"})(["display:flex;flex-direction:column;align-items:stretch;gap:0.8rem;padding:0.5rem 0rem 0rem;flex-grow:1;width:100%;"]),B=/*#__PURE__*/l.div.withConfig({displayName:"ModalTitle",componentId:"sc-302702bc-4"})(["font-size:18px;line-height:18px;text-align:center;font-weight:600;"]),W=/*#__PURE__*/l.div.withConfig({displayName:"ModalSubTitle",componentId:"sc-302702bc-5"})(["font-size:0.875rem;text-align:center;margin-top:10px;"]),_=/*#__PURE__*/l.div.withConfig({displayName:"SectionSpacer",componentId:"sc-302702bc-6"})(["height:32px;"]),F=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyListTitle",componentId:"sc-302702bc-7"})(["line-height:20px;height:20px;font-size:1em;font-weight:450;display:flex;justify-content:flex-beginning;width:100%;"]),O=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyItemTitle",componentId:"sc-302702bc-8"})(["font-size:1em;line-height:1.3em;font-weight:500;color:var(--privy-color-foreground-2);padding:0.2em 0;"]),U=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyItemSubtitle",componentId:"sc-302702bc-9"})(["font-size:0.875rem;line-height:1rem;color:#64668b;padding:0.2em 0;"]),$=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyListItem",componentId:"sc-302702bc-10"})(["display:flex;align-items:center;justify-content:space-between;padding:1em;gap:10px;font-size:0.875rem;line-height:1rem;text-align:left;border-radius:8px;border:1px solid #e2e3f0 !important;width:100%;height:5em;"]),D=/*#__PURE__*/p([":focus,:hover,:active{outline:none;}display:flex;width:2em;height:2em;justify-content:center;align-items:center;svg{color:var(--privy-color-error);}svg:hover{color:var(--privy-color-foreground-3);}"]),H=/*#__PURE__*/l.button.withConfig({displayName:"PasskeyItemUnlinkButton",componentId:"sc-302702bc-11"})(["",""],D);export{T as DoubleIconWrapper,E as LinkButton,L as LinkPasskeyScreen};
1
+ import{jsxs as e,Fragment as o,jsx as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/ClockIcon";import r from"@heroicons/react/24/outline/TrashIcon";import c from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/LockClosedIcon";import{useState as a,useEffect as m}from"react";import{styled as l,css as p}from"styled-components";import{PrimaryButton as d}from"../components/Button.mjs";import{ButtonLoader as h}from"../components/Loader.mjs";import{ModalFooter as f}from"../components/ModalFooter.mjs";import{ModalHeader as g}from"../components/ModalHeader.mjs";import{PrivyError as y,PrivyErrorCode as u}from"../errors.mjs";import{usePrivyInternal as j}from"../hooks/internal-context.mjs";import{usePrivyContext as v}from"../hooks/privy-context.mjs";import{FaceId as k}from"../svg/face-id.mjs";import{FingerPrint as x}from"../svg/fingerprint.mjs";import{IconWrapper as w,BottomSection as b,AppLogoContainer as I,ListItem as C,ListItemIcon as N}from"./MfaScreens/StyledComponents.mjs";import"../configuration/context.mjs";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"ofetch";let S=({passkeys:o,expanded:i,onUnlink:t,onExpand:c})=>{let[s,m]=a([]),l=i?o.length:2;/*#__PURE__*/return e("div",{children:[/*#__PURE__*/n(F,{children:"Your passkeys"}),/*#__PURE__*/e(P,{children:[o.slice(0,l).map((o=>{/*#__PURE__*/return e($,{children:[/*#__PURE__*/e("div",{children:[/*#__PURE__*/n(O,{children:(i=o,i.authenticatorName?i.createdWithBrowser?`${i.authenticatorName} on ${i.createdWithBrowser}`:i.authenticatorName:i.createdWithBrowser?i.createdWithOs?`${i.createdWithBrowser} on ${i.createdWithOs}`:`${i.createdWithBrowser}`:"Unknown device")}),/*#__PURE__*/e(U,{children:["Last used: ",(o.latestVerifiedAt??o.verifiedAt).toLocaleString()]})]}),/*#__PURE__*/n(H,{disabled:s.includes(o.credentialId),onClick:()=>(async e=>{m((o=>o.concat([e]))),await t(e),m((o=>o.filter((o=>o!==e))))})(o.credentialId),children:s.includes(o.credentialId)?/*#__PURE__*/n(h,{}):/*#__PURE__*/n(r,{height:"1.6em"})})]},o.credentialId);var i})),o.length>2&&!i&&/*#__PURE__*/n(E,{onClick:c,children:"View all"})]})]})},A=()=>/*#__PURE__*/e(P,{children:[/*#__PURE__*/e(C,{children:[/*#__PURE__*/n(N,{children:/*#__PURE__*/n(c,{})}),"Log in with Touch ID, Face ID, or a security key."]}),/*#__PURE__*/e(C,{children:[/*#__PURE__*/n(N,{children:/*#__PURE__*/n(s,{})}),"More secure than a password."]}),/*#__PURE__*/e(C,{children:[/*#__PURE__*/n(N,{children:/*#__PURE__*/n(t,{})}),"Takes seconds to set up and use."]})]});const L=()=>{let{user:t,unlinkPasskey:r}=v(),{linkWithPasskey:c,closePrivyModal:s}=j(),l=t?.linkedAccounts.filter((e=>"passkey"===e.type)),[p,h]=a(!1),[C,N]=a(""),[L,M]=a(!1),[E,P]=a(!1);m((()=>{0===l.length&&P(!1)}),[l.length]);let F=async e=>(h(!0),await r(e).then((()=>M(!0))).catch((e=>{e instanceof y&&e.privyErrorCode===u.MISSING_MFA_CREDENTIALS?N("Cannot unlink a passkey enrolled in MFA"):N("Unknown error occurred.")})).finally((()=>{h(!1)})));/*#__PURE__*/return e(o,L?{children:[/*#__PURE__*/n(g,{onClose:()=>s()},"header"),/*#__PURE__*/n(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(i,{})}),/*#__PURE__*/n(B,{style:{marginBottom:"1.5rem"},children:"Passkeys updated"}),/*#__PURE__*/n(W,{children:" "}),/*#__PURE__*/n(b,{children:/*#__PURE__*/n(d,{onClick:()=>s(),children:"Done"})}),/*#__PURE__*/n(f,{})]}:E?{children:[/*#__PURE__*/n(g,{backFn:()=>P(!1),onClose:()=>s()},"header"),/*#__PURE__*/n(S,{passkeys:l,expanded:E,onUnlink:F,onExpand:()=>P(!0)}),/*#__PURE__*/n(f,{})]}:{children:[/*#__PURE__*/n(g,{onClose:()=>s()},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/e(T,{children:[/*#__PURE__*/n(k,{}),/*#__PURE__*/n(x,{})]})}),/*#__PURE__*/n(B,{children:"Secure your account with a passkey"}),/*#__PURE__*/n(_,{}),0===l.length?/*#__PURE__*/n(A,{}):/*#__PURE__*/n(S,{passkeys:l,expanded:E,onUnlink:F,onExpand:()=>P(!0)}),/*#__PURE__*/e(b,{style:{marginTop:"12px"},children:[C&&/*#__PURE__*/n(z,{$fail:!0,children:C}),/*#__PURE__*/n(d,{onClick:()=>{h(!0),c().then((()=>M(!0))).catch((e=>{if(e instanceof y){if(e.privyErrorCode===u.CANNOT_LINK_MORE_OF_TYPE)return void N("Cannot link more passkeys to account.");if(e.privyErrorCode===u.PASSKEY_NOT_ALLOWED)return void N("Passkey request timed out or rejected by user.")}N("Unknown error occurred.")})).finally((()=>{h(!1)}))},loading:p,children:"Add new passkey"})]}),/*#__PURE__*/n(f,{})]})},T=/*#__PURE__*/l.div.withConfig({displayName:"DoubleIconWrapper",componentId:"sc-302702bc-0"})(["display:flex;align-items:center;justify-content:center;width:180px;height:90px;border-radius:50%;svg + svg{margin-left:12px;}> svg{z-index:2;color:var(--privy-color-accent) !important;stroke:var(--privy-color-accent) !important;fill:var(--privy-color-accent) !important;}"]);let z=/*#__PURE__*/l.div.withConfig({displayName:"InputHelp",componentId:"sc-302702bc-1"})(["line-height:20px;height:20px;font-size:13px;color:",";display:flex;justify-content:flex-beginngin;width:100%;"],(e=>e.$fail?"var(--privy-color-error)":"var(--privy-color-foreground-3)")),M=/*#__PURE__*/p(["&&{width:100%;font-size:0.875rem;line-height:1rem;@media (min-width:440px){font-size:14px;}display:flex;gap:12px;justify-content:center;padding:6px 8px;background-color:var(--privy-color-background);transition:background-color 200ms ease;color:var(--privy-color-accent) !important;:focus{outline:none;box-shadow:none;}}"]);const E=/*#__PURE__*/l.button.withConfig({displayName:"LinkButton",componentId:"sc-302702bc-2"})(["",""],M);let P=/*#__PURE__*/l.div.withConfig({displayName:"List",componentId:"sc-302702bc-3"})(["display:flex;flex-direction:column;align-items:stretch;gap:0.8rem;padding:0.5rem 0rem 0rem;flex-grow:1;width:100%;"]),B=/*#__PURE__*/l.div.withConfig({displayName:"ModalTitle",componentId:"sc-302702bc-4"})(["font-size:18px;line-height:18px;text-align:center;font-weight:600;"]),W=/*#__PURE__*/l.div.withConfig({displayName:"ModalSubTitle",componentId:"sc-302702bc-5"})(["font-size:0.875rem;text-align:center;margin-top:10px;"]),_=/*#__PURE__*/l.div.withConfig({displayName:"SectionSpacer",componentId:"sc-302702bc-6"})(["height:32px;"]),F=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyListTitle",componentId:"sc-302702bc-7"})(["line-height:20px;height:20px;font-size:1em;font-weight:450;display:flex;justify-content:flex-beginning;width:100%;"]),O=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyItemTitle",componentId:"sc-302702bc-8"})(["font-size:1em;line-height:1.3em;font-weight:500;color:var(--privy-color-foreground-2);padding:0.2em 0;"]),U=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyItemSubtitle",componentId:"sc-302702bc-9"})(["font-size:0.875rem;line-height:1rem;color:#64668b;padding:0.2em 0;"]),$=/*#__PURE__*/l.div.withConfig({displayName:"PasskeyListItem",componentId:"sc-302702bc-10"})(["display:flex;align-items:center;justify-content:space-between;padding:1em;gap:10px;font-size:0.875rem;line-height:1rem;text-align:left;border-radius:8px;border:1px solid #e2e3f0 !important;width:100%;height:5em;"]),D=/*#__PURE__*/p([":focus,:hover,:active{outline:none;}display:flex;width:2em;height:2em;justify-content:center;align-items:center;svg{color:var(--privy-color-error);}svg:hover{color:var(--privy-color-foreground-3);}"]),H=/*#__PURE__*/l.button.withConfig({displayName:"PasskeyItemUnlinkButton",componentId:"sc-302702bc-11"})(["",""],D);export{T as DoubleIconWrapper,E as LinkButton,L as LinkPasskeyScreen};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as t,Fragment as e}from"react/jsx-runtime";import{BlobbyFooter as n}from"../components/ModalFooter.mjs";import{ModalHeader as i}from"../components/ModalHeader.mjs";import{PaddedScreenHeader as s}from"../components/ScreenHeader.mjs";import{Address as r}from"../components/ui/wallet/Address.mjs";import{usePrivyInternal as m}from"../hooks/internal-context.mjs";import{usePrivyModal as c}from"../hooks/modal-context.mjs";import{toWalletButtons as a,WalletButtonList as p}from"./LandingScreen/WalletButtonList.mjs";import{LoginMethodContainer as l}from"./LandingScreen/styles.mjs";import"styled-components";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"react";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../utils/index.mjs";import"../connectors/get-legacy-injected-providers.mjs";import"../connectors/is-wallet-installed.mjs";import"../errors.mjs";import"ofetch";import"../utils/eth/getPublicClient.mjs";import"viem";import"../components/PrefetchedImage.mjs";import"./index.mjs";import"./LandingScreen/EmptyWalletView.mjs";import"./LandingScreen/WalletButton.mjs";import"react-device-detect";import"../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../components/ui/chips/Chip.mjs";import"../components/ui/animation/LoadingSkeleton.mjs";import"../lib/external-wallets/displayHelpers.mjs";import"../svg/brave-browser-icon.mjs";import"../svg/bybit.mjs";import"../svg/coinbase-wallet.mjs";import"../svg/cryptocom.mjs";import"../svg/metamask.mjs";import"../svg/phantom.mjs";import"../svg/rabby.mjs";import"../svg/rainbow.mjs";import"../svg/safe.mjs";import"../svg/uniswap.mjs";import"../svg/universal-profile.mjs";import"../svg/wallet-connect.mjs";import"../svg/zerion.mjs";import"../lib/isEmbeddedWebview.mjs";import"../recent-login/context.mjs";import"../hooks/events-context.mjs";import"../storage.mjs";const j=()=>{let{app:j,data:h}=c(),d=h?.externalConnectWallet?.suggestedAddress,g=d?/*#__PURE__*/o("span",{children:["Link the wallet with address ",/*#__PURE__*/t(r,{showCopyIcon:!1,address:d})," ",j?.name?`to ${j.name}.`:"."]}):`Link a wallet to your ${j?.name} account`,{connectors:u}=m(),w=a({walletList:h?.externalConnectWallet?.walletList??j.appearance.walletList,walletChainType:j.appearance.walletChainType,connectors:u,connectOnly:!1,ignore:j.appearance.walletList,walletConnectEnabled:j.externalWallets.walletConnect.enabled});/*#__PURE__*/return o(e,{children:[/*#__PURE__*/t(i,{},"header"),w.length>0&&/*#__PURE__*/t(s,{title:"Link your wallet",description:g}),/*#__PURE__*/t(l,{children:/*#__PURE__*/t(p,{wallets:w})}),/*#__PURE__*/t(n,{})]})};export{j as LinkWalletScreen};
1
+ import{jsxs as o,jsx as t,Fragment as e}from"react/jsx-runtime";import{BlobbyFooter as n}from"../components/ModalFooter.mjs";import{ModalHeader as i}from"../components/ModalHeader.mjs";import{PaddedScreenHeader as s}from"../components/ScreenHeader.mjs";import{Address as r}from"../components/ui/wallet/Address.mjs";import{usePrivyInternal as m}from"../hooks/internal-context.mjs";import{usePrivyModal as c}from"../hooks/modal-context.mjs";import{toWalletButtons as a,WalletButtonList as p}from"./LandingScreen/WalletButtonList.mjs";import{LoginMethodContainer as l}from"./LandingScreen/styles.mjs";import"styled-components";import"../configuration/context.mjs";import"react";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../utils/index.mjs";import"../connectors/get-legacy-injected-providers.mjs";import"../connectors/is-wallet-installed.mjs";import"../errors.mjs";import"ofetch";import"../utils/eth/getPublicClient.mjs";import"viem";import"../components/PrefetchedImage.mjs";import"./index.mjs";import"./LandingScreen/EmptyWalletView.mjs";import"./LandingScreen/WalletButton.mjs";import"react-device-detect";import"../components/external-wallets/InjectedWalletIcon.mjs";import"@heroicons/react/24/outline/WalletIcon";import"../components/ui/chips/Chip.mjs";import"../components/ui/animation/LoadingSkeleton.mjs";import"../lib/external-wallets/displayHelpers.mjs";import"../svg/brave-browser-icon.mjs";import"../svg/bybit.mjs";import"../svg/coinbase-wallet.mjs";import"../svg/cryptocom.mjs";import"../svg/metamask.mjs";import"../svg/phantom.mjs";import"../svg/rabby.mjs";import"../svg/rainbow.mjs";import"../svg/safe.mjs";import"../svg/uniswap.mjs";import"../svg/universal-profile.mjs";import"../svg/wallet-connect.mjs";import"../svg/zerion.mjs";import"../lib/isEmbeddedWebview.mjs";import"../recent-login/context.mjs";import"../hooks/events-context.mjs";import"../storage.mjs";const j=()=>{let{app:j,data:h}=c(),d=h?.externalConnectWallet?.suggestedAddress,g=d?/*#__PURE__*/o("span",{children:["Link the wallet with address ",/*#__PURE__*/t(r,{showCopyIcon:!1,address:d})," ",j?.name?`to ${j.name}.`:"."]}):`Link a wallet to your ${j?.name} account`,{connectors:u}=m(),w=a({walletList:h?.externalConnectWallet?.walletList??j.appearance.walletList,walletChainType:j.appearance.walletChainType,connectors:u,connectOnly:!1,ignore:j.appearance.walletList,walletConnectEnabled:j.externalWallets.walletConnect.enabled});/*#__PURE__*/return o(e,{children:[/*#__PURE__*/t(i,{},"header"),w.length>0&&/*#__PURE__*/t(s,{title:"Link your wallet",description:g}),/*#__PURE__*/t(l,{children:/*#__PURE__*/t(p,{wallets:w})}),/*#__PURE__*/t(n,{})]})};export{j as LinkWalletScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as n,jsx as t}from"react/jsx-runtime";import{PrimaryButton as i,SecondaryButton as r}from"../components/Button.mjs";import{RefactorSpacerTop as s,BottomPusherContainer as c,RefactorSpacerBottom as e}from"../components/Layouts.mjs";import{BlobbyFooter as m}from"../components/ModalFooter.mjs";import{ModalHeader as a}from"../components/ModalHeader.mjs";import{PaddedScreenHeader as p}from"../components/ScreenHeader.mjs";import{usePrivyInternal as l}from"../hooks/internal-context.mjs";import{usePrivyModal as h}from"../hooks/modal-context.mjs";import{ErrorCircle as j}from"../svg/error-circle.mjs";import{ModalScreen as d}from"./index.mjs";import"styled-components";import"../components/Loader.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../configuration/context.mjs";import"react";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../hooks/index.mjs";import"../components/PrefetchedImage.mjs";const f=()=>{let{closePrivyModal:f}=l(),{navigate:u}=h();/*#__PURE__*/return o(n,{children:[/*#__PURE__*/t(a,{},"header"),/*#__PURE__*/t(s,{}),/*#__PURE__*/t(j,{style:{width:"160px",height:"160px",margin:"0 auto 20px"}}),/*#__PURE__*/t(p,{title:"Could not connect with wallet",description:"Please check that Phantom multichain is enabled and try again.",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center"}}),/*#__PURE__*/o(c,{children:[/*#__PURE__*/t(i,{onClick:()=>u(d.LANDING),children:"Try again"}),/*#__PURE__*/t(r,{onClick:()=>f(),children:"Cancel"})]}),/*#__PURE__*/t(e,{}),/*#__PURE__*/t(m,{})]})};export{f as LoginFailedScreen};
1
+ import{jsxs as o,Fragment as n,jsx as t}from"react/jsx-runtime";import{PrimaryButton as i,SecondaryButton as r}from"../components/Button.mjs";import{RefactorSpacerTop as s,BottomPusherContainer as c,RefactorSpacerBottom as e}from"../components/Layouts.mjs";import{BlobbyFooter as m}from"../components/ModalFooter.mjs";import{ModalHeader as a}from"../components/ModalHeader.mjs";import{PaddedScreenHeader as p}from"../components/ScreenHeader.mjs";import{usePrivyInternal as l}from"../hooks/internal-context.mjs";import{usePrivyModal as h}from"../hooks/modal-context.mjs";import{ErrorCircle as j}from"../svg/error-circle.mjs";import{ModalScreen as d}from"./index.mjs";import"styled-components";import"../components/Loader.mjs";import"../configuration/context.mjs";import"react";import"../config.mjs";import"../configuration/defaultClientConfig.mjs";import"../constants.mjs";import"../configuration/login-methods.mjs";import"../configuration/wallets.mjs";import"../connectors/chains/index.mjs";import"../connectors/chains/arbitrum.mjs";import"../connectors/chains/arbitrumSepolia.mjs";import"../connectors/chains/avalanche.mjs";import"../connectors/chains/avalancheFuji.mjs";import"../connectors/chains/base.mjs";import"../connectors/chains/baseSepolia.mjs";import"../connectors/chains/berachainArtio.mjs";import"../connectors/chains/celo.mjs";import"../connectors/chains/celoAlfajores.mjs";import"../connectors/chains/filecoin.mjs";import"../connectors/chains/filecoinCalibration.mjs";import"../connectors/chains/garnetHolesky.mjs";import"../connectors/chains/holesky.mjs";import"../connectors/chains/linea.mjs";import"../connectors/chains/lineaTestnet.mjs";import"../connectors/chains/lukso.mjs";import"../connectors/chains/mainnet.mjs";import"../connectors/chains/optimism.mjs";import"../connectors/chains/optimismSepolia.mjs";import"../connectors/chains/polygon.mjs";import"../connectors/chains/polygonAmoy.mjs";import"../connectors/chains/redstone.mjs";import"../connectors/chains/sepolia.mjs";import"../connectors/chains/zora.mjs";import"../connectors/chains/zoraSepolia.mjs";import"../connectors/chains/zoraTestnet.mjs";import"../connectors/chains/utils.mjs";import"../lib/solana/index.mjs";import"../theme.mjs";import"tinycolor2";import"../lib/cybr53.mjs";import"../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../hooks/index.mjs";import"../components/PrefetchedImage.mjs";const f=()=>{let{closePrivyModal:f}=l(),{navigate:u}=h();/*#__PURE__*/return o(n,{children:[/*#__PURE__*/t(a,{},"header"),/*#__PURE__*/t(s,{}),/*#__PURE__*/t(j,{style:{width:"160px",height:"160px",margin:"0 auto 20px"}}),/*#__PURE__*/t(p,{title:"Could not connect with wallet",description:"Please check that Phantom multichain is enabled and try again.",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center"}}),/*#__PURE__*/o(c,{children:[/*#__PURE__*/t(i,{onClick:()=>u(d.LANDING),children:"Try again"}),/*#__PURE__*/t(r,{onClick:()=>f(),children:"Cancel"})]}),/*#__PURE__*/t(e,{}),/*#__PURE__*/t(m,{})]})};export{f as LoginFailedScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as i}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/ChevronRightIcon";import r from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import t from"@heroicons/react/24/outline/FingerPrintIcon";import s from"@heroicons/react/24/outline/MinusCircleIcon";import c from"@heroicons/react/24/outline/PhoneIcon";import m from"@heroicons/react/24/outline/ShieldCheckIcon";import{styled as a}from"styled-components";import{Loader as l}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as p}from"../../components/ModalHeader.mjs";import{Chip as d}from"../../components/ui/chips/Chip.mjs";import{LoginMethodButton as j}from"../LandingScreen/styles.mjs";import{IconWrapper as u,Title as y,SubTitle as f,ErrorMessage as g,MethodList as k,MethodListItem as b,SmsInsecureText as C,MethodText as v,ExtraText as M,RemoveMethodButton as I}from"./StyledComponents.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";const S=({showIntro:a,userMfaMethods:d,appMfaMethods:S,userHasAuthSms:A,isTotpLoading:x,isPasskeyLoading:L,error:T,onClose:P,onBackToIntro:F,handleSelectMethod:H,setRemovingMfaMethod:R})=>{let z=d.reduce(((o,e)=>({...o,[e]:!0})),{}),E=S.reduce(((o,e)=>({...o,[e]:!0})),{});/*#__PURE__*/return o(e,{children:[/*#__PURE__*/i(p,{backFn:a?F:void 0,onClose:P},"header"),/*#__PURE__*/i(u,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/i(m,{})}),/*#__PURE__*/i(y,{children:"Choose a verification method"}),d.length>0?/*#__PURE__*/i(f,{children:"To add or delete verification methods, verification is required."}):/*#__PURE__*/i(f,{children:"How would you like to verify your identity? You can change this later."}),T&&/*#__PURE__*/i(g,{style:{marginTop:"1.25rem"},children:T.message}),/*#__PURE__*/o(k,{children:[(E.totp||z.totp)&&/*#__PURE__*/o(b,{children:[/*#__PURE__*/i(j,{style:{justifyContent:"center"},disabled:z.totp||x,onClick:()=>H("totp"),children:x?/*#__PURE__*/i(l,{style:{height:24,width:24,borderWidth:2},color:"var(--privy-color-foreground-3)"}):/*#__PURE__*/o(C,{children:[/*#__PURE__*/o(v,{children:[/*#__PURE__*/i(r,{}),"Authenticator app"]}),z.totp?/*#__PURE__*/i(w,{color:"green",children:"Enabled"}):/*#__PURE__*/i(M,{children:"Recommended"})]})}),z.totp&&/*#__PURE__*/i(I,{style:{position:"absolute",right:0},onClick:()=>R("totp"),children:/*#__PURE__*/i(s,{})})]},"totp"),(E.sms||z.sms)&&/*#__PURE__*/o(b,{children:[/*#__PURE__*/i(j,{disabled:z.sms||A,onClick:()=>H("sms"),children:/*#__PURE__*/o(C,{children:[/*#__PURE__*/o(v,{children:[/*#__PURE__*/i(c,{}),"SMS"]}),z.sms&&/*#__PURE__*/i(w,{color:"green",children:"Enabled"}),A&&/*#__PURE__*/i(M,{children:"Disabled"})]})}),z.sms&&/*#__PURE__*/i(I,{style:{position:"absolute",right:0},onClick:()=>R("sms"),children:/*#__PURE__*/i(s,{})})]},"sms"),(E.passkey||z.passkey)&&/*#__PURE__*/o(b,{children:[/*#__PURE__*/i(j,{style:{justifyContent:"center"},onClick:()=>H("passkey"),disabled:z.passkey||L,children:L?/*#__PURE__*/i(l,{style:{height:24,width:24,borderWidth:2},color:"var(--privy-color-foreground-3)"}):/*#__PURE__*/o(C,{children:[/*#__PURE__*/o(v,{children:[/*#__PURE__*/i(t,{}),"Passkey"]}),z.passkey?/*#__PURE__*/i(w,{color:"green",children:"Enabled"}):/*#__PURE__*/i(M,{isAccent:!0,children:/*#__PURE__*/i(n,{})})]})}),z.passkey&&/*#__PURE__*/i(I,{style:{position:"absolute",right:0},onClick:()=>R("passkey"),children:/*#__PURE__*/i(s,{})})]},"passkey")]}),/*#__PURE__*/i(h,{})]})};let w=/*#__PURE__*/a(d).withConfig({displayName:"StyledChip",componentId:"sc-998ca5bc-0"})(["margin-right:1.5rem;"]);export{S as EnrollLandingScreen};
1
+ import{jsxs as o,Fragment as e,jsx as i}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/ChevronRightIcon";import r from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import t from"@heroicons/react/24/outline/FingerPrintIcon";import s from"@heroicons/react/24/outline/MinusCircleIcon";import c from"@heroicons/react/24/outline/PhoneIcon";import m from"@heroicons/react/24/outline/ShieldCheckIcon";import{styled as a}from"styled-components";import{Loader as l}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as p}from"../../components/ModalHeader.mjs";import{Chip as d}from"../../components/ui/chips/Chip.mjs";import{LoginMethodButton as j}from"../LandingScreen/styles.mjs";import{IconWrapper as u,Title as y,SubTitle as f,ErrorMessage as g,MethodList as k,MethodListItem as b,SmsInsecureText as C,MethodText as v,ExtraText as M,RemoveMethodButton as I}from"./StyledComponents.mjs";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";const S=({showIntro:a,userMfaMethods:d,appMfaMethods:S,userHasAuthSms:A,isTotpLoading:x,isPasskeyLoading:L,error:T,onClose:P,onBackToIntro:F,handleSelectMethod:H,setRemovingMfaMethod:R})=>{let z=d.reduce(((o,e)=>({...o,[e]:!0})),{}),E=S.reduce(((o,e)=>({...o,[e]:!0})),{});/*#__PURE__*/return o(e,{children:[/*#__PURE__*/i(p,{backFn:a?F:void 0,onClose:P},"header"),/*#__PURE__*/i(u,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/i(m,{})}),/*#__PURE__*/i(y,{children:"Choose a verification method"}),d.length>0?/*#__PURE__*/i(f,{children:"To add or delete verification methods, verification is required."}):/*#__PURE__*/i(f,{children:"How would you like to verify your identity? You can change this later."}),T&&/*#__PURE__*/i(g,{style:{marginTop:"1.25rem"},children:T.message}),/*#__PURE__*/o(k,{children:[(E.totp||z.totp)&&/*#__PURE__*/o(b,{children:[/*#__PURE__*/i(j,{style:{justifyContent:"center"},disabled:z.totp||x,onClick:()=>H("totp"),children:x?/*#__PURE__*/i(l,{style:{height:24,width:24,borderWidth:2},color:"var(--privy-color-foreground-3)"}):/*#__PURE__*/o(C,{children:[/*#__PURE__*/o(v,{children:[/*#__PURE__*/i(r,{}),"Authenticator app"]}),z.totp?/*#__PURE__*/i(w,{color:"green",children:"Enabled"}):/*#__PURE__*/i(M,{children:"Recommended"})]})}),z.totp&&/*#__PURE__*/i(I,{style:{position:"absolute",right:0},onClick:()=>R("totp"),children:/*#__PURE__*/i(s,{})})]},"totp"),(E.sms||z.sms)&&/*#__PURE__*/o(b,{children:[/*#__PURE__*/i(j,{disabled:z.sms||A,onClick:()=>H("sms"),children:/*#__PURE__*/o(C,{children:[/*#__PURE__*/o(v,{children:[/*#__PURE__*/i(c,{}),"SMS"]}),z.sms&&/*#__PURE__*/i(w,{color:"green",children:"Enabled"}),A&&/*#__PURE__*/i(M,{children:"Disabled"})]})}),z.sms&&/*#__PURE__*/i(I,{style:{position:"absolute",right:0},onClick:()=>R("sms"),children:/*#__PURE__*/i(s,{})})]},"sms"),(E.passkey||z.passkey)&&/*#__PURE__*/o(b,{children:[/*#__PURE__*/i(j,{style:{justifyContent:"center"},onClick:()=>H("passkey"),disabled:z.passkey||L,children:L?/*#__PURE__*/i(l,{style:{height:24,width:24,borderWidth:2},color:"var(--privy-color-foreground-3)"}):/*#__PURE__*/o(C,{children:[/*#__PURE__*/o(v,{children:[/*#__PURE__*/i(t,{}),"Passkey"]}),z.passkey?/*#__PURE__*/i(w,{color:"green",children:"Enabled"}):/*#__PURE__*/i(M,{isAccent:!0,children:/*#__PURE__*/i(n,{})})]})}),z.passkey&&/*#__PURE__*/i(I,{style:{position:"absolute",right:0},onClick:()=>R("passkey"),children:/*#__PURE__*/i(s,{})})]},"passkey")]}),/*#__PURE__*/i(h,{})]})};let w=/*#__PURE__*/a(d).withConfig({displayName:"StyledChip",componentId:"sc-998ca5bc-0"})(["margin-right:1.5rem;"]);export{S as EnrollLandingScreen};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import r from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/ClockIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useMemo as m}from"react";import{styled as a}from"styled-components";import{PrimaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as d}from"../../components/ModalFooter.mjs";import{ModalHeader as h}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{usePrivyContext as j}from"../../hooks/privy-context.mjs";import{useMfaEnrollment as f}from"../../hooks/useMfaEnrollment.mjs";import{FaceId as k}from"../../svg/face-id.mjs";import{FingerPrint as g}from"../../svg/fingerprint.mjs";import{ErrorScreenView as C}from"../ErrorScreen.mjs";import{DoubleIconWrapper as w}from"../LinkPasskeyScreen.mjs";import{AppLogoContainer as b,Title as v,List as I,ListItem as x,ListItemIcon as S,IconWrapper as P,SubTitle as A,BottomSection as W}from"./StyledComponents.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";const E=({onComplete:e,onClose:n,onReset:i})=>{let{user:r}=j(),{data:t}=y(),{initLinkWithPasskey:s,linkWithPasskey:a}=u(),{initEnrollmentWithPasskey:l,submitEnrollmentWithPasskey:p}=f(),[d,h]=c(!1),[k,g]=c(!1),[w,b]=c(!1),[v,I]=c(null),x=m((()=>r?.linkedAccounts.filter((o=>"passkey"===o.type))??[]),[r]),S=()=>{t?.mfaEnrollmentFlow?.onSuccess(),e()},P=async o=>{h(!0);try{await l(),await p({credentialIds:o}),b(!0)}catch(o){I(o)}finally{h(!1)}},A=async()=>{g(!0),I(null);try{await s();let o=await a(),e=o?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];await P(e)}catch(o){I(o)}finally{g(!1)}};return 0===x.length||k?/*#__PURE__*/o(T,{onReset:i,onClose:n,onClick:A,isCreating:k}):w?/*#__PURE__*/o(F,{onClick:S,onClose:S}):v?/*#__PURE__*/o(C,{error:v,backFn:()=>I(null),onClick:()=>I(null)}):/*#__PURE__*/o(B,{passkeys:x,isSubmitting:d,isCreating:k,onReset:i,onClose:n,onSubmitEnrollment:()=>P(x.map((o=>o.credentialId))),onAddPasskey:A})};let T=({onReset:r,onClose:c,onClick:m,isCreating:a})=>/*#__PURE__*/e(n,{children:[/*#__PURE__*/o(h,{backFn:r,onClose:c},"header"),/*#__PURE__*/o(b,{children:/*#__PURE__*/e(w,{children:[/*#__PURE__*/o(k,{}),/*#__PURE__*/o(g,{})]})}),/*#__PURE__*/o(v,{children:"Set up passkey verification"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(s,{})}),"Verify with Touch ID, Face ID, PIN, or hardware key"]}),/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(t,{})}),"Takes seconds to set up and use"]}),/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(i,{})}),"Use your passkey to verify transactions and login to your account"]})]}),/*#__PURE__*/o(l,{style:{marginTop:"2.25rem"},onClick:m,loading:a,children:"Add a new passkey"}),/*#__PURE__*/o(d,{})]}),B=({onReset:i,onClose:r,onAddPasskey:t,onSubmitEnrollment:s,passkeys:m,isSubmitting:a,isCreating:u})=>{let[y,j]=c(!1),f=y?m.length:m.length>3?2:3;/*#__PURE__*/return e(n,{children:[/*#__PURE__*/o(h,{backFn:y?()=>j(!1):i,onClose:r},"header"),!y&&/*#__PURE__*/o(b,{children:/*#__PURE__*/e(w,{children:[/*#__PURE__*/o(k,{}),/*#__PURE__*/o(g,{})]})}),/*#__PURE__*/o(v,{children:"Enable your passkeys for verification"}),/*#__PURE__*/e(I,{children:[m.slice(0,f).map((n=>/*#__PURE__*/e(L,{children:[/*#__PURE__*/o(N,{children:z(n)}),/*#__PURE__*/e(R,{children:["Last used: ",n.latestVerifiedAt?.toLocaleString()]})]},n.credentialId))),!y&&m.length>3&&/*#__PURE__*/o(M,{onClick:()=>j(!0),children:"View All"})]}),/*#__PURE__*/o(l,{style:{marginTop:"1.5rem"},onClick:s,loading:a,children:"Enable passkeys"}),m.length<5&&/*#__PURE__*/o(M,{style:{marginTop:"0.5rem"},onClick:t,disabled:u,children:u?/*#__PURE__*/o(p,{style:{height:"1rem",width:"1rem",borderWidth:2}}):"Add new passkey"}),/*#__PURE__*/o(d,{})]})},F=({onClick:i,onClose:t})=>/*#__PURE__*/e(n,{children:[/*#__PURE__*/o(h,{onClose:t},"header"),/*#__PURE__*/o(P,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(r,{})}),/*#__PURE__*/o(v,{children:"Passkey verification added"}),/*#__PURE__*/o(A,{children:"From now on, you'll use the passkey whenever you use your Privy wallet."}),/*#__PURE__*/o(W,{children:/*#__PURE__*/o(l,{onClick:i,children:"Done"})}),/*#__PURE__*/o(d,{})]}),L=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItem",componentId:"sc-926c6706-0"})(["&&{padding:0.75rem 1rem;text-align:left;border-radius:0.5rem;border:1px solid var(--privy-color-foreground-4);width:100%;}"]),N=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItemTitle",componentId:"sc-926c6706-1"})(["font-size:0.875rem;line-height:1.375rem;font-weight:500;color:var(--privy-color-foreground-1);"]),R=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItemSubtitle",componentId:"sc-926c6706-2"})(["font-size:0.75rem;font-weight:400;line-height:1.125rem;color:var(--privy-color-foreground-2);"]),z=o=>o.authenticatorName?o.createdWithBrowser?`${o.authenticatorName} on ${o.createdWithBrowser}`:o.authenticatorName:o.createdWithBrowser?o.createdWithOs?`${o.createdWithBrowser} on ${o.createdWithOs}`:`${o.createdWithBrowser}`:"Unknown device";const M=/*#__PURE__*/a.button.withConfig({displayName:"StyledLink",componentId:"sc-926c6706-3"})(["&&{width:100%;font-size:0.875rem;line-height:1rem;@media (min-width:440px){font-size:14px;}display:flex;gap:12px;justify-content:center;padding:0.75rem 1rem;background-color:var(--privy-color-background);transition:background-color 200ms ease;color:var(--privy-color-accent);:focus{outline:none;box-shadow:none;}}"]);export{E as EnrollPasskey,M as StyledLink};
1
+ import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import r from"@heroicons/react/24/outline/CheckCircleIcon";import t from"@heroicons/react/24/outline/ClockIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useMemo as m}from"react";import{styled as a}from"styled-components";import{PrimaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as d}from"../../components/ModalFooter.mjs";import{ModalHeader as h}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{usePrivyContext as j}from"../../hooks/privy-context.mjs";import{useMfaEnrollment as f}from"../../hooks/useMfaEnrollment.mjs";import{FaceId as k}from"../../svg/face-id.mjs";import{FingerPrint as g}from"../../svg/fingerprint.mjs";import{ErrorScreenView as C}from"../ErrorScreen.mjs";import{DoubleIconWrapper as w}from"../LinkPasskeyScreen.mjs";import{AppLogoContainer as b,Title as v,List as I,ListItem as x,ListItemIcon as S,IconWrapper as P,SubTitle as A,BottomSection as W}from"./StyledComponents.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/CheckBadgeIcon";import"@heroicons/react/24/solid/LockClosedIcon";const E=({onComplete:e,onClose:n,onReset:i})=>{let{user:r}=j(),{data:t}=y(),{initLinkWithPasskey:s,linkWithPasskey:a}=u(),{initEnrollmentWithPasskey:l,submitEnrollmentWithPasskey:p}=f(),[d,h]=c(!1),[k,g]=c(!1),[w,b]=c(!1),[v,I]=c(null),x=m((()=>r?.linkedAccounts.filter((o=>"passkey"===o.type))??[]),[r]),S=()=>{t?.mfaEnrollmentFlow?.onSuccess(),e()},P=async o=>{h(!0);try{await l(),await p({credentialIds:o}),b(!0)}catch(o){I(o)}finally{h(!1)}},A=async()=>{g(!0),I(null);try{await s();let o=await a(),e=o?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];await P(e)}catch(o){I(o)}finally{g(!1)}};return 0===x.length||k?/*#__PURE__*/o(T,{onReset:i,onClose:n,onClick:A,isCreating:k}):w?/*#__PURE__*/o(F,{onClick:S,onClose:S}):v?/*#__PURE__*/o(C,{error:v,backFn:()=>I(null),onClick:()=>I(null)}):/*#__PURE__*/o(B,{passkeys:x,isSubmitting:d,isCreating:k,onReset:i,onClose:n,onSubmitEnrollment:()=>P(x.map((o=>o.credentialId))),onAddPasskey:A})};let T=({onReset:r,onClose:c,onClick:m,isCreating:a})=>/*#__PURE__*/e(n,{children:[/*#__PURE__*/o(h,{backFn:r,onClose:c},"header"),/*#__PURE__*/o(b,{children:/*#__PURE__*/e(w,{children:[/*#__PURE__*/o(k,{}),/*#__PURE__*/o(g,{})]})}),/*#__PURE__*/o(v,{children:"Set up passkey verification"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(s,{})}),"Verify with Touch ID, Face ID, PIN, or hardware key"]}),/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(t,{})}),"Takes seconds to set up and use"]}),/*#__PURE__*/e(x,{children:[/*#__PURE__*/o(S,{children:/*#__PURE__*/o(i,{})}),"Use your passkey to verify transactions and login to your account"]})]}),/*#__PURE__*/o(l,{style:{marginTop:"2.25rem"},onClick:m,loading:a,children:"Add a new passkey"}),/*#__PURE__*/o(d,{})]}),B=({onReset:i,onClose:r,onAddPasskey:t,onSubmitEnrollment:s,passkeys:m,isSubmitting:a,isCreating:u})=>{let[y,j]=c(!1),f=y?m.length:m.length>3?2:3;/*#__PURE__*/return e(n,{children:[/*#__PURE__*/o(h,{backFn:y?()=>j(!1):i,onClose:r},"header"),!y&&/*#__PURE__*/o(b,{children:/*#__PURE__*/e(w,{children:[/*#__PURE__*/o(k,{}),/*#__PURE__*/o(g,{})]})}),/*#__PURE__*/o(v,{children:"Enable your passkeys for verification"}),/*#__PURE__*/e(I,{children:[m.slice(0,f).map((n=>/*#__PURE__*/e(L,{children:[/*#__PURE__*/o(N,{children:z(n)}),/*#__PURE__*/e(R,{children:["Last used: ",n.latestVerifiedAt?.toLocaleString()]})]},n.credentialId))),!y&&m.length>3&&/*#__PURE__*/o(M,{onClick:()=>j(!0),children:"View All"})]}),/*#__PURE__*/o(l,{style:{marginTop:"1.5rem"},onClick:s,loading:a,children:"Enable passkeys"}),m.length<5&&/*#__PURE__*/o(M,{style:{marginTop:"0.5rem"},onClick:t,disabled:u,children:u?/*#__PURE__*/o(p,{style:{height:"1rem",width:"1rem",borderWidth:2}}):"Add new passkey"}),/*#__PURE__*/o(d,{})]})},F=({onClick:i,onClose:t})=>/*#__PURE__*/e(n,{children:[/*#__PURE__*/o(h,{onClose:t},"header"),/*#__PURE__*/o(P,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(r,{})}),/*#__PURE__*/o(v,{children:"Passkey verification added"}),/*#__PURE__*/o(A,{children:"From now on, you'll use the passkey whenever you use your Privy wallet."}),/*#__PURE__*/o(W,{children:/*#__PURE__*/o(l,{onClick:i,children:"Done"})}),/*#__PURE__*/o(d,{})]}),L=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItem",componentId:"sc-926c6706-0"})(["&&{padding:0.75rem 1rem;text-align:left;border-radius:0.5rem;border:1px solid var(--privy-color-foreground-4);width:100%;}"]),N=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItemTitle",componentId:"sc-926c6706-1"})(["font-size:0.875rem;line-height:1.375rem;font-weight:500;color:var(--privy-color-foreground-1);"]),R=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItemSubtitle",componentId:"sc-926c6706-2"})(["font-size:0.75rem;font-weight:400;line-height:1.125rem;color:var(--privy-color-foreground-2);"]),z=o=>o.authenticatorName?o.createdWithBrowser?`${o.authenticatorName} on ${o.createdWithBrowser}`:o.authenticatorName:o.createdWithBrowser?o.createdWithOs?`${o.createdWithBrowser} on ${o.createdWithOs}`:`${o.createdWithBrowser}`:"Unknown device";const M=/*#__PURE__*/a.button.withConfig({displayName:"StyledLink",componentId:"sc-926c6706-3"})(["&&{width:100%;font-size:0.875rem;line-height:1rem;@media (min-width:440px){font-size:14px;}display:flex;gap:12px;justify-content:center;padding:0.75rem 1rem;background-color:var(--privy-color-background);transition:background-color 200ms ease;color:var(--privy-color-accent);:focus{outline:none;box-shadow:none;}}"]);export{E as EnrollPasskey,M as StyledLink};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/CheckCircleIcon";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import{useState as i}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{CopytoClipboardButton as s}from"../../components/CopyToClipboard.mjs";import{CenteredItemWithPadding as m,CenteredItem as a}from"../../components/Layouts.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as d,errorIndicatesMfaVerificationFailed as j,errorIndicatesMfaTimeout as u,errorIndicatesMfaCanceled as f}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as g}from"../../hooks/useMfaEnrollment.mjs";import{AddTotpProviderQr as v}from"../../svg/qr-codes.mjs";import{Title as b,SubTitle as C,BottomSection as k,IconWrapper as w,Container as x}from"./StyledComponents.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/coinbase-wallet.mjs";const I=({onComplete:I,onClose:E,onReset:S,totpInfo:P})=>{let[A,F]=i("enroll"),[M,T]=i(!1),{submitEnrollmentWithTotp:z}=g(),{data:Q}=y();function R(){Q?.mfaEnrollmentFlow?.onSuccess(),I()}/*#__PURE__*/return o(e,"enroll"===A?{children:[/*#__PURE__*/r(l,{backFn:S,onClose:E},"header"),/*#__PURE__*/r(b,{children:"Scan QR code"}),/*#__PURE__*/r(C,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/r(m,{children:/*#__PURE__*/r(v,{authUrl:P.authUrl,size:200})}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/r(a,{children:/*#__PURE__*/r(s,{itemName:"secret",text:P.secret})}),/*#__PURE__*/r(c,{onClick:function(){F("verify")},children:"Continue"})]}),/*#__PURE__*/r(p,{})]}:M?{children:[/*#__PURE__*/r(l,{onClose:R},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(t,{})}),/*#__PURE__*/r(b,{children:"Authenticator app verification added"}),/*#__PURE__*/r(C,{children:"From now on, you'll enter the verification code generated by your authenticator app whenever you use your Privy wallet."}),/*#__PURE__*/r(k,{children:/*#__PURE__*/r(c,{onClick:R,children:"Done"})}),/*#__PURE__*/r(p,{})]}:{children:[/*#__PURE__*/r(l,{backFn:function(){"verify"===A?F("enroll"):S()},onClose:E},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(n,{})}),/*#__PURE__*/r(b,{children:"Enter enrollment code"}),/*#__PURE__*/r(x,{children:/*#__PURE__*/r(h,{onChange:async function(o){try{if(!o)return;await z({mfaCode:o}),T(!0)}catch(o){if(d(o))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(j(o))throw Error("The code you entered is not valid");if(u(o))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw f(o)?Error("Verification canceled"):Error("Unknown error")}}})}),/*#__PURE__*/o(C,{children:["To continue, enter the 6-digit code generated from your ",/*#__PURE__*/r("strong",{children:"authenticator app"})]}),/*#__PURE__*/r(p,{})]})};export{I as EnrollTotp};
1
+ import{jsxs as o,Fragment as e,jsx as r}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/CheckCircleIcon";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import{useState as i}from"react";import{PrimaryButton as c}from"../../components/Button.mjs";import{CopytoClipboardButton as s}from"../../components/CopyToClipboard.mjs";import{CenteredItemWithPadding as m,CenteredItem as a}from"../../components/Layouts.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as l}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{errorIndicatesMfaRateLimit as d,errorIndicatesMfaVerificationFailed as j,errorIndicatesMfaTimeout as u,errorIndicatesMfaCanceled as f}from"../../embedded-wallets/errors.mjs";import{usePrivyModal as y}from"../../hooks/modal-context.mjs";import{useMfaEnrollment as g}from"../../hooks/useMfaEnrollment.mjs";import{AddTotpProviderQr as v}from"../../svg/qr-codes.mjs";import{Title as b,SubTitle as C,BottomSection as k,IconWrapper as w,Container as x}from"./StyledComponents.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/internal-context.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"../../hooks/privy-context.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/coinbase-wallet.mjs";const I=({onComplete:I,onClose:E,onReset:S,totpInfo:P})=>{let[A,F]=i("enroll"),[M,T]=i(!1),{submitEnrollmentWithTotp:z}=g(),{data:Q}=y();function R(){Q?.mfaEnrollmentFlow?.onSuccess(),I()}/*#__PURE__*/return o(e,"enroll"===A?{children:[/*#__PURE__*/r(l,{backFn:S,onClose:E},"header"),/*#__PURE__*/r(b,{children:"Scan QR code"}),/*#__PURE__*/r(C,{children:"Open your authenticator app and scan the QR code to continue."}),/*#__PURE__*/r(m,{children:/*#__PURE__*/r(v,{authUrl:P.authUrl,size:200})}),/*#__PURE__*/o(k,{children:[/*#__PURE__*/r(a,{children:/*#__PURE__*/r(s,{itemName:"secret",text:P.secret})}),/*#__PURE__*/r(c,{onClick:function(){F("verify")},children:"Continue"})]}),/*#__PURE__*/r(p,{})]}:M?{children:[/*#__PURE__*/r(l,{onClose:R},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(t,{})}),/*#__PURE__*/r(b,{children:"Authenticator app verification added"}),/*#__PURE__*/r(C,{children:"From now on, you'll enter the verification code generated by your authenticator app whenever you use your Privy wallet."}),/*#__PURE__*/r(k,{children:/*#__PURE__*/r(c,{onClick:R,children:"Done"})}),/*#__PURE__*/r(p,{})]}:{children:[/*#__PURE__*/r(l,{backFn:function(){"verify"===A?F("enroll"):S()},onClose:E},"header"),/*#__PURE__*/r(w,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/r(n,{})}),/*#__PURE__*/r(b,{children:"Enter enrollment code"}),/*#__PURE__*/r(x,{children:/*#__PURE__*/r(h,{onChange:async function(o){try{if(!o)return;await z({mfaCode:o}),T(!0)}catch(o){if(d(o))throw Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.");if(j(o))throw Error("The code you entered is not valid");if(u(o))throw Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.");throw f(o)?Error("Verification canceled"):Error("Unknown error")}}})}),/*#__PURE__*/o(C,{children:["To continue, enter the 6-digit code generated from your ",/*#__PURE__*/r("strong",{children:"authenticator app"})]}),/*#__PURE__*/r(p,{})]})};export{I as EnrollTotp};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as n}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import i from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/IdentificationIcon";import{useState as c,useEffect as m}from"react";import{PrimaryButton as a,SecondaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{useMfa as y}from"../../hooks/useMfa.mjs";import{useMfaEnrollment as k}from"../../hooks/useMfaEnrollment.mjs";import{MfaShieldIcon as g}from"../../svg/mfa-shield.mjs";import{EnrollLandingScreen as C}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as v}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as b}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as w,IconWrapper as S,Title as A,SubTitle as x,BottomSection as P,List as E,ListItem as R,ListItemIcon as T}from"./StyledComponents.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../LandingScreen/styles.mjs";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../ErrorScreen.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@privy-io/js-sdk-core";import"../../components/ConnectPhoneForm.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/PinInput.mjs";import"react-device-detect";import"../../components/CopyToClipboard.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../components/Layouts.mjs";import"../../svg/qr-codes.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../svg/coinbase-wallet.mjs";const F=()=>{let{user:F,enrollInMfa:L}=f(),[B,W]=c(null),{unenrollWithSms:q,unenrollWithTotp:z,unenrollWithPasskey:D}=k(),{app:H,ready:O,data:Y,onUserCloseViaDialogOrKeybindRef:Q}=j(),{closePrivyModal:K}=u(),{promptMfa:N}=y(),{initEnrollmentWithTotp:U}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{K({shouldCallAuthOnSuccess:!0}),L(!1),setTimeout((()=>{W(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);Q.current=_;let so=F?.mfaMethods.includes("sms"),co=!!F?.phone,mo=F?.mfaMethods.includes("totp"),ao=F?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=F?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){W(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!O||!F||!H/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(w,{children:/*#__PURE__*/n(p,{})}),/*#__PURE__*/n(h,{})]});if("sms"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove SMS verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await q()}catch(o){W(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/n(h,{})]});if("totp"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await z()}catch(o){W(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Are you sure you want to remove passkey verification?"}),/*#__PURE__*/n(x,{children:"This will disable any passkeys you have set up for verification. You’ll still be able to login with your passkeys if you’ve set up passkey login."}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await N(),await D()}catch(o){W(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]});if(0===Y.mfaEnrollmentFlow.mfaMethods.length&&!lo)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Add more security"}),/*#__PURE__*/o(x,{children:[H?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{onClick:_,children:"Close"})}),/*#__PURE__*/n(h,{})]});let uo=!lo&&!V;return uo?/*#__PURE__*/o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Transaction Protection"}),/*#__PURE__*/n(x,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",H?.name," wallet."]}),/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(a,{onClick:()=>X(!0),children:"Continue"}),/*#__PURE__*/n(l,{onClick:_,children:"Not now"})]}),/*#__PURE__*/n(h,{})]}):"sms"===G?/*#__PURE__*/n(M,{onComplete:_,onReset:ho,onClose:_}):"totp"===G&&Z?/*#__PURE__*/n(b,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(v,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(C,{showIntro:uo,userMfaMethods:F.mfaMethods,appMfaMethods:H.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await N().catch(io),"totp"===o?(J(o),$(null),void U().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:W})};export{F as MfaEnrollmentFlowScreen};
1
+ import{jsxs as o,Fragment as e,jsx as n}from"react/jsx-runtime";import t from"@heroicons/react/24/outline/QuestionMarkCircleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import i from"@heroicons/react/24/solid/CheckBadgeIcon";import s from"@heroicons/react/24/solid/IdentificationIcon";import{useState as c,useEffect as m}from"react";import{PrimaryButton as a,SecondaryButton as l}from"../../components/Button.mjs";import{Loader as p}from"../../components/Loader.mjs";import{ModalFooter as h}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{usePrivyInternal as u}from"../../hooks/internal-context.mjs";import{usePrivyModal as j}from"../../hooks/modal-context.mjs";import{usePrivyContext as f}from"../../hooks/privy-context.mjs";import{useMfa as y}from"../../hooks/useMfa.mjs";import{useMfaEnrollment as k}from"../../hooks/useMfaEnrollment.mjs";import{MfaShieldIcon as g}from"../../svg/mfa-shield.mjs";import{EnrollLandingScreen as C}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as v}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as b}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as w,IconWrapper as S,Title as A,SubTitle as x,BottomSection as P,List as E,ListItem as R,ListItemIcon as T}from"./StyledComponents.mjs";import"styled-components";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/DevicePhoneMobileIcon";import"@heroicons/react/24/outline/FingerPrintIcon";import"@heroicons/react/24/outline/MinusCircleIcon";import"@heroicons/react/24/outline/PhoneIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../LandingScreen/styles.mjs";import"@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/ClockIcon";import"../../svg/face-id.mjs";import"../../svg/fingerprint.mjs";import"../ErrorScreen.mjs";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/CircleBorder.mjs";import"../../components/layout/StackedContainer.mjs";import"../../embedded-wallets/errors.mjs";import"../../embedded-wallets/types.mjs";import"../../errors.mjs";import"ofetch";import"../../hooks/captcha-context.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../utils/eth/getPublicClient.mjs";import"viem";import"../../svg/lock-closed.mjs";import"../LinkPasskeyScreen.mjs";import"@heroicons/react/24/outline/TrashIcon";import"@heroicons/react/24/solid/LockClosedIcon";import"@privy-io/js-sdk-core";import"../../components/ConnectPhoneForm.mjs";import"../../recent-login/context.mjs";import"../../hooks/events-context.mjs";import"../../storage.mjs";import"../../components/PhoneCountryDropdown.mjs";import"../../components/PinInput.mjs";import"react-device-detect";import"../../components/CopyToClipboard.mjs";import"../../svg/checkmark.mjs";import"../../svg/copy.mjs";import"../../components/Layouts.mjs";import"../../svg/qr-codes.mjs";import"@heroicons/react/24/solid/ShieldCheckIcon";import"../../components/QrCode.mjs";import"qrcode";import"../../svg/black-rounded-square.mjs";import"../../svg/coinbase-wallet.mjs";const F=()=>{let{user:F,enrollInMfa:L}=f(),[B,W]=c(null),{unenrollWithSms:q,unenrollWithTotp:z,unenrollWithPasskey:D}=k(),{app:H,ready:O,data:Y,onUserCloseViaDialogOrKeybindRef:Q}=j(),{closePrivyModal:K}=u(),{promptMfa:N}=y(),{initEnrollmentWithTotp:U}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{K({shouldCallAuthOnSuccess:!0}),L(!1),setTimeout((()=>{W(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);Q.current=_;let so=F?.mfaMethods.includes("sms"),co=!!F?.phone,mo=F?.mfaMethods.includes("totp"),ao=F?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=F?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){W(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!O||!F||!H/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(w,{children:/*#__PURE__*/n(p,{})}),/*#__PURE__*/n(h,{})]});if("sms"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove SMS verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await q()}catch(o){W(null)}},children:"Remove SMS for MFA"})}),/*#__PURE__*/n(h,{})]});if("totp"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Remove Authenticator App verification?"}),/*#__PURE__*/o(x,{children:["MFA adds an extra layer of security to your ",H?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await z()}catch(o){W(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{backFn:ho,onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(t,{})}),/*#__PURE__*/n(A,{children:"Are you sure you want to remove passkey verification?"}),/*#__PURE__*/n(x,{children:"This will disable any passkeys you have set up for verification. You’ll still be able to login with your passkeys if you’ve set up passkey login."}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){W(null);try{await D()}catch(o){W(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]});if(0===Y.mfaEnrollmentFlow.mfaMethods.length&&!lo)/*#__PURE__*/return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Add more security"}),/*#__PURE__*/o(x,{children:[H?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(P,{children:/*#__PURE__*/n(a,{onClick:_,children:"Close"})}),/*#__PURE__*/n(h,{})]});let uo=!lo&&!V;return uo?/*#__PURE__*/o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(S,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/n(r,{})}),/*#__PURE__*/n(A,{children:"Transaction Protection"}),/*#__PURE__*/n(x,{children:"Set up transaction protection to add an extra layer of security to your account"}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",H?.name," wallet."]}),/*#__PURE__*/o(R,{children:[/*#__PURE__*/n(T,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(a,{onClick:()=>X(!0),children:"Continue"}),/*#__PURE__*/n(l,{onClick:_,children:"Not now"})]}),/*#__PURE__*/n(h,{})]}):"sms"===G?/*#__PURE__*/n(M,{onComplete:_,onReset:ho,onClose:_}):"totp"===G&&Z?/*#__PURE__*/n(b,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(v,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(C,{showIntro:uo,userMfaMethods:F.mfaMethods,appMfaMethods:H.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await N().catch(io),"totp"===o?(J(o),$(null),void U().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:async o=>{await N().catch(io),W(o)}})};export{F as MfaEnrollmentFlowScreen};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import r from"@heroicons/react/24/outline/FingerPrintIcon";import i from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useEffect as m,useRef as a}from"react";import{SecondaryButton as l}from"../../components/Button.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{TransactionDetailsWrapper as u}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import{errorIndicatesMaxMfaRetries as j,errorIndicatesMfaVerificationFailed as f,errorIndicatesMfaTimeout as y}from"../../embedded-wallets/errors.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as k}from"../../hooks/modal-context.mjs";import{usePrivyContext as b}from"../../hooks/privy-context.mjs";import{useMfa as C}from"../../hooks/useMfa.mjs";import{LoginMethodButton as w}from"../LandingScreen/styles.mjs";import{IconWrapper as v,Title as S,SubTitle as M,MethodList as x,Container as I,PrimaryTextButton as T}from"./StyledComponents.mjs";import{VerifyWithPasskey as A}from"./VerifyWithPasskey.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"react-device-detect";import"viem";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/CalendarIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/layout/StackedContainer.mjs";import"../../svg/face-id.mjs";const P=({open:l,onClose:h})=>{let{user:u}=b(),[g,k]=c(u?.mfaMethods[0]??null),{init:I,cancel:T,submit:P}=C(),[B,D]=c(!1),[L,V]=c(!1),[z,W]=c(null),[F,G]=c(null);m((()=>{k(u?.mfaMethods[0]??null)}),[u?.mfaMethods]);let H=a(!1);m((()=>{!H.current&&g&&l&&(H.current=!0,R(g).finally((()=>{H.current=!1})))}),[l]);let N=o=>j(o)?(D(!0),Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.")):f(o)?(D(!1),Error("The code you entered is not valid")):y(o)?(D(!0),Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.")):(console.error(o),D(!1),Error("Something went wrong."));async function O(o){G(null);try{if(!o||!g)return;await P(g,o),V(!0),D(!1),h()}catch(o){throw N(o)}}async function R(o){if("passkey"!==o)try{k(o),await I(o)}catch(o){console.error(o)}else try{k(o);let e=await I(o);if(!e)throw Error("something went wrong");W(e),await P(o,e),V(!0),D(!1),h()}catch(o){G(N(o))}}let Y=()=>{k(null),G(null),T(),h()};return l&&u?"passkey"===g?/*#__PURE__*/o(A,{account:u.linkedAccounts.filter((o=>"passkey"===o.type&&o.enrolledInMfa)).sort(((o,e)=>e.firstVerifiedAt.valueOf()-o.firstVerifiedAt.valueOf()))[0],selectedMethod:g,submitSuccess:L,hasBlockingError:B,error:F,onClose:Y,onBack:()=>{k(null),G(null)},handleSubmit:()=>O(z).catch(G)}):g?/*#__PURE__*/o(E,{submitSuccess:L,hasBlockingError:B,handleSubmitCode:O,selectedMethod:g,onClose:Y,onBack:u.mfaMethods.length>1?()=>k(null):void 0}):/*#__PURE__*/e(t,{children:[/*#__PURE__*/o(d,{onClose:Y},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(s,{})}),/*#__PURE__*/o(S,{children:"Verify your identity"}),/*#__PURE__*/o(M,{children:"Choose a verification method"}),/*#__PURE__*/e(x,{children:[u.mfaMethods.includes("totp")&&/*#__PURE__*/e(w,{onClick:()=>R("totp"),children:[/*#__PURE__*/o(n,{}),"Authenticator App"]},"totp"),u.mfaMethods.includes("sms")&&/*#__PURE__*/e(w,{onClick:()=>R("sms"),children:[/*#__PURE__*/o(i,{}),"SMS"]},"sms"),u.mfaMethods.includes("passkey")&&/*#__PURE__*/e(w,{onClick:()=>R("passkey"),children:[/*#__PURE__*/o(r,{}),"Passkey"]},"passkey")]}),/*#__PURE__*/o(p,{})]}):null};let E=({selectedMethod:r,submitSuccess:s,hasBlockingError:c,onClose:m,onBack:a,handleSubmitCode:j})=>{let{app:f}=k(),{pendingTransaction:y}=g();switch(r){case"sms":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(i,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code sent to your ",/*#__PURE__*/o("strong",{children:"mobile device"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});case"totp":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(n,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code generated from your"," ",/*#__PURE__*/o("strong",{children:"authenticator app"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});default:return null}};export{P as MfaVerifyFlowScreen};
1
+ import{jsx as o,jsxs as e,Fragment as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/DevicePhoneMobileIcon";import r from"@heroicons/react/24/outline/FingerPrintIcon";import i from"@heroicons/react/24/outline/PhoneIcon";import s from"@heroicons/react/24/outline/ShieldCheckIcon";import{useState as c,useEffect as m,useRef as a}from"react";import{SecondaryButton as l}from"../../components/Button.mjs";import{ModalFooter as p}from"../../components/ModalFooter.mjs";import{ModalHeader as d}from"../../components/ModalHeader.mjs";import{NumericPinInput as h}from"../../components/PinInput.mjs";import{TransactionDetailsWrapper as u}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import{errorIndicatesMaxMfaRetries as j,errorIndicatesMfaVerificationFailed as f,errorIndicatesMfaTimeout as y}from"../../embedded-wallets/errors.mjs";import{usePrivyInternal as g}from"../../hooks/internal-context.mjs";import{usePrivyModal as k}from"../../hooks/modal-context.mjs";import{usePrivyContext as b}from"../../hooks/privy-context.mjs";import{useMfa as C}from"../../hooks/useMfa.mjs";import{LoginMethodButton as w}from"../LandingScreen/styles.mjs";import{IconWrapper as v,Title as S,SubTitle as M,MethodList as x,Container as I,PrimaryTextButton as T}from"./StyledComponents.mjs";import{VerifyWithPasskey as A}from"./VerifyWithPasskey.mjs";import"styled-components";import"../../components/Loader.mjs";import"../../configuration/context.mjs";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"react-device-detect";import"viem";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";import"../../embedded-wallets/types.mjs";import"../../components/PrefetchedImage.mjs";import"../index.mjs";import"@heroicons/react/24/outline/CalendarIcon";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"../../components/layout/StackedContainer.mjs";import"../../svg/face-id.mjs";const P=({open:l,onClose:h})=>{let{user:u}=b(),[g,k]=c(u?.mfaMethods[0]??null),{init:I,cancel:T,submit:P}=C(),[B,D]=c(!1),[L,V]=c(!1),[z,W]=c(null),[F,G]=c(null);m((()=>{k(u?.mfaMethods[0]??null)}),[u?.mfaMethods]);let H=a(!1);m((()=>{!H.current&&g&&l&&(H.current=!0,R(g).finally((()=>{H.current=!1})))}),[l]);let N=o=>j(o)?(D(!0),Error("You have exceeded the maximum number of attempts. Please close this window and try again in 10 seconds.")):f(o)?(D(!1),Error("The code you entered is not valid")):y(o)?(D(!0),Error("You have exceeded the time limit for code entry. Please try again in 30 seconds.")):(console.error(o),D(!1),Error("Something went wrong."));async function O(o){G(null);try{if(!o||!g)return;await P(g,o),V(!0),D(!1),h()}catch(o){throw N(o)}}async function R(o){if("passkey"!==o)try{k(o),await I(o)}catch(o){console.error(o)}else try{k(o);let e=await I(o);if(!e)throw Error("something went wrong");W(e),await P(o,e),V(!0),D(!1),h()}catch(o){G(N(o))}}let Y=()=>{k(null),G(null),T(),h()};return l&&u?"passkey"===g?/*#__PURE__*/o(A,{account:u.linkedAccounts.filter((o=>"passkey"===o.type&&o.enrolledInMfa)).sort(((o,e)=>e.firstVerifiedAt.valueOf()-o.firstVerifiedAt.valueOf()))[0],selectedMethod:g,submitSuccess:L,hasBlockingError:B,error:F,onClose:Y,onBack:()=>{k(null),G(null)},handleSubmit:()=>O(z).catch(G)}):g?/*#__PURE__*/o(E,{submitSuccess:L,hasBlockingError:B,handleSubmitCode:O,selectedMethod:g,onClose:Y,onBack:u.mfaMethods.length>1?()=>k(null):void 0}):/*#__PURE__*/e(t,{children:[/*#__PURE__*/o(d,{onClose:Y},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(s,{})}),/*#__PURE__*/o(S,{children:"Verify your identity"}),/*#__PURE__*/o(M,{children:"Choose a verification method"}),/*#__PURE__*/e(x,{children:[u.mfaMethods.includes("totp")&&/*#__PURE__*/e(w,{onClick:()=>R("totp"),children:[/*#__PURE__*/o(n,{}),"Authenticator App"]},"totp"),u.mfaMethods.includes("sms")&&/*#__PURE__*/e(w,{onClick:()=>R("sms"),children:[/*#__PURE__*/o(i,{}),"SMS"]},"sms"),u.mfaMethods.includes("passkey")&&/*#__PURE__*/e(w,{onClick:()=>R("passkey"),children:[/*#__PURE__*/o(r,{}),"Passkey"]},"passkey")]}),/*#__PURE__*/o(p,{})]}):null};let E=({selectedMethod:r,submitSuccess:s,hasBlockingError:c,onClose:m,onBack:a,handleSubmitCode:j})=>{let{app:f}=k(),{pendingTransaction:y}=g();switch(r){case"sms":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(i,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code sent to your ",/*#__PURE__*/o("strong",{children:"mobile device"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});case"totp":/*#__PURE__*/return e(t,{children:[/*#__PURE__*/o(d,{onClose:m},"header"),/*#__PURE__*/o(v,{style:{marginBottom:"1.5rem"},children:/*#__PURE__*/o(n,{})}),/*#__PURE__*/o(S,{children:"Enter verification code"}),/*#__PURE__*/e(I,{children:[/*#__PURE__*/o(h,{success:s,disabled:c,onChange:j}),/*#__PURE__*/e(M,{children:["To continue, please enter the 6-digit code generated from your"," ",/*#__PURE__*/o("strong",{children:"authenticator app"})]}),y&&/*#__PURE__*/o(u,{pendingTransaction:y})]}),a&&/*#__PURE__*/o(T,{theme:f?.appearance.palette.colorScheme,onClick:a,children:"Choose another method"}),/*#__PURE__*/o(l,{onClick:m,children:"Not now"}),/*#__PURE__*/o(p,{})]});default:return null}};export{P as MfaVerifyFlowScreen};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CalendarIcon";import e from"@heroicons/react/24/outline/ExclamationTriangleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import{PrimaryButton as s}from"../../components/Button.mjs";import{ConnectionLoader as m}from"../../components/Loader.mjs";import{ModalFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{TransactionDetailsWrapper as p}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import l from"../../components/layout/StackedContainer.mjs";import{usePrivyInternal as h}from"../../hooks/internal-context.mjs";import{FaceId as d}from"../../svg/face-id.mjs";import{Title as j,List as u,ListItem as f,ListItemIcon as g,Container as y,ErrorMessage as b,PrimaryTextButton as k}from"./StyledComponents.mjs";import"styled-components";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../hooks/index.mjs";import"viem";import"../../hooks/privy-context.mjs";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const T=({hasBlockingError:T,error:v,onClose:C,onBack:w,handleSubmit:x,account:I,submitSuccess:S})=>{let{pendingTransaction:A}=h();/*#__PURE__*/return o(i,{children:[/*#__PURE__*/t(a,{onClose:C},"header"),/*#__PURE__*/t(l,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/t(m,{success:S,fail:!!v}),/*#__PURE__*/t(v?e:d,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/t(j,{style:{marginTop:"1rem"},children:"Verifying with passkey"}),/*#__PURE__*/o(u,{children:[/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(r,{})}),"Approve this action using your touch, face, PIN, or hardware key."]}),/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(n,{})}),"You last added a passkey on"," ",I?.firstVerifiedAt?.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}),"."]})]}),A&&/*#__PURE__*/t(y,{children:/*#__PURE__*/t(p,{pendingTransaction:A})}),v&&/*#__PURE__*/o(i,{children:[/*#__PURE__*/t(b,{style:{marginTop:"1.25rem"},children:v.message}),/*#__PURE__*/t(s,{disabled:T,onClick:x,style:{marginTop:"1.25rem"},children:"Try again"})]}),w&&/*#__PURE__*/t(k,{style:{marginTop:"1rem"},onClick:w,children:"Choose another method"}),/*#__PURE__*/t(c,{})]})};export{T as VerifyWithPasskey};
1
+ import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import n from"@heroicons/react/24/outline/CalendarIcon";import e from"@heroicons/react/24/outline/ExclamationTriangleIcon";import r from"@heroicons/react/24/outline/ShieldCheckIcon";import{PrimaryButton as s}from"../../components/Button.mjs";import{ConnectionLoader as m}from"../../components/Loader.mjs";import{ModalFooter as c}from"../../components/ModalFooter.mjs";import{ModalHeader as a}from"../../components/ModalHeader.mjs";import{TransactionDetailsWrapper as p}from"../../components/embedded-wallets/TransactionDetailsWrapper.mjs";import l from"../../components/layout/StackedContainer.mjs";import{usePrivyInternal as h}from"../../hooks/internal-context.mjs";import{FaceId as d}from"../../svg/face-id.mjs";import{Title as j,List as u,ListItem as f,ListItemIcon as g,Container as y,ErrorMessage as b,PrimaryTextButton as k}from"./StyledComponents.mjs";import"styled-components";import"../../configuration/context.mjs";import"react";import"../../config.mjs";import"../../configuration/defaultClientConfig.mjs";import"../../constants.mjs";import"../../configuration/login-methods.mjs";import"../../configuration/wallets.mjs";import"../../connectors/chains/index.mjs";import"../../connectors/chains/arbitrum.mjs";import"../../connectors/chains/arbitrumSepolia.mjs";import"../../connectors/chains/avalanche.mjs";import"../../connectors/chains/avalancheFuji.mjs";import"../../connectors/chains/base.mjs";import"../../connectors/chains/baseSepolia.mjs";import"../../connectors/chains/berachainArtio.mjs";import"../../connectors/chains/celo.mjs";import"../../connectors/chains/celoAlfajores.mjs";import"../../connectors/chains/filecoin.mjs";import"../../connectors/chains/filecoinCalibration.mjs";import"../../connectors/chains/garnetHolesky.mjs";import"../../connectors/chains/holesky.mjs";import"../../connectors/chains/linea.mjs";import"../../connectors/chains/lineaTestnet.mjs";import"../../connectors/chains/lukso.mjs";import"../../connectors/chains/mainnet.mjs";import"../../connectors/chains/optimism.mjs";import"../../connectors/chains/optimismSepolia.mjs";import"../../connectors/chains/polygon.mjs";import"../../connectors/chains/polygonAmoy.mjs";import"../../connectors/chains/redstone.mjs";import"../../connectors/chains/sepolia.mjs";import"../../connectors/chains/zora.mjs";import"../../connectors/chains/zoraSepolia.mjs";import"../../connectors/chains/zoraTestnet.mjs";import"../../connectors/chains/utils.mjs";import"../../lib/solana/index.mjs";import"../../theme.mjs";import"tinycolor2";import"../../lib/cybr53.mjs";import"../../svg/protected-by-privy.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"../../hooks/index.mjs";import"viem";import"../../hooks/privy-context.mjs";import"../../hooks/useGetTokenPrice.mjs";import"../../hooks/useGetSolPrice.mjs";import"../../hooks/useWallets.mjs";import"../../lib/viem/prepareTransactionRequest.mjs";import"../../lib/viem/toViemTransactionSerializable.mjs";import"../../errors.mjs";import"ofetch";import"../../utils/eth/getPublicClient.mjs";import"../../components/embedded-wallets/TransactionDetails.mjs";import"../../components/embedded-wallets/DisplayInfoItem.mjs";import"../../components/embedded-wallets/PriceDisplay.mjs";import"../../lib/ethers.mjs";import"../../utils/index.mjs";import"../../connectors/get-legacy-injected-providers.mjs";import"../../connectors/is-wallet-installed.mjs";import"../../lib/solana/transaction.mjs";import"../../utils/buffer/readBigInt64LE.mjs";import"../../components/embedded-wallets/TransactionTotal.mjs";import"../../components/Layouts.mjs";import"../../components/primitives/Accordion/index.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"../../components/primitives/Accordion/AccordionContext.mjs";import"../../components/embedded-wallets/WalletLink.mjs";const T=({hasBlockingError:T,error:v,onClose:C,onBack:w,handleSubmit:x,account:I,submitSuccess:S})=>{let{pendingTransaction:A}=h();/*#__PURE__*/return o(i,{children:[/*#__PURE__*/t(a,{onClose:C},"header"),/*#__PURE__*/t(l,{children:/*#__PURE__*/o("div",{children:[/*#__PURE__*/t(m,{success:S,fail:!!v}),/*#__PURE__*/t(v?e:d,{style:{width:"38px",height:"38px"}})]})}),/*#__PURE__*/t(j,{style:{marginTop:"1rem"},children:"Verifying with passkey"}),/*#__PURE__*/o(u,{children:[/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(r,{})}),"Approve this action using your touch, face, PIN, or hardware key."]}),/*#__PURE__*/o(f,{children:[/*#__PURE__*/t(g,{children:/*#__PURE__*/t(n,{})}),"You last added a passkey on"," ",I?.firstVerifiedAt?.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}),"."]})]}),A&&/*#__PURE__*/t(y,{children:/*#__PURE__*/t(p,{pendingTransaction:A})}),v&&/*#__PURE__*/o(i,{children:[/*#__PURE__*/t(b,{style:{marginTop:"1.25rem"},children:v.message}),/*#__PURE__*/t(s,{disabled:T,onClick:x,style:{marginTop:"1.25rem"},children:"Try again"})]}),w&&/*#__PURE__*/t(k,{style:{marginTop:"1rem"},onClick:w,children:"Choose another method"}),/*#__PURE__*/t(c,{})]})};export{T as VerifyWithPasskey};