@web3auth/modal 10.0.0-beta.1 → 10.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/lib.cjs/packages/modal/src/config.js +3 -3
- package/dist/lib.cjs/packages/modal/src/index.js +1 -0
- package/dist/lib.cjs/packages/modal/src/modalManager.js +125 -75
- package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +8 -2
- package/dist/lib.cjs/packages/modal/src/react/context/WalletServicesInnerContext.js +72 -0
- package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +40 -96
- package/dist/lib.cjs/packages/modal/src/react/hooks/useCheckout.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useEnableMFA.js +30 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +42 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useManageMFA.js +30 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useSwap.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useSwitchChain.js +32 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletConnectScanner.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletServicesPlugin.js +13 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletUI.js +34 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +21 -8
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +63 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +30 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthInner.js +15 -0
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthUser.js +50 -0
- package/dist/lib.cjs/packages/modal/src/react/index.js +24 -3
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignMessage.js +37 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +43 -0
- package/dist/lib.cjs/packages/modal/src/react/solana/index.js +13 -0
- package/dist/lib.cjs/packages/modal/src/react/wagmi/constants.js +16 -0
- package/dist/lib.cjs/packages/modal/src/react/wagmi/index.js +7 -0
- package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +195 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +3 -3
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +12 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +27 -21
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +3 -2
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +13 -5
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +14 -8
- package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +6 -9
- package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +5 -4
- package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/Login.js +80 -42
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +12 -9
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +10 -5
- package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +3 -3
- package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +185 -128
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +15 -34
- package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +16 -3
- package/dist/lib.cjs/packages/modal/src/ui/config.js +2 -1
- package/dist/lib.cjs/packages/modal/src/ui/constants.js +30 -0
- package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +12 -3
- package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
- package/dist/lib.cjs/packages/modal/src/ui/handlers/AbstractHandler.js +6 -2
- package/dist/lib.cjs/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +7 -4
- package/dist/lib.cjs/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +2 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +32 -31
- package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +31 -19
- package/dist/lib.cjs/packages/modal/src/ui/utils.js +16 -4
- package/dist/lib.cjs/packages/modal/src/vue/WalletServicesInnerProvider.js +70 -0
- package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +38 -78
- package/dist/lib.cjs/packages/modal/src/vue/composables/useCheckout.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useEnableMFA.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +44 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useSwap.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useSwitchChain.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletConnectScanner.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletServicesPlugin.js +13 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletUI.js +34 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3Auth.js +2 -4
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +66 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +32 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthInner.js +12 -0
- package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthUser.js +53 -0
- package/dist/lib.cjs/packages/modal/src/vue/index.js +24 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignMessage.js +38 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignTransaction.js +36 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +53 -0
- package/dist/lib.cjs/packages/modal/src/vue/solana/index.js +13 -0
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/constants.js +16 -0
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/index.js +7 -0
- package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +233 -0
- package/dist/lib.cjs/types/config.d.ts +1 -0
- package/dist/lib.cjs/types/interface.d.ts +2 -3
- package/dist/lib.cjs/types/modalManager.d.ts +7 -3
- package/dist/lib.cjs/types/react/Web3AuthProvider.d.ts +1 -1
- package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +6 -0
- package/dist/lib.cjs/types/react/hooks/index.d.ts +13 -1
- package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +7 -0
- package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +13 -0
- package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +7 -0
- package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +7 -0
- package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useWalletServicesPlugin.d.ts +2 -0
- package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +8 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +2 -1
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +10 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +9 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthInner.d.ts +2 -0
- package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +9 -0
- package/dist/lib.cjs/types/react/index.d.ts +0 -1
- package/dist/lib.cjs/types/react/interfaces.d.ts +7 -2
- package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +4 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +13 -0
- package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +8 -0
- package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/react/wagmi/constants.d.ts +43 -0
- package/dist/lib.cjs/types/react/wagmi/index.d.ts +2 -0
- package/dist/lib.cjs/types/react/wagmi/interface.d.ts +4 -0
- package/dist/lib.cjs/types/react/wagmi/provider.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +1 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +3 -4
- package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +2 -2
- package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.type.d.ts +3 -2
- package/dist/lib.cjs/types/ui/config.d.ts +1 -1
- package/dist/lib.cjs/types/ui/constants.d.ts +4 -0
- package/dist/lib.cjs/types/ui/context/RootContext.d.ts +12 -3
- package/dist/lib.cjs/types/ui/handlers/AbstractHandler.d.ts +3 -2
- package/dist/lib.cjs/types/ui/handlers/EmailPasswordlessHandler.d.ts +3 -1
- package/dist/lib.cjs/types/ui/interfaces.d.ts +15 -7
- package/dist/lib.cjs/types/ui/loginModal.d.ts +1 -1
- package/dist/lib.cjs/types/ui/utils.d.ts +2 -2
- package/dist/lib.cjs/types/vue/WalletServicesInnerProvider.d.ts +1 -0
- package/dist/lib.cjs/types/vue/composables/index.d.ts +12 -0
- package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +8 -0
- package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +8 -0
- package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +2 -0
- package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +9 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +3 -2
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +11 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +10 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthInner.d.ts +2 -0
- package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +10 -0
- package/dist/lib.cjs/types/vue/interfaces.d.ts +10 -18
- package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +4 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +9 -0
- package/dist/lib.cjs/types/vue/solana/index.d.ts +1 -0
- package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +43 -0
- package/dist/lib.cjs/types/vue/wagmi/index.d.ts +2 -0
- package/dist/lib.cjs/types/vue/wagmi/interface.d.ts +4 -0
- package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +17 -0
- package/dist/lib.esm/packages/modal/src/config.js +3 -4
- package/dist/lib.esm/packages/modal/src/index.js +1 -1
- package/dist/lib.esm/packages/modal/src/modalManager.js +136 -76
- package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +9 -3
- package/dist/lib.esm/packages/modal/src/react/context/WalletServicesInnerContext.js +69 -0
- package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +42 -98
- package/dist/lib.esm/packages/modal/src/react/hooks/useCheckout.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useEnableMFA.js +28 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +40 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useManageMFA.js +28 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useSwap.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useSwitchChain.js +30 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWalletConnectScanner.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWalletUI.js +32 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3Auth.js +21 -8
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +61 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +28 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthInner.js +13 -0
- package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthUser.js +48 -0
- package/dist/lib.esm/packages/modal/src/react/index.js +12 -1
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignMessage.js +35 -0
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +41 -0
- package/dist/lib.esm/packages/modal/src/react/solana/index.js +4 -0
- package/dist/lib.esm/packages/modal/src/react/wagmi/constants.js +14 -0
- package/dist/lib.esm/packages/modal/src/react/wagmi/index.js +1 -0
- package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +194 -0
- package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +3 -3
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +14 -6
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +27 -21
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +7 -4
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +3 -2
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +13 -5
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +15 -9
- package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +6 -9
- package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +5 -4
- package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/Login/Login.js +84 -42
- package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +12 -9
- package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +11 -6
- package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +3 -3
- package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +189 -131
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +16 -35
- package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +18 -4
- package/dist/lib.esm/packages/modal/src/ui/config.js +2 -1
- package/dist/lib.esm/packages/modal/src/ui/constants.js +28 -1
- package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +12 -3
- package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
- package/dist/lib.esm/packages/modal/src/ui/handlers/AbstractHandler.js +5 -1
- package/dist/lib.esm/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +7 -4
- package/dist/lib.esm/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +2 -2
- package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +32 -31
- package/dist/lib.esm/packages/modal/src/ui/loginModal.js +33 -21
- package/dist/lib.esm/packages/modal/src/ui/utils.js +16 -4
- package/dist/lib.esm/packages/modal/src/vue/WalletServicesInnerProvider.js +69 -0
- package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +40 -79
- package/dist/lib.esm/packages/modal/src/vue/composables/useCheckout.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useEnableMFA.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +42 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useSwap.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useSwitchChain.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWalletConnectScanner.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWalletUI.js +32 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3Auth.js +2 -4
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +64 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +30 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthInner.js +10 -0
- package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthUser.js +51 -0
- package/dist/lib.esm/packages/modal/src/vue/index.js +12 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignMessage.js +36 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignTransaction.js +34 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +51 -0
- package/dist/lib.esm/packages/modal/src/vue/solana/index.js +4 -0
- package/dist/lib.esm/packages/modal/src/vue/wagmi/constants.js +14 -0
- package/dist/lib.esm/packages/modal/src/vue/wagmi/index.js +1 -0
- package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +234 -0
- package/dist/modal.umd.min.js +1 -1
- package/dist/modal.umd.min.js.LICENSE.txt +0 -26
- package/package.json +67 -19
- package/dist/lib.cjs/types/react/context/index.d.ts +0 -1
|
@@ -3,7 +3,7 @@ import { WALLET_CONNECTORS } from '@web3auth/no-modal';
|
|
|
3
3
|
import Bowser from 'bowser';
|
|
4
4
|
import { useContext, useState, useMemo, useCallback } from 'react';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
|
-
import { PAGES } from '../../constants.js';
|
|
6
|
+
import { DEFAULT_METAMASK_WALLET_REGISTRY_ITEM, PAGES, CONNECT_WALLET_PAGES } from '../../constants.js';
|
|
7
7
|
import { RootContext } from '../../context/RootContext.js';
|
|
8
8
|
import { ThemedContext } from '../../context/ThemeContext.js';
|
|
9
9
|
import { TOAST_TYPE, MODAL_STATUS } from '../../interfaces.js';
|
|
@@ -12,6 +12,8 @@ import { getMobileInstallLink, cn, getOsName, getIcons, getBrowserExtensionUrl,
|
|
|
12
12
|
import BottomSheet from '../BottomSheet/BottomSheet.js';
|
|
13
13
|
import ConnectWallet from '../ConnectWallet/ConnectWallet.js';
|
|
14
14
|
import ConnectWalletChainNamespaceSelect from '../ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js';
|
|
15
|
+
import ConnectWalletHeader from '../ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js';
|
|
16
|
+
import ConnectWalletQrCode from '../ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js';
|
|
15
17
|
import Footer from '../Footer/Footer.js';
|
|
16
18
|
import Image from '../Image/Image.js';
|
|
17
19
|
import Loader from '../Loader/Loader.js';
|
|
@@ -20,7 +22,7 @@ import Toast from '../Toast/Toast.js';
|
|
|
20
22
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
21
23
|
|
|
22
24
|
function Root(props) {
|
|
23
|
-
var _bodyState$
|
|
25
|
+
var _bodyState$installLin2, _bodyState$installLin4, _bodyState$metamaskQr2, _bodyState$metamaskQr3, _bodyState$metamaskQr4, _bodyState$multiChain, _bodyState$installLin5;
|
|
24
26
|
const {
|
|
25
27
|
setModalState,
|
|
26
28
|
modalState,
|
|
@@ -45,7 +47,6 @@ function Root(props) {
|
|
|
45
47
|
const {
|
|
46
48
|
logoAlignment = "center",
|
|
47
49
|
buttonRadiusType = "pill",
|
|
48
|
-
enableMainSocialLoginButton = false,
|
|
49
50
|
privacyPolicy = "",
|
|
50
51
|
tncLink = "",
|
|
51
52
|
displayInstalledExternalWallets = true,
|
|
@@ -58,9 +59,18 @@ function Root(props) {
|
|
|
58
59
|
isDark
|
|
59
60
|
} = useContext(ThemedContext);
|
|
60
61
|
const [bodyState, setBodyState] = useState({
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
metamaskQrCode: {
|
|
63
|
+
show: false,
|
|
64
|
+
wallet: null
|
|
65
|
+
},
|
|
66
|
+
installLinks: {
|
|
67
|
+
show: false,
|
|
68
|
+
wallet: null
|
|
69
|
+
},
|
|
70
|
+
multiChainSelector: {
|
|
71
|
+
show: false,
|
|
72
|
+
wallet: null
|
|
73
|
+
}
|
|
64
74
|
});
|
|
65
75
|
const [toast, setToast] = useState({
|
|
66
76
|
message: "",
|
|
@@ -83,6 +93,11 @@ function Root(props) {
|
|
|
83
93
|
|
|
84
94
|
// Wallet Details
|
|
85
95
|
const deviceDetails = useMemo(() => {
|
|
96
|
+
if (typeof window === "undefined") return {
|
|
97
|
+
platform: "mobile",
|
|
98
|
+
browser: "chrome",
|
|
99
|
+
os: "ios"
|
|
100
|
+
};
|
|
86
101
|
const browserData = Bowser.getParser(window.navigator.userAgent);
|
|
87
102
|
return {
|
|
88
103
|
platform: browserData.getPlatformType(),
|
|
@@ -91,9 +106,9 @@ function Root(props) {
|
|
|
91
106
|
};
|
|
92
107
|
}, []);
|
|
93
108
|
const mobileInstallLinks = useMemo(() => {
|
|
94
|
-
var _bodyState$
|
|
109
|
+
var _bodyState$installLin;
|
|
95
110
|
if (deviceDetails.platform === "desktop") return [];
|
|
96
|
-
const installConfig = ((_bodyState$
|
|
111
|
+
const installConfig = ((_bodyState$installLin = bodyState.installLinks) === null || _bodyState$installLin === void 0 || (_bodyState$installLin = _bodyState$installLin.wallet) === null || _bodyState$installLin === void 0 || (_bodyState$installLin = _bodyState$installLin.walletRegistryItem) === null || _bodyState$installLin === void 0 ? void 0 : _bodyState$installLin.app) || {};
|
|
97
112
|
const installLinks = Object.keys(installConfig).reduce((acc, osKey) => {
|
|
98
113
|
if (!["android", "ios"].includes(osKey)) return acc;
|
|
99
114
|
const appId = installConfig[osKey];
|
|
@@ -110,7 +125,7 @@ function Root(props) {
|
|
|
110
125
|
target: "_blank",
|
|
111
126
|
children: /*#__PURE__*/jsxs("button", {
|
|
112
127
|
type: "button",
|
|
113
|
-
className: cn("w3a--
|
|
128
|
+
className: cn("w3a--group w3a--relative w3a--overflow-hidden w3a--h-11 w3a--flex w3a--w-full w3a--items-center w3a--justify-start w3a--gap-x-2 w3a--border w3a--border-app-gray-200 w3a--bg-app-gray-50 w3a--px-5 w3a--py-2.5 hover:w3a--translate-y-[0.5px] hover:w3a--border-app-gray-50 dark:w3a--border-app-gray-500 dark:w3a--bg-app-gray-800 dark:hover:w3a--border-app-gray-800", {
|
|
114
129
|
"w3a--rounded-full": buttonRadiusType === "pill",
|
|
115
130
|
"w3a--rounded-lg": buttonRadiusType === "rounded",
|
|
116
131
|
"w3a--rounded-none": buttonRadiusType === "square"
|
|
@@ -129,24 +144,24 @@ function Root(props) {
|
|
|
129
144
|
os: getOsName(osKey)
|
|
130
145
|
})
|
|
131
146
|
}), /*#__PURE__*/jsx("img", {
|
|
132
|
-
id: "
|
|
133
|
-
className: "w3a--
|
|
147
|
+
id: "install-links-arrow",
|
|
148
|
+
className: "w3a--absolute w3a--right-4 w3a--top-1/2 -w3a--translate-x-6 -w3a--translate-y-1/2 w3a--opacity-0 w3a--transition-all w3a--duration-300 group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
|
|
134
149
|
src: getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
135
150
|
alt: "arrow"
|
|
136
151
|
})]
|
|
137
152
|
})
|
|
138
153
|
})
|
|
139
|
-
}));
|
|
154
|
+
}, appUrl));
|
|
140
155
|
return acc;
|
|
141
156
|
}, []);
|
|
142
157
|
return installLinks;
|
|
143
|
-
}, [(_bodyState$
|
|
158
|
+
}, [(_bodyState$installLin2 = bodyState.installLinks) === null || _bodyState$installLin2 === void 0 || (_bodyState$installLin2 = _bodyState$installLin2.wallet) === null || _bodyState$installLin2 === void 0 || (_bodyState$installLin2 = _bodyState$installLin2.walletRegistryItem) === null || _bodyState$installLin2 === void 0 ? void 0 : _bodyState$installLin2.app, deviceDetails.platform, isDark, t, buttonRadiusType]);
|
|
144
159
|
const desktopInstallLinks = useMemo(() => {
|
|
145
|
-
var _bodyState$
|
|
160
|
+
var _bodyState$installLin3;
|
|
146
161
|
if (deviceDetails.platform !== "desktop") return [];
|
|
147
162
|
// if browser is brave, use chrome extension
|
|
148
163
|
const browserType = deviceDetails.browser === "brave" ? "chrome" : deviceDetails.browser;
|
|
149
|
-
const browserExtensionConfig = ((_bodyState$
|
|
164
|
+
const browserExtensionConfig = ((_bodyState$installLin3 = bodyState.installLinks) === null || _bodyState$installLin3 === void 0 || (_bodyState$installLin3 = _bodyState$installLin3.wallet) === null || _bodyState$installLin3 === void 0 || (_bodyState$installLin3 = _bodyState$installLin3.walletRegistryItem) === null || _bodyState$installLin3 === void 0 ? void 0 : _bodyState$installLin3.app) || {};
|
|
150
165
|
const extensionForCurrentBrowser = browserExtensionConfig.browser && browserExtensionConfig.browser.includes(browserType) ? browserExtensionConfig.browser : undefined;
|
|
151
166
|
const browserExtensionId = browserExtensionConfig[browserType] || extensionForCurrentBrowser;
|
|
152
167
|
const browserExtensionUrl = browserExtensionId ? getBrowserExtensionUrl(browserType, browserExtensionId) : null;
|
|
@@ -157,7 +172,7 @@ function Root(props) {
|
|
|
157
172
|
target: "_blank",
|
|
158
173
|
children: /*#__PURE__*/jsxs("button", {
|
|
159
174
|
type: "button",
|
|
160
|
-
className: cn("w3a--
|
|
175
|
+
className: cn("w3a--group w3a--relative w3a--overflow-hidden w3a--h-11 w3a--flex w3a--w-full w3a--items-center w3a--justify-start w3a--gap-x-2 w3a--border w3a--border-app-gray-200 w3a--bg-app-gray-50 w3a--px-5 w3a--py-2.5 hover:w3a--translate-y-[0.5px] hover:w3a--border-app-gray-50 dark:w3a--border-app-gray-500 dark:w3a--bg-app-gray-800 dark:hover:w3a--border-app-gray-800", {
|
|
161
176
|
"w3a--rounded-full": buttonRadiusType === "pill",
|
|
162
177
|
"w3a--rounded-lg": buttonRadiusType === "rounded",
|
|
163
178
|
"w3a--rounded-none": buttonRadiusType === "square"
|
|
@@ -176,40 +191,27 @@ function Root(props) {
|
|
|
176
191
|
browser: getBrowserName(deviceDetails.browser)
|
|
177
192
|
})
|
|
178
193
|
}), /*#__PURE__*/jsx("img", {
|
|
179
|
-
id: "
|
|
180
|
-
className: "w3a--
|
|
194
|
+
id: "install-links-arrow",
|
|
195
|
+
className: "w3a--absolute w3a--right-4 w3a--top-1/2 -w3a--translate-x-6 -w3a--translate-y-1/2 w3a--opacity-0 w3a--transition-all w3a--duration-300 group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
|
|
181
196
|
src: getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
182
197
|
alt: "arrow"
|
|
183
198
|
})]
|
|
184
199
|
})
|
|
185
200
|
})
|
|
186
|
-
}) : null;
|
|
201
|
+
}, browserExtensionUrl) : null;
|
|
187
202
|
return [installLink, ...mobileInstallLinks];
|
|
188
|
-
}, [(_bodyState$
|
|
203
|
+
}, [(_bodyState$installLin4 = bodyState.installLinks) === null || _bodyState$installLin4 === void 0 || (_bodyState$installLin4 = _bodyState$installLin4.wallet) === null || _bodyState$installLin4 === void 0 || (_bodyState$installLin4 = _bodyState$installLin4.walletRegistryItem) === null || _bodyState$installLin4 === void 0 ? void 0 : _bodyState$installLin4.app, deviceDetails.browser, deviceDetails.platform, isDark, mobileInstallLinks, buttonRadiusType, t]);
|
|
189
204
|
|
|
190
205
|
// External Wallets
|
|
191
|
-
|
|
192
206
|
const config = useMemo(() => modalState.externalWalletsConfig, [modalState.externalWalletsConfig]);
|
|
193
207
|
const connectorVisibilityMap = useMemo(() => {
|
|
194
208
|
const canShowMap = {};
|
|
195
209
|
Object.keys(config).forEach(connector => {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
canShowMap[connector] = false;
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
if (deviceDetails.platform === "desktop" && connectorConfig.showOnDesktop) {
|
|
202
|
-
canShowMap[connector] = true;
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
if ((deviceDetails.platform === "mobile" || deviceDetails.platform === "tablet") && connectorConfig.showOnMobile) {
|
|
206
|
-
canShowMap[connector] = true;
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
canShowMap[connector] = false;
|
|
210
|
+
var _config$connector;
|
|
211
|
+
canShowMap[connector] = Boolean((_config$connector = config[connector]) === null || _config$connector === void 0 ? void 0 : _config$connector.showOnModal);
|
|
210
212
|
});
|
|
211
213
|
return canShowMap;
|
|
212
|
-
}, [
|
|
214
|
+
}, [config]);
|
|
213
215
|
const isWalletConnectConnectorIncluded = useMemo(
|
|
214
216
|
// WC is always included when enabling wallet discovery
|
|
215
217
|
() => Object.keys((walletRegistry === null || walletRegistry === void 0 ? void 0 : walletRegistry.default) || {}).length > 0 || Object.keys((walletRegistry === null || walletRegistry === void 0 ? void 0 : walletRegistry.others) || {}).length > 0, [walletRegistry]);
|
|
@@ -225,20 +227,23 @@ function Root(props) {
|
|
|
225
227
|
const deepLink = walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$m2 = walletRegistryItem.mobile) === null || _walletRegistryItem$m2 === void 0 ? void 0 : _walletRegistryItem$m2.native;
|
|
226
228
|
href = universalLink || deepLink;
|
|
227
229
|
}
|
|
230
|
+
|
|
231
|
+
// determine the chain namespaces supported by the wallet
|
|
232
|
+
const connectorConfig = config[wallet];
|
|
233
|
+
const connectorChainNamespaces = (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.chainNamespaces) || [];
|
|
228
234
|
const registryNamespaces = new Set((_walletRegistryItem$c = walletRegistryItem.chains) === null || _walletRegistryItem$c === void 0 ? void 0 : _walletRegistryItem$c.map(chain => chain.split(":")[0]));
|
|
229
235
|
const injectedChainNamespaces = new Set((_walletRegistryItem$i = walletRegistryItem.injected) === null || _walletRegistryItem$i === void 0 ? void 0 : _walletRegistryItem$i.map(injected => injected.namespace));
|
|
230
|
-
const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x));
|
|
231
|
-
const connector = config[wallet];
|
|
236
|
+
const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x) || connectorChainNamespaces.includes(x));
|
|
232
237
|
const button = {
|
|
233
238
|
name: wallet,
|
|
234
239
|
displayName: walletRegistryItem.name,
|
|
235
240
|
href,
|
|
236
|
-
hasInjectedWallet: (
|
|
241
|
+
hasInjectedWallet: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.isInjected) || false,
|
|
237
242
|
hasWalletConnect: isWalletConnectConnectorIncluded && ((_walletRegistryItem$w = walletRegistryItem.walletConnect) === null || _walletRegistryItem$w === void 0 || (_walletRegistryItem$w = _walletRegistryItem$w.sdks) === null || _walletRegistryItem$w === void 0 ? void 0 : _walletRegistryItem$w.includes("sign_v2")),
|
|
238
243
|
hasInstallLinks: Object.keys(walletRegistryItem.app || {}).length > 0,
|
|
239
244
|
walletRegistryItem,
|
|
240
245
|
imgExtension: walletRegistryItem.imgExtension || "svg",
|
|
241
|
-
icon:
|
|
246
|
+
icon: connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.icon,
|
|
242
247
|
chainNamespaces: availableChainNamespaces
|
|
243
248
|
};
|
|
244
249
|
if (!button.hasInjectedWallet && !button.hasWalletConnect && !button.hasInstallLinks) return acc;
|
|
@@ -247,32 +252,46 @@ function Root(props) {
|
|
|
247
252
|
return acc;
|
|
248
253
|
}, []);
|
|
249
254
|
}, [connectorVisibilityMap, chainNamespaces, config, deviceDetails.platform, isWalletConnectConnectorIncluded]);
|
|
255
|
+
const allButtons = useMemo(() => {
|
|
256
|
+
return [...generateWalletButtons(walletRegistry.default), ...generateWalletButtons(walletRegistry.others)];
|
|
257
|
+
}, [generateWalletButtons, walletRegistry.default, walletRegistry.others]);
|
|
250
258
|
const installedConnectorButtons = useMemo(() => {
|
|
251
259
|
const installedConnectors = Object.keys(config).reduce((acc, connector) => {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
// determine chain namespaces based on wallet registry
|
|
256
|
-
const walletRegistryItem = walletRegistry.default[connector];
|
|
257
|
-
const registryNamespaces = new Set(walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$c2 = walletRegistryItem.chains) === null || _walletRegistryItem$c2 === void 0 ? void 0 : _walletRegistryItem$c2.map(chain => chain.split(":")[0]));
|
|
258
|
-
const injectedChainNamespaces = new Set(walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$i2 = walletRegistryItem.injected) === null || _walletRegistryItem$i2 === void 0 ? void 0 : _walletRegistryItem$i2.map(injected => injected.namespace));
|
|
259
|
-
const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x));
|
|
260
|
+
if (connector === WALLET_CONNECTORS.WALLET_CONNECT_V2 || !connectorVisibilityMap[connector]) return acc;
|
|
261
|
+
const connectorConfig = config[connector];
|
|
260
262
|
acc.push({
|
|
261
263
|
name: connector,
|
|
262
|
-
displayName:
|
|
263
|
-
hasInjectedWallet: (
|
|
264
|
+
displayName: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.label) || connector,
|
|
265
|
+
hasInjectedWallet: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.isInjected) || false,
|
|
264
266
|
hasWalletConnect: false,
|
|
265
267
|
hasInstallLinks: false,
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
chainNamespaces: availableChainNamespaces
|
|
268
|
+
icon: connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.icon,
|
|
269
|
+
chainNamespaces: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.chainNamespaces) || []
|
|
269
270
|
});
|
|
270
271
|
return acc;
|
|
271
272
|
}, []);
|
|
272
273
|
|
|
274
|
+
// if metamask connector is not injected, use the registry button instead to display QR code
|
|
275
|
+
const metamaskConnectorIdx = installedConnectors.findIndex(x => x.name === WALLET_CONNECTORS.METAMASK && !x.hasInjectedWallet);
|
|
276
|
+
if (metamaskConnectorIdx !== -1) {
|
|
277
|
+
const metamaskConnector = installedConnectors[metamaskConnectorIdx];
|
|
278
|
+
let metamaskRegistryButton = allButtons.find(button => button.name === WALLET_CONNECTORS.METAMASK);
|
|
279
|
+
if (!metamaskRegistryButton) {
|
|
280
|
+
// use the default metamask registry item if it's not in the registry
|
|
281
|
+
metamaskRegistryButton = generateWalletButtons({
|
|
282
|
+
[WALLET_CONNECTORS.METAMASK]: DEFAULT_METAMASK_WALLET_REGISTRY_ITEM
|
|
283
|
+
})[0];
|
|
284
|
+
}
|
|
285
|
+
if (metamaskRegistryButton) {
|
|
286
|
+
installedConnectors.splice(metamaskConnectorIdx, 1, _objectSpread(_objectSpread({}, metamaskRegistryButton), {}, {
|
|
287
|
+
chainNamespaces: metamaskConnector.chainNamespaces // preserve the chain namespaces
|
|
288
|
+
}));
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
273
292
|
// make metamask the first button and limit the number of buttons
|
|
274
293
|
return installedConnectors;
|
|
275
|
-
}, [config, connectorVisibilityMap,
|
|
294
|
+
}, [allButtons, config, connectorVisibilityMap, generateWalletButtons]);
|
|
276
295
|
const customConnectorButtons = useMemo(() => {
|
|
277
296
|
return installedConnectorButtons.filter(button => !button.hasInjectedWallet);
|
|
278
297
|
}, [installedConnectorButtons]);
|
|
@@ -282,9 +301,6 @@ function Root(props) {
|
|
|
282
301
|
// make metamask the first button and limit the number of buttons
|
|
283
302
|
return installedConnectorButtons.sort((a, _) => a.name === WALLET_CONNECTORS.METAMASK ? -1 : 1).slice(0, displayInstalledExternalWallets ? MAX_TOP_INSTALLED_CONNECTORS : 1);
|
|
284
303
|
}, [installedConnectorButtons, displayInstalledExternalWallets]);
|
|
285
|
-
const allButtons = useMemo(() => {
|
|
286
|
-
return [...generateWalletButtons(walletRegistry.default), ...generateWalletButtons(walletRegistry.others)];
|
|
287
|
-
}, [generateWalletButtons, walletRegistry.default, walletRegistry.others]);
|
|
288
304
|
const totalExternalWallets = useMemo(() => {
|
|
289
305
|
const uniqueWalletSet = new Set();
|
|
290
306
|
return allButtons.concat(installedConnectorButtons).filter(button => {
|
|
@@ -300,17 +316,22 @@ function Root(props) {
|
|
|
300
316
|
setIsWalletDetailsExpanded(prev => !prev);
|
|
301
317
|
};
|
|
302
318
|
const containerMaxHeight = useMemo(() => {
|
|
319
|
+
var _bodyState$metamaskQr;
|
|
303
320
|
const isPrivacyPolicyOrTncLink = privacyPolicy || tncLink;
|
|
304
|
-
const isEnableMainSocialLoginButton = enableMainSocialLoginButton;
|
|
305
321
|
|
|
306
322
|
// Loader Screen
|
|
307
323
|
if (modalState.status !== MODAL_STATUS.INITIALIZED) {
|
|
308
|
-
return "
|
|
324
|
+
return "530px";
|
|
309
325
|
}
|
|
310
326
|
|
|
311
327
|
// Wallet Details Screen
|
|
312
328
|
if (isWalletDetailsExpanded) {
|
|
313
|
-
return "588px";
|
|
329
|
+
return isPrivacyPolicyOrTncLink ? "640px" : "588px";
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// MetaMask QR Code Screen
|
|
333
|
+
if ((_bodyState$metamaskQr = bodyState.metamaskQrCode) !== null && _bodyState$metamaskQr !== void 0 && _bodyState$metamaskQr.show) {
|
|
334
|
+
return isPrivacyPolicyOrTncLink ? "640px" : "588px";
|
|
314
335
|
}
|
|
315
336
|
|
|
316
337
|
// Connect Wallet Screen
|
|
@@ -325,29 +346,33 @@ function Root(props) {
|
|
|
325
346
|
|
|
326
347
|
// Only MetaMask
|
|
327
348
|
if (topInstalledConnectorButtons.length === 1) {
|
|
328
|
-
|
|
329
|
-
return isEnableMainSocialLoginButton ? "600px" : "560px";
|
|
330
|
-
}
|
|
331
|
-
return isEnableMainSocialLoginButton ? "570px" : "530px";
|
|
349
|
+
return isPrivacyPolicyOrTncLink ? "560px" : "530px";
|
|
332
350
|
}
|
|
333
351
|
|
|
334
352
|
// More than 1 connector
|
|
335
353
|
if (topInstalledConnectorButtons.length > 1) {
|
|
336
354
|
const maxHeight = 500 + (topInstalledConnectorButtons.length - 1) * 58;
|
|
337
355
|
if (isPrivacyPolicyOrTncLink) {
|
|
338
|
-
return `${maxHeight +
|
|
356
|
+
return `${maxHeight + 60}px`;
|
|
339
357
|
}
|
|
340
|
-
return `${maxHeight +
|
|
358
|
+
return `${maxHeight + 16}px`;
|
|
341
359
|
}
|
|
342
360
|
// Default
|
|
343
361
|
return "539px";
|
|
344
|
-
}, [
|
|
362
|
+
}, [privacyPolicy, tncLink, modalState.status, modalState.currentPage, isWalletDetailsExpanded, (_bodyState$metamaskQr2 = bodyState.metamaskQrCode) === null || _bodyState$metamaskQr2 === void 0 ? void 0 : _bodyState$metamaskQr2.show, isSocialLoginsExpanded, topInstalledConnectorButtons.length]);
|
|
345
363
|
const contextValue = useMemo(() => ({
|
|
346
364
|
bodyState,
|
|
347
365
|
setBodyState,
|
|
348
366
|
toast,
|
|
349
367
|
setToast
|
|
350
368
|
}), [bodyState, setBodyState, toast, setToast]);
|
|
369
|
+
const isShowLoader = useMemo(() => {
|
|
370
|
+
// don't show loader if metamask is connecting and there is a connect uri
|
|
371
|
+
if (modalState.detailedLoaderConnector === WALLET_CONNECTORS.METAMASK && modalState.metamaskConnectUri) {
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
374
|
+
return modalState.status !== MODAL_STATUS.INITIALIZED;
|
|
375
|
+
}, [modalState.detailedLoaderConnector, modalState.metamaskConnectUri, modalState.status]);
|
|
351
376
|
return /*#__PURE__*/jsx(RootContext.Provider, {
|
|
352
377
|
value: contextValue,
|
|
353
378
|
children: /*#__PURE__*/jsxs("div", {
|
|
@@ -361,92 +386,125 @@ function Root(props) {
|
|
|
361
386
|
className: "w3a--modal-curtain"
|
|
362
387
|
}), /*#__PURE__*/jsxs("div", {
|
|
363
388
|
className: "w3a--relative w3a--flex w3a--h-full w3a--flex-1 w3a--flex-col w3a--p-6",
|
|
364
|
-
children: [
|
|
389
|
+
children: [isShowLoader ? /*#__PURE__*/jsx(Loader, {
|
|
365
390
|
connector: modalState.detailedLoaderConnector,
|
|
366
391
|
connectorName: modalState.detailedLoaderConnectorName,
|
|
367
392
|
modalStatus: modalState.status,
|
|
368
393
|
onClose: onCloseLoader,
|
|
369
394
|
appLogo: appLogo
|
|
370
|
-
}) : /*#__PURE__*/
|
|
371
|
-
children:
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
395
|
+
}) : /*#__PURE__*/jsx(Fragment, {
|
|
396
|
+
children: (_bodyState$metamaskQr3 = bodyState.metamaskQrCode) !== null && _bodyState$metamaskQr3 !== void 0 && _bodyState$metamaskQr3.show ? /*#__PURE__*/jsxs("div", {
|
|
397
|
+
className: "w3a--relative w3a--flex w3a--flex-1 w3a--flex-col w3a--gap-y-4",
|
|
398
|
+
children: [/*#__PURE__*/jsx(ConnectWalletHeader, {
|
|
399
|
+
onBackClick: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
400
|
+
metamaskQrCode: {
|
|
401
|
+
show: false,
|
|
402
|
+
wallet: null
|
|
403
|
+
}
|
|
404
|
+
})),
|
|
405
|
+
currentPage: CONNECT_WALLET_PAGES.SELECTED_WALLET,
|
|
406
|
+
selectedButton: bodyState.metamaskQrCode.wallet
|
|
407
|
+
}), /*#__PURE__*/jsx(ConnectWalletQrCode, {
|
|
408
|
+
qrCodeValue: modalState.metamaskConnectUri,
|
|
409
|
+
isDark: isDark,
|
|
410
|
+
selectedButton: bodyState.metamaskQrCode.wallet,
|
|
411
|
+
primaryColor: (_bodyState$metamaskQr4 = bodyState.metamaskQrCode.wallet.walletRegistryItem) === null || _bodyState$metamaskQr4 === void 0 ? void 0 : _bodyState$metamaskQr4.primaryColor,
|
|
412
|
+
logoImage: `https://images.web3auth.io/login-${bodyState.metamaskQrCode.wallet.name}.${bodyState.metamaskQrCode.wallet.imgExtension}`
|
|
413
|
+
})]
|
|
414
|
+
}) : /*#__PURE__*/jsxs(Fragment, {
|
|
415
|
+
children: [modalState.currentPage === PAGES.LOGIN && showExternalWalletPage && modalState.status === MODAL_STATUS.INITIALIZED && /*#__PURE__*/jsx(Login, {
|
|
416
|
+
web3authClientId: modalState.web3authClientId,
|
|
417
|
+
web3authNetwork: modalState.web3authNetwork,
|
|
418
|
+
authBuildEnv: modalState.authBuildEnv,
|
|
419
|
+
isModalVisible: modalState.modalVisibility,
|
|
420
|
+
isDark: isDark,
|
|
421
|
+
appLogo: appLogo,
|
|
422
|
+
showPasswordLessInput: showPasswordLessInput,
|
|
423
|
+
showExternalWalletButton: showExternalWalletButton,
|
|
424
|
+
showExternalWalletCount: displayExternalWalletsCount,
|
|
425
|
+
showInstalledExternalWallets: displayInstalledExternalWallets,
|
|
426
|
+
socialLoginsConfig: socialLoginsConfig,
|
|
427
|
+
areSocialLoginsVisible: areSocialLoginsVisible,
|
|
428
|
+
isEmailPrimary: isEmailPrimary,
|
|
429
|
+
isExternalPrimary: isExternalPrimary,
|
|
430
|
+
installedExternalWalletConfig: topInstalledConnectorButtons,
|
|
431
|
+
isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
|
|
432
|
+
isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
|
|
433
|
+
totalExternalWallets: totalExternalWallets,
|
|
434
|
+
logoAlignment: logoAlignment,
|
|
435
|
+
buttonRadius: buttonRadiusType,
|
|
436
|
+
handleSocialLoginClick: handleSocialLoginClick,
|
|
437
|
+
handleExternalWalletBtnClick: onExternalWalletBtnClick,
|
|
438
|
+
handleSocialLoginHeight: handleSocialLoginHeight,
|
|
439
|
+
handleExternalWalletClick: preHandleExternalWalletClick
|
|
440
|
+
}), modalState.currentPage === PAGES.CONNECT_WALLET && !showExternalWalletPage && modalState.status === MODAL_STATUS.INITIALIZED && /*#__PURE__*/jsx(ConnectWallet, {
|
|
441
|
+
isDark: isDark,
|
|
442
|
+
walletConnectUri: modalState.walletConnectUri,
|
|
443
|
+
metamaskConnectUri: modalState.metamaskConnectUri,
|
|
444
|
+
config: modalState.externalWalletsConfig,
|
|
445
|
+
walletRegistry: walletRegistry,
|
|
446
|
+
allExternalButtons: allButtons,
|
|
447
|
+
connectorVisibilityMap: connectorVisibilityMap,
|
|
448
|
+
customConnectorButtons: customConnectorButtons,
|
|
449
|
+
deviceDetails: {
|
|
450
|
+
platform: deviceDetails.platform,
|
|
451
|
+
browser: deviceDetails.browser,
|
|
452
|
+
os: deviceDetails.os
|
|
453
|
+
},
|
|
454
|
+
chainNamespace: chainNamespaces,
|
|
455
|
+
buttonRadius: buttonRadiusType,
|
|
456
|
+
handleWalletDetailsHeight: handleWalletDetailsHeight,
|
|
457
|
+
onBackClick: onBackClick,
|
|
458
|
+
handleExternalWalletClick: preHandleExternalWalletClick
|
|
459
|
+
})]
|
|
460
|
+
})
|
|
415
461
|
}), /*#__PURE__*/jsx(Footer, {
|
|
416
462
|
privacyPolicy: privacyPolicy,
|
|
417
463
|
termsOfService: tncLink
|
|
418
|
-
}), bodyState.
|
|
464
|
+
}), ((_bodyState$multiChain = bodyState.multiChainSelector) === null || _bodyState$multiChain === void 0 ? void 0 : _bodyState$multiChain.show) && /*#__PURE__*/jsx(BottomSheet, {
|
|
419
465
|
uiConfig: uiConfig,
|
|
420
|
-
isShown: bodyState.
|
|
421
|
-
onClose: () => setBodyState({
|
|
422
|
-
|
|
423
|
-
|
|
466
|
+
isShown: bodyState.multiChainSelector.show,
|
|
467
|
+
onClose: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
468
|
+
multiChainSelector: {
|
|
469
|
+
show: false,
|
|
470
|
+
wallet: null
|
|
471
|
+
}
|
|
472
|
+
})),
|
|
424
473
|
children: /*#__PURE__*/jsx(ConnectWalletChainNamespaceSelect, {
|
|
425
474
|
isDark: isDark,
|
|
426
|
-
wallet: bodyState.
|
|
475
|
+
wallet: bodyState.multiChainSelector.wallet,
|
|
427
476
|
handleExternalWalletClick: params => {
|
|
428
477
|
preHandleExternalWalletClick(params);
|
|
429
|
-
setBodyState({
|
|
430
|
-
|
|
431
|
-
|
|
478
|
+
setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
479
|
+
multiChainSelector: {
|
|
480
|
+
show: false,
|
|
481
|
+
wallet: null
|
|
482
|
+
}
|
|
483
|
+
}));
|
|
432
484
|
}
|
|
433
485
|
})
|
|
434
|
-
}), bodyState.
|
|
486
|
+
}), ((_bodyState$installLin5 = bodyState.installLinks) === null || _bodyState$installLin5 === void 0 ? void 0 : _bodyState$installLin5.show) && /*#__PURE__*/jsxs(BottomSheet, {
|
|
435
487
|
uiConfig: uiConfig,
|
|
436
|
-
isShown: bodyState.
|
|
437
|
-
onClose: () => setBodyState({
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
488
|
+
isShown: bodyState.installLinks.show,
|
|
489
|
+
onClose: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
490
|
+
installLinks: {
|
|
491
|
+
show: false,
|
|
492
|
+
wallet: null
|
|
493
|
+
}
|
|
494
|
+
})),
|
|
495
|
+
children: [/*#__PURE__*/jsx("p", {
|
|
496
|
+
className: "w3a--mb-2 w3a--text-center w3a--text-base w3a--font-semibold w3a--text-app-gray-900 dark:w3a--text-app-white",
|
|
497
|
+
children: t("modal.getWallet")
|
|
498
|
+
}), /*#__PURE__*/jsx("div", {
|
|
441
499
|
className: "w3a--my-4 w3a--flex w3a--justify-center",
|
|
442
500
|
children: /*#__PURE__*/jsx(Image, {
|
|
443
|
-
imageId: `login-${bodyState.
|
|
444
|
-
hoverImageId: `login-${bodyState.
|
|
501
|
+
imageId: `login-${bodyState.installLinks.wallet.name}`,
|
|
502
|
+
hoverImageId: `login-${bodyState.installLinks.wallet.name}`,
|
|
445
503
|
fallbackImageId: "wallet",
|
|
446
504
|
height: "80",
|
|
447
505
|
width: "80",
|
|
448
506
|
isButton: true,
|
|
449
|
-
extension: bodyState.
|
|
507
|
+
extension: bodyState.installLinks.wallet.imgExtension
|
|
450
508
|
})
|
|
451
509
|
}), /*#__PURE__*/jsx("ul", {
|
|
452
510
|
className: "w3a--flex w3a--flex-col w3a--gap-y-2",
|