@privy-io/react-auth 2.0.5 → 2.0.7-beta-20250123232955

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 (51) hide show
  1. package/dist/cjs/client.js +1 -1
  2. package/dist/cjs/components/LoginModal.js +1 -1
  3. package/dist/cjs/config.js +1 -1
  4. package/dist/cjs/configuration/context.js +1 -1
  5. package/dist/cjs/connectors/embeddedProvider.js +1 -1
  6. package/dist/cjs/connectors/ethereum/index.js +1 -1
  7. package/dist/cjs/connectors/index.js +1 -1
  8. package/dist/cjs/constants.js +1 -1
  9. package/dist/cjs/embedded-wallets/solana/provider.js +1 -1
  10. package/dist/cjs/hooks/privy-provider.js +1 -1
  11. package/dist/cjs/hooks/useMfaEnrollment.js +1 -1
  12. package/dist/cjs/index.js +1 -1
  13. package/dist/cjs/{privy-provider-BJZXBWyw.js → privy-provider-B8LaAjk_.js} +1 -1
  14. package/dist/cjs/screens/Funding/ManualTransferScreen.js +1 -1
  15. package/dist/cjs/screens/LandingScreen/CustomLandingScreenView.js +1 -1
  16. package/dist/cjs/screens/LandingScreen/LandingScreenView.js +1 -1
  17. package/dist/cjs/screens/MfaScreens/EnrollPasskey.js +1 -1
  18. package/dist/cjs/screens/MfaScreens/MfaEnrollmentFlowScreen.js +1 -1
  19. package/dist/dts/farcaster.d.mts +1 -1
  20. package/dist/dts/farcaster.d.ts +1 -1
  21. package/dist/dts/index.d.mts +19 -8
  22. package/dist/dts/index.d.ts +19 -8
  23. package/dist/dts/smart-wallets.d.mts +1 -1
  24. package/dist/dts/smart-wallets.d.ts +1 -1
  25. package/dist/dts/solana.d.mts +4 -4
  26. package/dist/dts/solana.d.ts +4 -4
  27. package/dist/dts/{types-DQ7QKE2m.d.mts → types-B-zTuIEL.d.mts} +7 -0
  28. package/dist/dts/{types-DQ7QKE2m.d.ts → types-B-zTuIEL.d.ts} +7 -0
  29. package/dist/dts/ui.d.mts +1 -1
  30. package/dist/dts/ui.d.ts +1 -1
  31. package/dist/dts/{useSolanaWallets-C61-2PbZ.d.ts → useSolanaWallets-DdM-QdoK.d.mts} +1 -1
  32. package/dist/dts/{useSolanaWallets-C61-2PbZ.d.mts → useSolanaWallets-DdM-QdoK.d.ts} +1 -1
  33. package/dist/esm/client.mjs +1 -1
  34. package/dist/esm/components/LoginModal.mjs +1 -1
  35. package/dist/esm/config.mjs +1 -1
  36. package/dist/esm/configuration/context.mjs +1 -1
  37. package/dist/esm/connectors/embeddedProvider.mjs +1 -1
  38. package/dist/esm/connectors/ethereum/index.mjs +1 -1
  39. package/dist/esm/connectors/index.mjs +1 -1
  40. package/dist/esm/constants.mjs +1 -1
  41. package/dist/esm/embedded-wallets/solana/provider.mjs +1 -1
  42. package/dist/esm/hooks/privy-provider.mjs +1 -1
  43. package/dist/esm/hooks/useMfaEnrollment.mjs +1 -1
  44. package/dist/esm/index.mjs +1 -1
  45. package/dist/esm/{privy-provider-SxHxPcTS.mjs → privy-provider-CuvYT8ML.mjs} +2 -2
  46. package/dist/esm/screens/Funding/ManualTransferScreen.mjs +1 -1
  47. package/dist/esm/screens/LandingScreen/CustomLandingScreenView.mjs +1 -1
  48. package/dist/esm/screens/LandingScreen/LandingScreenView.mjs +1 -1
  49. package/dist/esm/screens/MfaScreens/EnrollPasskey.mjs +1 -1
  50. package/dist/esm/screens/MfaScreens/MfaEnrollmentFlowScreen.mjs +1 -1
  51. package/package.json +3 -3
@@ -1 +1 @@
1
- import{jsx as o,Fragment as e,jsxs as n}from"react/jsx-runtime";import{useState as t,useEffect as r,useMemo as s}from"react";import{formatTokenAmount as i,formatWeiAmount as a}from"@privy-io/js-sdk-core";import{PrimaryButton as m}from"../../components/Button.mjs";import{FlexContainer as c}from"../../components/Layouts.mjs";import{BlobbyFooter as l}from"../../components/ModalFooter.mjs";import{QrCode as p}from"../../components/QrCode.mjs";import d from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{InfoBanner as u}from"../../components/ui/banners/InfoBanner.mjs";import{Subtitle as h}from"../../components/ui/typography/Subtitle.mjs";import{Title as j}from"../../components/ui/typography/Title.mjs";import{WalletInfoCard as f}from"../../components/ui/wallet/WalletInfoCard.mjs";import{useAppConfig as g}from"../../configuration/context.mjs";import{usePrivyInternal as y}from"../../hooks/internal-context.mjs";import{usePrivyModal as v}from"../../hooks/modal-context.mjs";import{useWalletBalance as b}from"../../hooks/useWalletBalance.mjs";import{useWallets as C}from"../../hooks/useWallets.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as I}from"../../lib/funding/analytics.mjs";import{getNativeCurrencyFromLamports as S}from"../../lib/solana/transaction.mjs";import{getErc20Balance as k}from"../../lib/wallets/actions/getErc20Balance.mjs";import{usePlugins as w}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as T}from"../../plugins/solana-funding/id.mjs";import{Blobby as E}from"../../svg/blobby.mjs";import{formatWalletAddress as x}from"../../utils/index.mjs";import{ModalScreen as A}from"../index.mjs";import{useSolanaWallets as M}from"../../hooks/solana/useSolanaWallets.mjs";import"styled-components";import"../../components/Loader.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"qrcode";import"../../svg/black-rounded-square.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/ModalHeader.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/InformationCircleIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../../components/ui/wallet/shared.mjs";import"../../components/PrefetchedImage.mjs";import"../../utils/buffer/readBigInt64LE.mjs";const L=()=>{let{wallets:E}=C(),{wallets:L}=M(),{data:R,setModalData:D,navigate:P,lastScreen:F}=v(),{rpcConfig:O,appId:W,createAnalyticsEvent:q,closePrivyModal:z}=y(),H=g(),[_,U]=t(void 0),[Q,X]=t(!1),$=w(),G=R?.funding,{reloadBalance:Y}=b({rpcConfig:O,appId:W,address:"ethereum"===G.chainType?G.address:void 0,chain:"ethereum"===G.chainType?G.chain:void 0}),J="solana"===G.chainType,K=J?"SOL":G.erc20Address?G.erc20ContractInfo?.symbol:G.chain.nativeCurrency.symbol,V=J?L.find((({address:o})=>o===G.address)):E.find((({address:o})=>x(o)===x(G.address)));if(!G)return D({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:F||A.FUNDING_METHOD_SELECTION_SCREEN},funding:R?.funding,sendTransaction:R?.sendTransaction}),P(A.ERROR_SCREEN),/*#__PURE__*/o(e,{});r((()=>{let o=J?async function(){if("solana"!==G.chainType)return;let o=$(T);o?o.getBalance({address:G.address,cluster:G.cluster}).then((o=>{let e=BigInt(o);_&&e>_&&(X(!0),q({eventName:I,payload:{provider:"manual",status:"success",chainType:"solana",address:V?.address,value:(e-_).toString()}})),U(e)})):console.warn("Unable to load solana plugin, skipping balance")}:async function(){"ethereum"===G.chainType&&(async()=>{if(!G.erc20Address)return await Y()??BigInt(0);{let{balance:o}=await k({chain:G.chain,address:G.address,erc20Address:G.erc20Address,rpcConfig:O,appId:W});return o}})().then((o=>{_&&o>_&&(X(!0),q({eventName:I,payload:{provider:"manual",status:"success",chainType:"ethereum",address:V?.address,value:(o-_).toString()}})),U(o)})).catch((()=>U(void 0)))},e=setInterval(o,2e3);return o(),()=>clearInterval(e)}),[_]);let Z=s((()=>void 0!==_&&_>=parseFloat(G.amount)),[_,G.amount]),oo=s((()=>null==_?"":G.isUSDC?i({amount:_,decimals:6}):J?S(_,3,!0,!0):null!=G.erc20ContractInfo?.decimals?i({amount:_,decimals:G.erc20ContractInfo.decimals}):a({wei:_})),[_,J,G]),eo="ethereum"===G.chainType?G.chain.name:N[G.cluster.name];/*#__PURE__*/return n(e,{children:[/*#__PURE__*/o(d,{}),/*#__PURE__*/n(j,{children:["Receive ",G.amount," ",K]}),/*#__PURE__*/n(h,{children:["Scan this code or copy your wallet address to receive funds on ",eo,"."]}),/*#__PURE__*/n(c,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/o(p,{url:G.address,size:200,squareLogoElement:B}),/*#__PURE__*/n(u,{theme:H.appearance.palette.colorScheme,children:["Make sure to send funds on ",eo,"."]}),/*#__PURE__*/o(f,{title:"Your wallet",errMsg:void 0,showIcon:!0,isLoading:!G||void 0===_,isPulsing:!Z,balance:`${oo} ${K}`,address:G.address,statusColor:Z?"green":"gray"}),Q&&/*#__PURE__*/o(m,{onClick:()=>z({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/o(l,{})]})};let B=({...e})=>/*#__PURE__*/o(E,{color:"black",...e}),N={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};export{L as ManualTransferScreen};
1
+ import{jsx as o,Fragment as e,jsxs as n}from"react/jsx-runtime";import{useState as t,useEffect as r,useMemo as s}from"react";import{formatTokenAmount as i,formatWeiAmount as a}from"@privy-io/js-sdk-core";import{PrimaryButton as m}from"../../components/Button.mjs";import{FlexContainer as c}from"../../components/Layouts.mjs";import{BlobbyFooter as l}from"../../components/ModalFooter.mjs";import{QrCode as p}from"../../components/QrCode.mjs";import d from"../../components/embedded-wallets/FundWalletMethodHeader.mjs";import{InfoBanner as u}from"../../components/ui/banners/InfoBanner.mjs";import{Subtitle as h}from"../../components/ui/typography/Subtitle.mjs";import{Title as j}from"../../components/ui/typography/Title.mjs";import{WalletInfoCard as f}from"../../components/ui/wallet/WalletInfoCard.mjs";import{useAppConfig as g}from"../../configuration/context.mjs";import{usePrivyInternal as y}from"../../hooks/internal-context.mjs";import{usePrivyModal as v}from"../../hooks/modal-context.mjs";import{useWalletBalance as b}from"../../hooks/useWalletBalance.mjs";import{useWallets as C}from"../../hooks/useWallets.mjs";import{ON_RAMP_COMPLETE_ANALYTICS_EVENT as I}from"../../lib/funding/analytics.mjs";import{getNativeCurrencyFromLamports as S}from"../../lib/solana/transaction.mjs";import{getErc20Balance as k}from"../../lib/wallets/actions/getErc20Balance.mjs";import{usePlugins as w}from"../../plugins/context/PrivyPluginContext.mjs";import{SOLANA_FUNDING_PLUGIN_ID as T}from"../../plugins/solana-funding/id.mjs";import{Blobby as E}from"../../svg/blobby.mjs";import{formatWalletAddress as x}from"../../utils/index.mjs";import{ModalScreen as A}from"../index.mjs";import{useSolanaWallets as M}from"../../hooks/solana/useSolanaWallets.mjs";import"styled-components";import"../../components/Loader.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"qrcode";import"../../svg/black-rounded-square.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/ModalHeader.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/InformationCircleIcon";import"../../components/ui/chips/Chip.mjs";import"../../components/ui/animation/LoadingSkeleton.mjs";import"../../components/ui/layout/Column.mjs";import"../../components/ui/typography/ErrorMessage.mjs";import"../../components/ui/typography/LabelXs.mjs";import"../../components/ui/wallet/Address.mjs";import"@heroicons/react/24/outline/CheckIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"../../components/ui/wallet/shared.mjs";import"../../components/PrefetchedImage.mjs";import"../../utils/buffer/readBigInt64LE.mjs";const L=()=>{let{wallets:E}=C(),{wallets:L}=M(),{data:R,setModalData:D,navigate:P,lastScreen:F}=v(),{rpcConfig:O,appId:W,createAnalyticsEvent:q,closePrivyModal:z}=y(),H=g(),[$,_]=t(void 0),[U,Q]=t(!1),X=w(),G=R?.funding,{reloadBalance:Y}=b({rpcConfig:O,appId:W,address:"ethereum"===G.chainType?G.address:void 0,chain:"ethereum"===G.chainType?G.chain:void 0}),J="solana"===G.chainType,K=J?"SOL":G.erc20Address?G.erc20ContractInfo?.symbol:G.chain.nativeCurrency.symbol,V=J?L.find((({address:o})=>o===G.address)):E.find((({address:o})=>x(o)===x(G.address)));if(!G)return D({errorModalData:{error:Error("Couldn't find funding config"),previousScreen:F||A.FUNDING_METHOD_SELECTION_SCREEN},funding:R?.funding,sendTransaction:R?.sendTransaction}),P(A.ERROR_SCREEN),/*#__PURE__*/o(e,{});r((()=>{let o=J?async function(){if("solana"!==G.chainType)return;let o=X(T);o?o.getBalance({address:G.address,cluster:G.cluster}).then((o=>{let e=BigInt(o);$&&e>$&&(Q(!0),q({eventName:I,payload:{provider:"manual",status:"success",chainType:"solana",address:V?.address,value:(e-$).toString()}})),_(e)})):console.warn("Unable to load solana plugin, skipping balance")}:async function(){"ethereum"===G.chainType&&(async()=>{if(!G.erc20Address)return await Y()??BigInt(0);{let{balance:o}=await k({chain:G.chain,address:G.address,erc20Address:G.erc20Address,rpcConfig:O,appId:W});return o}})().then((o=>{$&&o>$&&(Q(!0),q({eventName:I,payload:{provider:"manual",status:"success",chainType:"ethereum",address:V?.address,value:(o-$).toString()}})),_(o)})).catch((()=>_(void 0)))},e=setInterval(o,2e3);return o(),()=>clearInterval(e)}),[$]);let Z=s((()=>void 0!==$&&$>=parseFloat(G.amount)),[$,G.amount]),oo=s((()=>null==$?"":G.isUSDC?i({amount:$,decimals:6}):J?S($,3,!0,!0):null!=G.erc20ContractInfo?.decimals?i({amount:$,decimals:G.erc20ContractInfo.decimals}):a({wei:$})),[$,J,G]),eo="ethereum"===G.chainType?G.chain.name:N[G.cluster.name];/*#__PURE__*/return n(e,{children:[/*#__PURE__*/o(d,{}),/*#__PURE__*/n(j,{children:["Receive ",G.amount," ",K]}),/*#__PURE__*/n(h,{children:["Scan this code or copy your wallet address to receive funds on ",eo,"."]}),/*#__PURE__*/n(c,{style:{gap:"1rem",margin:"1rem 0"},children:[/*#__PURE__*/o(p,{url:`${G.chainType}:${G.address}`,size:200,squareLogoElement:B}),/*#__PURE__*/n(u,{theme:H.appearance.palette.colorScheme,children:["Make sure to send funds on ",eo,"."]}),/*#__PURE__*/o(f,{title:"Your wallet",errMsg:void 0,showIcon:!0,isLoading:!G||void 0===$,isPulsing:!Z,balance:`${oo} ${K}`,address:G.address,statusColor:Z?"green":"gray"}),U&&/*#__PURE__*/o(m,{onClick:()=>z({shouldCallAuthOnSuccess:!1,isSuccess:!0}),children:"Continue"})]}),/*#__PURE__*/o(l,{})]})};let B=({...e})=>/*#__PURE__*/o(E,{color:"black",...e}),N={devnet:"Devnet","mainnet-beta":"Solana",testnet:"Testnet"};export{L as ManualTransferScreen};
@@ -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"../../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/FingerPrintIcon";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:F,data:O}=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=O?.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)};F.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 e,jsx as t}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 l}from"../../configuration/context.mjs";import{usePrivyInternal as c}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{decideWhichForm as b}from"./LandingScreenView.mjs";import{PasskeyLink as w}from"./PasskeyLink.mjs";import{SmsButton as k}from"./SmsButton.mjs";import{SocialButton as x}from"./SocialButton.mjs";import{TelegramButton as C}from"./TelegramButton.mjs";import{toWalletButtons as A}from"./WalletButtonList.mjs";import{Web2OverflowButton as M}from"./Web2OverflowButton.mjs";import{Subtitle as I,AlignBottom as T,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"@privy-io/js-sdk-core";import"../../svg/email-or-phone.mjs";import"./EmptyWalletView.mjs";import"./WalletOverflowButton.mjs";import"@heroicons/react/24/outline/ChevronRightIcon";import"@heroicons/react/24/outline/WalletIcon";import"@heroicons/react/24/outline/FingerPrintIcon";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"../../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";const L=({connectOnly:n})=>{let{closePrivyModal:f,connectors:L}=c(),{app:W,onUserCloseViaDialogOrKeybindRef:O,data:F}=j(),{appearance:{palette:{colorScheme:P}}}=l(),{accountType:H,walletClientType:R,chainType:V}=h(),z=H?d(H):null,U=W.loginMethodsAndOrder?.primary??[],D=W.loginMethodsAndOrder?.overflow??[],K=[...U,...D],N=W.loginMethods.passkey,Q=F?.login,X=[];R&&K.includes(R)?X.push(R):H&&K.includes(z?.loginMethod)&&X.push(z?.loginMethod);let[Y,$]=r("default"),[q,G]=r(b({mostRecentlyUsedAccountType:H,smsAvailable:K.includes("sms"),emailAvailable:K.includes("email"),prefilledType:Q?.prefill?.type}));s((()=>{G(b({mostRecentlyUsedAccountType:H,smsAvailable:K.includes("sms"),emailAvailable:K.includes("email"),prefilledType:Q?.prefill?.type}))}),[K,H]),s((()=>{"phone"===H&&G("sms");let o=K.indexOf("sms"),e=K.indexOf("email");o>-1&&o<e&&G("sms")}),[H,U,D]);let J=()=>{f({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{$("default")}),150)};O.current=J;let Z=o=>"email"===o?/*#__PURE__*/t(v,{isEditable:"email"===q,setIsEditable:()=>{G("email")},defaultValue:"email"===Q?.prefill?.type?Q.prefill.value:void 0},o):"sms"===o?/*#__PURE__*/t(k,{isEditable:"sms"===q,setIsEditable:()=>{G("sms")},defaultValue:"phone"===Q?.prefill?.type?Q.prefill.value:void 0},o):"apple"===o?/*#__PURE__*/t(x,{provider:"apple"},o):"discord"===o?/*#__PURE__*/t(x,{provider:"discord"},o):"farcaster"===o?/*#__PURE__*/t(y,{},o):"github"===o?/*#__PURE__*/t(x,{provider:"github"},o):"google"===o?/*#__PURE__*/t(x,{provider:"google"},o):"linkedin"===o?/*#__PURE__*/t(x,{provider:"linkedin"},o):"spotify"===o?/*#__PURE__*/t(x,{provider:"spotify"},o):"instagram"===o?/*#__PURE__*/t(x,{provider:"instagram"},o):"tiktok"===o?/*#__PURE__*/t(x,{provider:"tiktok"},o):"twitter"===o?/*#__PURE__*/t(x,{provider:"twitter"},o):"telegram"===o?/*#__PURE__*/t(C,{},o):o.startsWith("privy:")?/*#__PURE__*/t(u,{appId:o.replace("privy:","")},o):A({walletList:W.appearance.walletList,walletChainType:W.appearance.walletChainType,connectors:L,connectOnly:n,ignore:K,walletConnectEnabled:W.externalWallets.walletConnect.enabled,forceWallet:{wallet:o,chainType:V??"ethereum"}}),_=X.flatMap(Z),oo=U.filter((o=>o!==R&&o!==z?.loginMethod)).flatMap(Z),eo=D.filter((o=>o!==R&&o!==z?.loginMethod)).flatMap(Z),[to,io]=g([..._,...oo,...eo],S({primary:oo.length+_.length,overflow:eo.length}));/*#__PURE__*/return o(e,{children:[/*#__PURE__*/t(a,{title:W.appearance.landingHeader,onClose:J,backFn:"default"===Y?void 0:()=>{$("default")}}),"default"===Y&&/*#__PURE__*/t(B,{}),"default"===Y&&("string"==typeof W.appearance.loginMessage?/*#__PURE__*/t(I,{children:W.appearance.loginMessage}):W.appearance.loginMessage),/*#__PURE__*/t(T,{style:{overflow:"hidden"},children:/*#__PURE__*/o(E,{$colorScheme:P,style:{maxHeight:400,overflowY:"scroll",padding:2},children:["default"===Y&&/*#__PURE__*/o(e,{children:[to,io.length>0&&/*#__PURE__*/t(M,{text:"More options",icon:/*#__PURE__*/t(i,{}),onClick:()=>$("overflow")})]}),"overflow"===Y&&/*#__PURE__*/t(e,{children:io}),N&&"default"===Y&&/*#__PURE__*/t(w,{})]})}),W&&/*#__PURE__*/t(m,{app:W}),/*#__PURE__*/t(p,{})]})};let S=({primary:o,overflow:e})=>o<5?o:5===o&&0===e?5:4,B=/*#__PURE__*/n(f).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-ba86c0ed-0"})(["margin-bottom:16px;"]);export{L 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 n from"@heroicons/react/24/outline/UserCircleIcon";import{useMemo as s,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 P,LoginMethodContainer as B}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"@heroicons/react/24/outline/FingerPrintIcon";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 F=({connectOnly:i})=>{let{closePrivyModal:r,connectors:n}=j(),{data:a,onUserCloseViaDialogOrKeybindRef:w}=f(),v=d(),{accountType:F,walletClientType:z,chainType:D}=y(),V=F?u(F):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}=s((()=>G?.loginMethods?p(G.loginMethods,!0):null),[G])??v.loginMethods,{passkey:ro}=v.loginMethods,no=[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)),so=no.length>0,mo=s((()=>eo&&!so?"web3-first":eo&&v?.appearance.loginGroupPriority||"web2-first"),[eo,so,v?.appearance.loginGroupPriority]),lo=v?.appearance.hideDirectWeb2Inputs,[ao,po]=m("default"),[co,ho]=m(U({mostRecentlyUsedAccountType:F,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}));l((()=>{ho(U({mostRecentlyUsedAccountType:F,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}))}),[K,N,F]);let go=()=>{r({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{po("default")}),150)};w.current=go;let jo=[];z&&eo?jo.push(z):V?.loginMethod&&no.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:n,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:n,connectOnly:i,ignore:[...v.appearance.walletList,z],walletConnectEnabled:v.externalWallets.walletConnect.enabled}),yo=no.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=no.filter((o=>"email"!==o&&"sms"!==o)),bo=S({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(O,{}),"default"===ao&&("string"==typeof v.appearance.loginMessage?/*#__PURE__*/o(W,{children:v.appearance.loginMessage}):v.appearance.loginMessage),/*#__PURE__*/o(P,{style:{overflow:"hidden",padding:2},children:/*#__PURE__*/e(B,{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 O=/*#__PURE__*/a(v).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-4938a02-0"})(["margin-bottom:16px;"]),S=({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:s,social:m})=>"web2-first"===e||m.length>0?/*#__PURE__*/o(n,{}):t&&s?/*#__PURE__*/o(w,{}):t?/*#__PURE__*/o(i,{}):s?/*#__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{F 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 n from"@heroicons/react/24/outline/UserCircleIcon";import{useMemo as s,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 P,LoginMethodContainer as B}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"@heroicons/react/24/outline/FingerPrintIcon";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 F=({connectOnly:i})=>{let{closePrivyModal:r,connectors:n}=j(),{data:a,onUserCloseViaDialogOrKeybindRef:w}=f(),v=d(),{accountType:F,walletClientType:z,chainType:D}=y(),V=F?u(F):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}=s((()=>G?.loginMethods?p(G.loginMethods,!0):null),[G])??v.loginMethods,{passkey:ro}=v.loginMethods,no=[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)),so=no.length>0,mo=s((()=>eo&&!so?"web3-first":eo&&v?.appearance.loginGroupPriority||"web2-first"),[eo,so,v?.appearance.loginGroupPriority]),lo=v?.appearance.hideDirectWeb2Inputs,[ao,po]=m("default"),[co,ho]=m(U({mostRecentlyUsedAccountType:F,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}));l((()=>{ho(U({mostRecentlyUsedAccountType:F,smsAvailable:N,emailAvailable:K,prefilledType:G?.prefill?.type}))}),[K,N,F]);let go=()=>{r({shouldCallAuthOnSuccess:!0}),setTimeout((()=>{po("default")}),150)};w.current=go;let jo=[];z&&eo?jo.push(z):V?.loginMethod&&no.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:n,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:n,connectOnly:i,ignore:[...v.appearance.walletList,z],walletConnectEnabled:v.externalWallets.walletConnect.enabled}),yo=no.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=no.filter((o=>"email"!==o&&"sms"!==o)),bo=S({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(O,{}),"default"===ao&&("string"==typeof v.appearance.loginMessage?/*#__PURE__*/o(W,{children:v.appearance.loginMessage}):v.appearance.loginMessage),/*#__PURE__*/o(P,{style:{overflow:"hidden",padding:2},children:/*#__PURE__*/e(B,{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 O=/*#__PURE__*/a(v).withConfig({displayName:"StyledAppLogoHeader",componentId:"sc-47d96f6c-0"})(["margin-bottom:16px;"]),S=({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:s,social:m})=>"web2-first"===e||m.length>0?/*#__PURE__*/o(n,{}):t&&s?/*#__PURE__*/o(w,{}):t?/*#__PURE__*/o(i,{}):s?/*#__PURE__*/o(r,{}):null,R=({priority:o})=>"web2-first"===o?"Continue with a wallet":"Other wallets";const U=({mostRecentlyUsedAccountType:o,smsAvailable:e,emailAvailable:t,prefilledType:i})=>t&&("email"===o&&"phone"!==i||"email"===i)||!e||"phone"!==o&&"phone"!==i?"email":"sms";export{F as LandingScreenView,U as decideWhichForm};
@@ -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"../../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
+ 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 f}from"../../hooks/privy-context.mjs";import{useMfaEnrollment as j}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 E}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 W=({onComplete:e,onClose:n,onReset:i})=>{let{user:r}=f(),{data:t}=y(),{initLinkWithPasskey:s,linkWithPasskey:a}=u(),{initEnrollmentWithPasskey:l,submitEnrollmentWithPasskey:p}=j(),[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},{removeForLogin:t?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa}),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(F,{onReset:i,onClose:n,onClick:A,isCreating:k}):w?/*#__PURE__*/o(B,{onClick:S,onClose:S}):v?/*#__PURE__*/o(C,{error:v,backFn:()=>I(null),onClick:()=>I(null)}):/*#__PURE__*/o(T,{passkeys:x,isSubmitting:d,isCreating:k,onReset:i,onClose:n,onSubmitEnrollment:()=>P(x.map((o=>o.credentialId))),onAddPasskey:A})};let F=({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,{})]}),T=({onReset:i,onClose:r,onAddPasskey:t,onSubmitEnrollment:s,passkeys:m,isSubmitting:a,isCreating:u})=>{let[y,f]=c(!1),j=y?m.length:m.length>3?2:3;/*#__PURE__*/return e(n,{children:[/*#__PURE__*/o(h,{backFn:y?()=>f(!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,j).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:()=>f(!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,{})]})},B=({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(E,{children:/*#__PURE__*/o(l,{onClick:i,children:"Done"})}),/*#__PURE__*/o(d,{})]}),L=/*#__PURE__*/a.div.withConfig({displayName:"PasskeyItem",componentId:"sc-f71dd8ba-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-f71dd8ba-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-f71dd8ba-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-f71dd8ba-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{W as EnrollPasskey,M as StyledLink};
@@ -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 I}from"./EnrollTotp.mjs";import{AppLogoContainer as b,Container as w,IconWrapper as S,Title as A,SubTitle as x,BottomSection as P,List as R,ListItem as E,ListItemIcon as F}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 T=()=>{let{user:T,enrollInMfa:L}=f(),[B,W]=c(null),{unenrollWithSms:q,unenrollWithTotp:z,unenrollWithPasskey:D}=k(),{app:H,ready:O,data:Q,onUserCloseViaDialogOrKeybindRef:Y}=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);Y.current=_;let so=T?.mfaMethods.includes("sms"),co=!!T?.phone,mo=T?.mfaMethods.includes("totp"),ao=T?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=T?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){W(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!O||!T||!H/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(b,{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:"Removing your passkey will remove as both a verification method and a login method."}),/*#__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===Q.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(R,{children:[/*#__PURE__*/o(E,{children:[/*#__PURE__*/n(F,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",H?.name," wallet."]}),/*#__PURE__*/o(E,{children:[/*#__PURE__*/n(F,{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(I,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(v,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(C,{showIntro:uo,userMfaMethods:T.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{T 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 v}from"./EnrollLandingScreen.mjs";import{EnrollPasskey as C}from"./EnrollPasskey.mjs";import{EnrollSms as M}from"./EnrollSms.mjs";import{EnrollTotp as w}from"./EnrollTotp.mjs";import{AppLogoContainer as I,Container as b,IconWrapper as S,Title as A,SubTitle as x,BottomSection as F,List as E,ListItem as P,ListItemIcon as R}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 L=()=>{let{user:L,enrollInMfa:T}=f(),[B,U]=c(null),{unenrollWithSms:O,unenrollWithTotp:W,unenrollWithPasskey:q}=k(),{app:z,ready:D,data:H,onUserCloseViaDialogOrKeybindRef:Q}=j(),{closePrivyModal:Y}=u(),{promptMfa:K}=y(),{initEnrollmentWithTotp:N}=k(),[V,X]=c(!1),[G,J]=c(null),[Z,$]=c(null),_=()=>{Y({shouldCallAuthOnSuccess:!0}),T(!1),setTimeout((()=>{U(null),J(null)}),500)},{initEnrollmentWithPasskey:oo,submitEnrollmentWithPasskey:eo}=k(),[no,to]=c(!1),[ro,io]=c(null);Q.current=_;let so=L?.mfaMethods.includes("sms"),co=!!L?.phone,mo=L?.mfaMethods.includes("totp"),ao=L?.mfaMethods.includes("passkey"),lo=so||mo||ao,po=L?.linkedAccounts.filter((o=>"passkey"===o.type)).map((o=>o.credentialId))??[];function ho(){U(null),J(null)}if(m((()=>{lo&&X(!0)}),[lo]),!D||!L||!z/*#__PURE__*/)return o(e,{children:[/*#__PURE__*/n(d,{onClose:_},"header"),/*#__PURE__*/n(I,{children:/*#__PURE__*/n(g,{})}),/*#__PURE__*/n(b,{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 ",z?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await O()}catch(o){U(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 ",z?.name," account. Make sure you have other methods to secure your account."]}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await W()}catch(o){U(null)}},children:"Remove Authenticator App for MFA"})}),/*#__PURE__*/n(h,{})]});if("passkey"===B){let r=H?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa??!0;/*#__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 this passkey?"}),/*#__PURE__*/n(x,{children:r?"Removing your passkey will remove as both a verification method and a login method.":"Removing your passkey will remove as a verification method."}),/*#__PURE__*/n(F,{children:/*#__PURE__*/n(a,{warn:!0,onClick:async function(){U(null);try{await q({removeForLogin:H?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(o){U(null)}},children:"Yes, remove"})}),/*#__PURE__*/n(h,{})]})}if(0===H.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:[z?.name," does not have any verification methods enabled."]}),/*#__PURE__*/n(F,{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(P,{children:[/*#__PURE__*/n(R,{children:/*#__PURE__*/n(i,{})}),"Enable 2-Step verification for your ",z?.name," wallet."]}),/*#__PURE__*/o(P,{children:[/*#__PURE__*/n(R,{children:/*#__PURE__*/n(s,{})}),"You'll be prompted to authenticate to complete transactions."]})]}),/*#__PURE__*/o(F,{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(w,{onComplete:_,onClose:_,onReset:ho,totpInfo:Z}):"passkey"===G?/*#__PURE__*/n(C,{onComplete:_,onReset:ho,onClose:_}):/*#__PURE__*/n(v,{showIntro:uo,userMfaMethods:L.mfaMethods,appMfaMethods:z.mfa.methods,userHasAuthSms:co,onBackToIntro:function(){X(!1)},handleSelectMethod:async function(o){return await K().catch(io),"totp"===o?(J(o),$(null),void N().then((o=>{$(o)})).catch((()=>{$(null),ho()}))):"passkey"===o&&1===po.length?await async function(){to(!0);try{await oo(),await eo({credentialIds:po},{removeForLogin:H?.mfaEnrollmentFlow?.shouldUnlinkOnUnenrollMfa})}catch(o){io(o)}finally{to(!1)}}():void J(o)},isTotpLoading:"totp"===G&&!Z,isPasskeyLoading:no,error:ro,onClose:_,setRemovingMfaMethod:async o=>{await K().catch(io),U(o)}})};export{L as MfaEnrollmentFlowScreen};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "2.0.5",
3
+ "version": "2.0.7-beta-20250123232955",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",
@@ -133,7 +133,7 @@
133
133
  "@heroicons/react": "^2.1.1",
134
134
  "@marsidev/react-turnstile": "^0.4.1",
135
135
  "@metamask/eth-sig-util": "^6.0.0",
136
- "@privy-io/js-sdk-core": "0.41.0",
136
+ "@privy-io/js-sdk-core": "0.41.1",
137
137
  "@simplewebauthn/browser": "^9.0.1",
138
138
  "@solana/wallet-adapter-base": "^0.9.23",
139
139
  "@solana/wallet-standard-wallet-adapter-base": "^1.1.2",
@@ -172,7 +172,7 @@
172
172
  "@jest/globals": "^29.7.0",
173
173
  "@privy-io/build-config": "*",
174
174
  "@privy-io/eslint-config-custom": "*",
175
- "@privy-io/public-api": "2.18.1",
175
+ "@privy-io/public-api": "2.18.2",
176
176
  "@privy-io/testing": "*",
177
177
  "@rollup/plugin-commonjs": "^26.0.1",
178
178
  "@rollup/plugin-node-resolve": "^15.3.0",