@web3auth/modal 10.0.0-beta.1 → 10.0.0-beta.12
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/connectors/coinbase-connector/index.js +12 -0
- 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/providers/ethereum-mpc-provider/index.js +12 -0
- package/dist/lib.cjs/packages/modal/src/providers/xrpl-provider/index.js +12 -0
- 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 +33 -20
- 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/connectors/coinbase-connector/index.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/providers/ethereum-mpc-provider/index.d.ts +1 -0
- package/dist/lib.cjs/types/providers/xrpl-provider/index.d.ts +1 -0
- 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/connectors/coinbase-connector/index.js +1 -0
- 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/providers/ethereum-mpc-provider/index.js +1 -0
- package/dist/lib.esm/packages/modal/src/providers/xrpl-provider/index.js +1 -0
- 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 +35 -22
- 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 +91 -19
- package/dist/lib.cjs/types/react/context/index.d.ts +0 -1
|
@@ -15,6 +15,8 @@ var utils = require('../../utils.js');
|
|
|
15
15
|
var BottomSheet = require('../BottomSheet/BottomSheet.js');
|
|
16
16
|
var ConnectWallet = require('../ConnectWallet/ConnectWallet.js');
|
|
17
17
|
var ConnectWalletChainNamespaceSelect = require('../ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js');
|
|
18
|
+
var ConnectWalletHeader = require('../ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js');
|
|
19
|
+
var ConnectWalletQrCode = require('../ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js');
|
|
18
20
|
var Footer = require('../Footer/Footer.js');
|
|
19
21
|
var Image = require('../Image/Image.js');
|
|
20
22
|
var Loader = require('../Loader/Loader.js');
|
|
@@ -22,7 +24,7 @@ var Login = require('../Login/Login.js');
|
|
|
22
24
|
var Toast = require('../Toast/Toast.js');
|
|
23
25
|
|
|
24
26
|
function Root(props) {
|
|
25
|
-
var _bodyState$
|
|
27
|
+
var _bodyState$installLin2, _bodyState$installLin4, _bodyState$metamaskQr2, _bodyState$metamaskQr3, _bodyState$metamaskQr4, _bodyState$multiChain, _bodyState$installLin5;
|
|
26
28
|
const {
|
|
27
29
|
setModalState,
|
|
28
30
|
modalState,
|
|
@@ -47,7 +49,6 @@ function Root(props) {
|
|
|
47
49
|
const {
|
|
48
50
|
logoAlignment = "center",
|
|
49
51
|
buttonRadiusType = "pill",
|
|
50
|
-
enableMainSocialLoginButton = false,
|
|
51
52
|
privacyPolicy = "",
|
|
52
53
|
tncLink = "",
|
|
53
54
|
displayInstalledExternalWallets = true,
|
|
@@ -60,9 +61,18 @@ function Root(props) {
|
|
|
60
61
|
isDark
|
|
61
62
|
} = react.useContext(ThemeContext.ThemedContext);
|
|
62
63
|
const [bodyState, setBodyState] = react.useState({
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
metamaskQrCode: {
|
|
65
|
+
show: false,
|
|
66
|
+
wallet: null
|
|
67
|
+
},
|
|
68
|
+
installLinks: {
|
|
69
|
+
show: false,
|
|
70
|
+
wallet: null
|
|
71
|
+
},
|
|
72
|
+
multiChainSelector: {
|
|
73
|
+
show: false,
|
|
74
|
+
wallet: null
|
|
75
|
+
}
|
|
66
76
|
});
|
|
67
77
|
const [toast, setToast] = react.useState({
|
|
68
78
|
message: "",
|
|
@@ -84,6 +94,11 @@ function Root(props) {
|
|
|
84
94
|
};
|
|
85
95
|
// Wallet Details
|
|
86
96
|
const deviceDetails = react.useMemo(() => {
|
|
97
|
+
if (typeof window === "undefined") return {
|
|
98
|
+
platform: "mobile",
|
|
99
|
+
browser: "chrome",
|
|
100
|
+
os: "ios"
|
|
101
|
+
};
|
|
87
102
|
const browserData = Bowser.getParser(window.navigator.userAgent);
|
|
88
103
|
return {
|
|
89
104
|
platform: browserData.getPlatformType(),
|
|
@@ -92,9 +107,9 @@ function Root(props) {
|
|
|
92
107
|
};
|
|
93
108
|
}, []);
|
|
94
109
|
const mobileInstallLinks = react.useMemo(() => {
|
|
95
|
-
var _bodyState$
|
|
110
|
+
var _bodyState$installLin;
|
|
96
111
|
if (deviceDetails.platform === "desktop") return [];
|
|
97
|
-
const installConfig = ((_bodyState$
|
|
112
|
+
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) || {};
|
|
98
113
|
const installLinks = Object.keys(installConfig).reduce((acc, osKey) => {
|
|
99
114
|
if (!["android", "ios"].includes(osKey)) return acc;
|
|
100
115
|
const appId = installConfig[osKey];
|
|
@@ -111,7 +126,7 @@ function Root(props) {
|
|
|
111
126
|
target: "_blank",
|
|
112
127
|
children: jsxRuntime.jsxs("button", {
|
|
113
128
|
type: "button",
|
|
114
|
-
className: utils.cn("w3a--
|
|
129
|
+
className: utils.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", {
|
|
115
130
|
"w3a--rounded-full": buttonRadiusType === "pill",
|
|
116
131
|
"w3a--rounded-lg": buttonRadiusType === "rounded",
|
|
117
132
|
"w3a--rounded-none": buttonRadiusType === "square"
|
|
@@ -130,24 +145,24 @@ function Root(props) {
|
|
|
130
145
|
os: utils.getOsName(osKey)
|
|
131
146
|
})
|
|
132
147
|
}), jsxRuntime.jsx("img", {
|
|
133
|
-
id: "
|
|
134
|
-
className: "w3a--
|
|
148
|
+
id: "install-links-arrow",
|
|
149
|
+
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\n group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
|
|
135
150
|
src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
136
151
|
alt: "arrow"
|
|
137
152
|
})]
|
|
138
153
|
})
|
|
139
154
|
})
|
|
140
|
-
}));
|
|
155
|
+
}, appUrl));
|
|
141
156
|
return acc;
|
|
142
157
|
}, []);
|
|
143
158
|
return installLinks;
|
|
144
|
-
}, [(_bodyState$
|
|
159
|
+
}, [(_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]);
|
|
145
160
|
const desktopInstallLinks = react.useMemo(() => {
|
|
146
|
-
var _bodyState$
|
|
161
|
+
var _bodyState$installLin3;
|
|
147
162
|
if (deviceDetails.platform !== "desktop") return [];
|
|
148
163
|
// if browser is brave, use chrome extension
|
|
149
164
|
const browserType = deviceDetails.browser === "brave" ? "chrome" : deviceDetails.browser;
|
|
150
|
-
const browserExtensionConfig = ((_bodyState$
|
|
165
|
+
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) || {};
|
|
151
166
|
const extensionForCurrentBrowser = browserExtensionConfig.browser && browserExtensionConfig.browser.includes(browserType) ? browserExtensionConfig.browser : undefined;
|
|
152
167
|
const browserExtensionId = browserExtensionConfig[browserType] || extensionForCurrentBrowser;
|
|
153
168
|
const browserExtensionUrl = browserExtensionId ? utils.getBrowserExtensionUrl(browserType, browserExtensionId) : null;
|
|
@@ -158,7 +173,7 @@ function Root(props) {
|
|
|
158
173
|
target: "_blank",
|
|
159
174
|
children: jsxRuntime.jsxs("button", {
|
|
160
175
|
type: "button",
|
|
161
|
-
className: utils.cn("w3a--
|
|
176
|
+
className: utils.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", {
|
|
162
177
|
"w3a--rounded-full": buttonRadiusType === "pill",
|
|
163
178
|
"w3a--rounded-lg": buttonRadiusType === "rounded",
|
|
164
179
|
"w3a--rounded-none": buttonRadiusType === "square"
|
|
@@ -177,38 +192,26 @@ function Root(props) {
|
|
|
177
192
|
browser: utils.getBrowserName(deviceDetails.browser)
|
|
178
193
|
})
|
|
179
194
|
}), jsxRuntime.jsx("img", {
|
|
180
|
-
id: "
|
|
181
|
-
className: "w3a--
|
|
195
|
+
id: "install-links-arrow",
|
|
196
|
+
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\n group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
|
|
182
197
|
src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
183
198
|
alt: "arrow"
|
|
184
199
|
})]
|
|
185
200
|
})
|
|
186
201
|
})
|
|
187
|
-
}) : null;
|
|
202
|
+
}, browserExtensionUrl) : null;
|
|
188
203
|
return [installLink, ...mobileInstallLinks];
|
|
189
|
-
}, [(_bodyState$
|
|
204
|
+
}, [(_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]);
|
|
190
205
|
// External Wallets
|
|
191
206
|
const config = react.useMemo(() => modalState.externalWalletsConfig, [modalState.externalWalletsConfig]);
|
|
192
207
|
const connectorVisibilityMap = react.useMemo(() => {
|
|
193
208
|
const canShowMap = {};
|
|
194
209
|
Object.keys(config).forEach(connector => {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
canShowMap[connector] = false;
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
if (deviceDetails.platform === "desktop" && connectorConfig.showOnDesktop) {
|
|
201
|
-
canShowMap[connector] = true;
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
if ((deviceDetails.platform === "mobile" || deviceDetails.platform === "tablet") && connectorConfig.showOnMobile) {
|
|
205
|
-
canShowMap[connector] = true;
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
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);
|
|
209
212
|
});
|
|
210
213
|
return canShowMap;
|
|
211
|
-
}, [
|
|
214
|
+
}, [config]);
|
|
212
215
|
const isWalletConnectConnectorIncluded = react.useMemo(
|
|
213
216
|
// WC is always included when enabling wallet discovery
|
|
214
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]);
|
|
@@ -224,20 +227,22 @@ function Root(props) {
|
|
|
224
227
|
const deepLink = walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$m2 = walletRegistryItem.mobile) === null || _walletRegistryItem$m2 === void 0 ? void 0 : _walletRegistryItem$m2.native;
|
|
225
228
|
href = universalLink || deepLink;
|
|
226
229
|
}
|
|
230
|
+
// determine the chain namespaces supported by the wallet
|
|
231
|
+
const connectorConfig = config[wallet];
|
|
232
|
+
const connectorChainNamespaces = (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.chainNamespaces) || [];
|
|
227
233
|
const registryNamespaces = new Set((_walletRegistryItem$c = walletRegistryItem.chains) === null || _walletRegistryItem$c === void 0 ? void 0 : _walletRegistryItem$c.map(chain => chain.split(":")[0]));
|
|
228
234
|
const injectedChainNamespaces = new Set((_walletRegistryItem$i = walletRegistryItem.injected) === null || _walletRegistryItem$i === void 0 ? void 0 : _walletRegistryItem$i.map(injected => injected.namespace));
|
|
229
|
-
const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x));
|
|
230
|
-
const connector = config[wallet];
|
|
235
|
+
const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x) || connectorChainNamespaces.includes(x));
|
|
231
236
|
const button = {
|
|
232
237
|
name: wallet,
|
|
233
238
|
displayName: walletRegistryItem.name,
|
|
234
239
|
href,
|
|
235
|
-
hasInjectedWallet: (
|
|
240
|
+
hasInjectedWallet: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.isInjected) || false,
|
|
236
241
|
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")),
|
|
237
242
|
hasInstallLinks: Object.keys(walletRegistryItem.app || {}).length > 0,
|
|
238
243
|
walletRegistryItem,
|
|
239
244
|
imgExtension: walletRegistryItem.imgExtension || "svg",
|
|
240
|
-
icon:
|
|
245
|
+
icon: connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.icon,
|
|
241
246
|
chainNamespaces: availableChainNamespaces
|
|
242
247
|
};
|
|
243
248
|
if (!button.hasInjectedWallet && !button.hasWalletConnect && !button.hasInstallLinks) return acc;
|
|
@@ -246,30 +251,44 @@ function Root(props) {
|
|
|
246
251
|
return acc;
|
|
247
252
|
}, []);
|
|
248
253
|
}, [connectorVisibilityMap, chainNamespaces, config, deviceDetails.platform, isWalletConnectConnectorIncluded]);
|
|
254
|
+
const allButtons = react.useMemo(() => {
|
|
255
|
+
return [...generateWalletButtons(walletRegistry.default), ...generateWalletButtons(walletRegistry.others)];
|
|
256
|
+
}, [generateWalletButtons, walletRegistry.default, walletRegistry.others]);
|
|
249
257
|
const installedConnectorButtons = react.useMemo(() => {
|
|
250
258
|
const installedConnectors = Object.keys(config).reduce((acc, connector) => {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
// determine chain namespaces based on wallet registry
|
|
254
|
-
const walletRegistryItem = walletRegistry.default[connector];
|
|
255
|
-
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]));
|
|
256
|
-
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));
|
|
257
|
-
const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x));
|
|
259
|
+
if (connector === noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2 || !connectorVisibilityMap[connector]) return acc;
|
|
260
|
+
const connectorConfig = config[connector];
|
|
258
261
|
acc.push({
|
|
259
262
|
name: connector,
|
|
260
|
-
displayName:
|
|
261
|
-
hasInjectedWallet: (
|
|
263
|
+
displayName: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.label) || connector,
|
|
264
|
+
hasInjectedWallet: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.isInjected) || false,
|
|
262
265
|
hasWalletConnect: false,
|
|
263
266
|
hasInstallLinks: false,
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
chainNamespaces: availableChainNamespaces
|
|
267
|
+
icon: connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.icon,
|
|
268
|
+
chainNamespaces: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.chainNamespaces) || []
|
|
267
269
|
});
|
|
268
270
|
return acc;
|
|
269
271
|
}, []);
|
|
272
|
+
// if metamask connector is not injected, use the registry button instead to display QR code
|
|
273
|
+
const metamaskConnectorIdx = installedConnectors.findIndex(x => x.name === noModal.WALLET_CONNECTORS.METAMASK && !x.hasInjectedWallet);
|
|
274
|
+
if (metamaskConnectorIdx !== -1) {
|
|
275
|
+
const metamaskConnector = installedConnectors[metamaskConnectorIdx];
|
|
276
|
+
let metamaskRegistryButton = allButtons.find(button => button.name === noModal.WALLET_CONNECTORS.METAMASK);
|
|
277
|
+
if (!metamaskRegistryButton) {
|
|
278
|
+
// use the default metamask registry item if it's not in the registry
|
|
279
|
+
metamaskRegistryButton = generateWalletButtons({
|
|
280
|
+
[noModal.WALLET_CONNECTORS.METAMASK]: constants.DEFAULT_METAMASK_WALLET_REGISTRY_ITEM
|
|
281
|
+
})[0];
|
|
282
|
+
}
|
|
283
|
+
if (metamaskRegistryButton) {
|
|
284
|
+
installedConnectors.splice(metamaskConnectorIdx, 1, _objectSpread(_objectSpread({}, metamaskRegistryButton), {}, {
|
|
285
|
+
chainNamespaces: metamaskConnector.chainNamespaces // preserve the chain namespaces
|
|
286
|
+
}));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
270
289
|
// make metamask the first button and limit the number of buttons
|
|
271
290
|
return installedConnectors;
|
|
272
|
-
}, [config, connectorVisibilityMap,
|
|
291
|
+
}, [allButtons, config, connectorVisibilityMap, generateWalletButtons]);
|
|
273
292
|
const customConnectorButtons = react.useMemo(() => {
|
|
274
293
|
return installedConnectorButtons.filter(button => !button.hasInjectedWallet);
|
|
275
294
|
}, [installedConnectorButtons]);
|
|
@@ -278,9 +297,6 @@ function Root(props) {
|
|
|
278
297
|
// make metamask the first button and limit the number of buttons
|
|
279
298
|
return installedConnectorButtons.sort((a, _) => a.name === noModal.WALLET_CONNECTORS.METAMASK ? -1 : 1).slice(0, displayInstalledExternalWallets ? MAX_TOP_INSTALLED_CONNECTORS : 1);
|
|
280
299
|
}, [installedConnectorButtons, displayInstalledExternalWallets]);
|
|
281
|
-
const allButtons = react.useMemo(() => {
|
|
282
|
-
return [...generateWalletButtons(walletRegistry.default), ...generateWalletButtons(walletRegistry.others)];
|
|
283
|
-
}, [generateWalletButtons, walletRegistry.default, walletRegistry.others]);
|
|
284
300
|
const totalExternalWallets = react.useMemo(() => {
|
|
285
301
|
const uniqueWalletSet = new Set();
|
|
286
302
|
return allButtons.concat(installedConnectorButtons).filter(button => {
|
|
@@ -296,15 +312,19 @@ function Root(props) {
|
|
|
296
312
|
setIsWalletDetailsExpanded(prev => !prev);
|
|
297
313
|
};
|
|
298
314
|
const containerMaxHeight = react.useMemo(() => {
|
|
315
|
+
var _bodyState$metamaskQr;
|
|
299
316
|
const isPrivacyPolicyOrTncLink = privacyPolicy || tncLink;
|
|
300
|
-
const isEnableMainSocialLoginButton = enableMainSocialLoginButton;
|
|
301
317
|
// Loader Screen
|
|
302
318
|
if (modalState.status !== interfaces.MODAL_STATUS.INITIALIZED) {
|
|
303
|
-
return "
|
|
319
|
+
return "530px";
|
|
304
320
|
}
|
|
305
321
|
// Wallet Details Screen
|
|
306
322
|
if (isWalletDetailsExpanded) {
|
|
307
|
-
return "588px";
|
|
323
|
+
return isPrivacyPolicyOrTncLink ? "640px" : "588px";
|
|
324
|
+
}
|
|
325
|
+
// MetaMask QR Code Screen
|
|
326
|
+
if ((_bodyState$metamaskQr = bodyState.metamaskQrCode) !== null && _bodyState$metamaskQr !== void 0 && _bodyState$metamaskQr.show) {
|
|
327
|
+
return isPrivacyPolicyOrTncLink ? "640px" : "588px";
|
|
308
328
|
}
|
|
309
329
|
// Connect Wallet Screen
|
|
310
330
|
if (modalState.currentPage === constants.PAGES.CONNECT_WALLET) {
|
|
@@ -316,28 +336,32 @@ function Root(props) {
|
|
|
316
336
|
}
|
|
317
337
|
// Only MetaMask
|
|
318
338
|
if (topInstalledConnectorButtons.length === 1) {
|
|
319
|
-
|
|
320
|
-
return isEnableMainSocialLoginButton ? "600px" : "560px";
|
|
321
|
-
}
|
|
322
|
-
return isEnableMainSocialLoginButton ? "570px" : "530px";
|
|
339
|
+
return isPrivacyPolicyOrTncLink ? "560px" : "530px";
|
|
323
340
|
}
|
|
324
341
|
// More than 1 connector
|
|
325
342
|
if (topInstalledConnectorButtons.length > 1) {
|
|
326
343
|
const maxHeight = 500 + (topInstalledConnectorButtons.length - 1) * 58;
|
|
327
344
|
if (isPrivacyPolicyOrTncLink) {
|
|
328
|
-
return `${maxHeight +
|
|
345
|
+
return `${maxHeight + 60}px`;
|
|
329
346
|
}
|
|
330
|
-
return `${maxHeight +
|
|
347
|
+
return `${maxHeight + 16}px`;
|
|
331
348
|
}
|
|
332
349
|
// Default
|
|
333
350
|
return "539px";
|
|
334
|
-
}, [
|
|
351
|
+
}, [privacyPolicy, tncLink, modalState.status, modalState.currentPage, isWalletDetailsExpanded, (_bodyState$metamaskQr2 = bodyState.metamaskQrCode) === null || _bodyState$metamaskQr2 === void 0 ? void 0 : _bodyState$metamaskQr2.show, isSocialLoginsExpanded, topInstalledConnectorButtons.length]);
|
|
335
352
|
const contextValue = react.useMemo(() => ({
|
|
336
353
|
bodyState,
|
|
337
354
|
setBodyState,
|
|
338
355
|
toast,
|
|
339
356
|
setToast
|
|
340
357
|
}), [bodyState, setBodyState, toast, setToast]);
|
|
358
|
+
const isShowLoader = react.useMemo(() => {
|
|
359
|
+
// don't show loader if metamask is connecting and there is a connect uri
|
|
360
|
+
if (modalState.detailedLoaderConnector === noModal.WALLET_CONNECTORS.METAMASK && modalState.metamaskConnectUri) {
|
|
361
|
+
return false;
|
|
362
|
+
}
|
|
363
|
+
return modalState.status !== interfaces.MODAL_STATUS.INITIALIZED;
|
|
364
|
+
}, [modalState.detailedLoaderConnector, modalState.metamaskConnectUri, modalState.status]);
|
|
341
365
|
return jsxRuntime.jsx(RootContext.RootContext.Provider, {
|
|
342
366
|
value: contextValue,
|
|
343
367
|
children: jsxRuntime.jsxs("div", {
|
|
@@ -351,92 +375,125 @@ function Root(props) {
|
|
|
351
375
|
className: "w3a--modal-curtain"
|
|
352
376
|
}), jsxRuntime.jsxs("div", {
|
|
353
377
|
className: "w3a--relative w3a--flex w3a--h-full w3a--flex-1 w3a--flex-col w3a--p-6",
|
|
354
|
-
children: [
|
|
378
|
+
children: [isShowLoader ? jsxRuntime.jsx(Loader, {
|
|
355
379
|
connector: modalState.detailedLoaderConnector,
|
|
356
380
|
connectorName: modalState.detailedLoaderConnectorName,
|
|
357
381
|
modalStatus: modalState.status,
|
|
358
382
|
onClose: onCloseLoader,
|
|
359
383
|
appLogo: appLogo
|
|
360
|
-
}) : jsxRuntime.
|
|
361
|
-
children:
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
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
|
-
|
|
384
|
+
}) : jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
385
|
+
children: (_bodyState$metamaskQr3 = bodyState.metamaskQrCode) !== null && _bodyState$metamaskQr3 !== void 0 && _bodyState$metamaskQr3.show ? jsxRuntime.jsxs("div", {
|
|
386
|
+
className: "w3a--relative w3a--flex w3a--flex-1 w3a--flex-col w3a--gap-y-4",
|
|
387
|
+
children: [jsxRuntime.jsx(ConnectWalletHeader, {
|
|
388
|
+
onBackClick: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
389
|
+
metamaskQrCode: {
|
|
390
|
+
show: false,
|
|
391
|
+
wallet: null
|
|
392
|
+
}
|
|
393
|
+
})),
|
|
394
|
+
currentPage: constants.CONNECT_WALLET_PAGES.SELECTED_WALLET,
|
|
395
|
+
selectedButton: bodyState.metamaskQrCode.wallet
|
|
396
|
+
}), jsxRuntime.jsx(ConnectWalletQrCode, {
|
|
397
|
+
qrCodeValue: modalState.metamaskConnectUri,
|
|
398
|
+
isDark: isDark,
|
|
399
|
+
selectedButton: bodyState.metamaskQrCode.wallet,
|
|
400
|
+
primaryColor: (_bodyState$metamaskQr4 = bodyState.metamaskQrCode.wallet.walletRegistryItem) === null || _bodyState$metamaskQr4 === void 0 ? void 0 : _bodyState$metamaskQr4.primaryColor,
|
|
401
|
+
logoImage: `https://images.web3auth.io/login-${bodyState.metamaskQrCode.wallet.name}.${bodyState.metamaskQrCode.wallet.imgExtension}`
|
|
402
|
+
})]
|
|
403
|
+
}) : jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
404
|
+
children: [modalState.currentPage === constants.PAGES.LOGIN && showExternalWalletPage && modalState.status === interfaces.MODAL_STATUS.INITIALIZED && jsxRuntime.jsx(Login, {
|
|
405
|
+
web3authClientId: modalState.web3authClientId,
|
|
406
|
+
web3authNetwork: modalState.web3authNetwork,
|
|
407
|
+
authBuildEnv: modalState.authBuildEnv,
|
|
408
|
+
isModalVisible: modalState.modalVisibility,
|
|
409
|
+
isDark: isDark,
|
|
410
|
+
appLogo: appLogo,
|
|
411
|
+
showPasswordLessInput: showPasswordLessInput,
|
|
412
|
+
showExternalWalletButton: showExternalWalletButton,
|
|
413
|
+
showExternalWalletCount: displayExternalWalletsCount,
|
|
414
|
+
showInstalledExternalWallets: displayInstalledExternalWallets,
|
|
415
|
+
socialLoginsConfig: socialLoginsConfig,
|
|
416
|
+
areSocialLoginsVisible: areSocialLoginsVisible,
|
|
417
|
+
isEmailPrimary: isEmailPrimary,
|
|
418
|
+
isExternalPrimary: isExternalPrimary,
|
|
419
|
+
installedExternalWalletConfig: topInstalledConnectorButtons,
|
|
420
|
+
isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
|
|
421
|
+
isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
|
|
422
|
+
totalExternalWallets: totalExternalWallets,
|
|
423
|
+
logoAlignment: logoAlignment,
|
|
424
|
+
buttonRadius: buttonRadiusType,
|
|
425
|
+
handleSocialLoginClick: handleSocialLoginClick,
|
|
426
|
+
handleExternalWalletBtnClick: onExternalWalletBtnClick,
|
|
427
|
+
handleSocialLoginHeight: handleSocialLoginHeight,
|
|
428
|
+
handleExternalWalletClick: preHandleExternalWalletClick
|
|
429
|
+
}), modalState.currentPage === constants.PAGES.CONNECT_WALLET && !showExternalWalletPage && modalState.status === interfaces.MODAL_STATUS.INITIALIZED && jsxRuntime.jsx(ConnectWallet, {
|
|
430
|
+
isDark: isDark,
|
|
431
|
+
walletConnectUri: modalState.walletConnectUri,
|
|
432
|
+
metamaskConnectUri: modalState.metamaskConnectUri,
|
|
433
|
+
config: modalState.externalWalletsConfig,
|
|
434
|
+
walletRegistry: walletRegistry,
|
|
435
|
+
allExternalButtons: allButtons,
|
|
436
|
+
connectorVisibilityMap: connectorVisibilityMap,
|
|
437
|
+
customConnectorButtons: customConnectorButtons,
|
|
438
|
+
deviceDetails: {
|
|
439
|
+
platform: deviceDetails.platform,
|
|
440
|
+
browser: deviceDetails.browser,
|
|
441
|
+
os: deviceDetails.os
|
|
442
|
+
},
|
|
443
|
+
chainNamespace: chainNamespaces,
|
|
444
|
+
buttonRadius: buttonRadiusType,
|
|
445
|
+
handleWalletDetailsHeight: handleWalletDetailsHeight,
|
|
446
|
+
onBackClick: onBackClick,
|
|
447
|
+
handleExternalWalletClick: preHandleExternalWalletClick
|
|
448
|
+
})]
|
|
449
|
+
})
|
|
405
450
|
}), jsxRuntime.jsx(Footer, {
|
|
406
451
|
privacyPolicy: privacyPolicy,
|
|
407
452
|
termsOfService: tncLink
|
|
408
|
-
}), bodyState.
|
|
453
|
+
}), ((_bodyState$multiChain = bodyState.multiChainSelector) === null || _bodyState$multiChain === void 0 ? void 0 : _bodyState$multiChain.show) && jsxRuntime.jsx(BottomSheet, {
|
|
409
454
|
uiConfig: uiConfig,
|
|
410
|
-
isShown: bodyState.
|
|
411
|
-
onClose: () => setBodyState({
|
|
412
|
-
|
|
413
|
-
|
|
455
|
+
isShown: bodyState.multiChainSelector.show,
|
|
456
|
+
onClose: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
457
|
+
multiChainSelector: {
|
|
458
|
+
show: false,
|
|
459
|
+
wallet: null
|
|
460
|
+
}
|
|
461
|
+
})),
|
|
414
462
|
children: jsxRuntime.jsx(ConnectWalletChainNamespaceSelect, {
|
|
415
463
|
isDark: isDark,
|
|
416
|
-
wallet: bodyState.
|
|
464
|
+
wallet: bodyState.multiChainSelector.wallet,
|
|
417
465
|
handleExternalWalletClick: params => {
|
|
418
466
|
preHandleExternalWalletClick(params);
|
|
419
|
-
setBodyState({
|
|
420
|
-
|
|
421
|
-
|
|
467
|
+
setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
468
|
+
multiChainSelector: {
|
|
469
|
+
show: false,
|
|
470
|
+
wallet: null
|
|
471
|
+
}
|
|
472
|
+
}));
|
|
422
473
|
}
|
|
423
474
|
})
|
|
424
|
-
}), bodyState.
|
|
475
|
+
}), ((_bodyState$installLin5 = bodyState.installLinks) === null || _bodyState$installLin5 === void 0 ? void 0 : _bodyState$installLin5.show) && jsxRuntime.jsxs(BottomSheet, {
|
|
425
476
|
uiConfig: uiConfig,
|
|
426
|
-
isShown: bodyState.
|
|
427
|
-
onClose: () => setBodyState({
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
477
|
+
isShown: bodyState.installLinks.show,
|
|
478
|
+
onClose: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
|
|
479
|
+
installLinks: {
|
|
480
|
+
show: false,
|
|
481
|
+
wallet: null
|
|
482
|
+
}
|
|
483
|
+
})),
|
|
484
|
+
children: [jsxRuntime.jsx("p", {
|
|
485
|
+
className: "w3a--mb-2 w3a--text-center w3a--text-base w3a--font-semibold w3a--text-app-gray-900 dark:w3a--text-app-white",
|
|
486
|
+
children: t("modal.getWallet")
|
|
487
|
+
}), jsxRuntime.jsx("div", {
|
|
431
488
|
className: "w3a--my-4 w3a--flex w3a--justify-center",
|
|
432
489
|
children: jsxRuntime.jsx(Image, {
|
|
433
|
-
imageId: `login-${bodyState.
|
|
434
|
-
hoverImageId: `login-${bodyState.
|
|
490
|
+
imageId: `login-${bodyState.installLinks.wallet.name}`,
|
|
491
|
+
hoverImageId: `login-${bodyState.installLinks.wallet.name}`,
|
|
435
492
|
fallbackImageId: "wallet",
|
|
436
493
|
height: "80",
|
|
437
494
|
width: "80",
|
|
438
495
|
isButton: true,
|
|
439
|
-
extension: bodyState.
|
|
496
|
+
extension: bodyState.installLinks.wallet.imgExtension
|
|
440
497
|
})
|
|
441
498
|
}), jsxRuntime.jsx("ul", {
|
|
442
499
|
className: "w3a--flex w3a--flex-col w3a--gap-y-2",
|
|
@@ -8,19 +8,19 @@ var Button_type = require('../Button/Button.type.js');
|
|
|
8
8
|
var LoginHint = require('../LoginHint/LoginHint.js');
|
|
9
9
|
|
|
10
10
|
function getProviderIcon(method, isDark, extension) {
|
|
11
|
-
const imageId = method === auth.AUTH_CONNECTION.TWITTER ? `login-
|
|
11
|
+
const imageId = method === auth.AUTH_CONNECTION.TWITTER ? `login-X${isDark ? "-light" : "-dark"}` : `login-${method}${isDark ? "-light" : "-dark"}`;
|
|
12
12
|
const hoverId = method === auth.AUTH_CONNECTION.APPLE || method === auth.AUTH_CONNECTION.GITHUB || method === auth.AUTH_CONNECTION.TWITTER ? imageId : `login-${method}-active`;
|
|
13
13
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
14
14
|
children: [jsxRuntime.jsx("img", {
|
|
15
15
|
id: "active-login-img",
|
|
16
16
|
src: `https://images.web3auth.io/${hoverId}${extension}`,
|
|
17
17
|
alt: "active-login-img",
|
|
18
|
-
className: "w3a--size-5 w3a--object-contain"
|
|
18
|
+
className: "w3a--hidden w3a--size-5 w3a--object-contain group-hover:w3a--block"
|
|
19
19
|
}), jsxRuntime.jsx("img", {
|
|
20
20
|
id: "login-img",
|
|
21
21
|
src: `https://images.web3auth.io/${imageId}${extension}`,
|
|
22
22
|
alt: "login-img",
|
|
23
|
-
className: "w3a--size-5 w3a--object-contain"
|
|
23
|
+
className: "w3a--block w3a--size-5 w3a--object-contain group-hover:w3a--hidden"
|
|
24
24
|
})]
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -46,31 +46,11 @@ function SocialLoginList(props) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
if (visibleRow.length !== 0 && (otherRow === null || otherRow === void 0 ? void 0 : otherRow.length) === 0) {
|
|
49
|
-
|
|
50
|
-
const isMainOption = (_visibleRow$ = visibleRow[0]) === null || _visibleRow$ === void 0 ? void 0 : _visibleRow$.isMainOption;
|
|
51
|
-
const rowsToShow = isMainOption ? visibleRow.filter(row => !row.isMainOption) : visibleRow;
|
|
52
|
-
return jsxRuntime.jsxs("div", {
|
|
49
|
+
return jsxRuntime.jsx("div", {
|
|
53
50
|
className: "w3a--flex w3a--w-full w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-2",
|
|
54
|
-
children:
|
|
55
|
-
type: Button_type.BUTTON_TYPE.SOCIAL,
|
|
56
|
-
props: {
|
|
57
|
-
showText: false,
|
|
58
|
-
method: visibleRow[0].method,
|
|
59
|
-
isDark,
|
|
60
|
-
isPrimaryBtn: false,
|
|
61
|
-
btnStyle: "w3a--flex w3a--items-center !w3a--justify-center w3a--w-full w3a--h-full w3a-arrow w3a-img-login-group",
|
|
62
|
-
children: jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
63
|
-
children: getProviderIcon(visibleRow[0].method, isDark, ".svg")
|
|
64
|
-
}),
|
|
65
|
-
onClick: () => handleSocialLoginClick({
|
|
66
|
-
connector: visibleRow[0].connector,
|
|
67
|
-
loginParams: visibleRow[0].loginParams
|
|
68
|
-
}),
|
|
69
|
-
buttonRadius
|
|
70
|
-
}
|
|
71
|
-
}, visibleRow[0].method), jsxRuntime.jsxs("div", {
|
|
51
|
+
children: jsxRuntime.jsxs("div", {
|
|
72
52
|
className: utils.cn("w3a--grid w3a--w-full w3a--gap-x-2", getGridRowFromVisibleLogin()),
|
|
73
|
-
children: [
|
|
53
|
+
children: [visibleRow.filter((_, index) => visibleRow.length === 4 ? index <= 3 : index < 3).map(row => jsxRuntime.jsx(LoginHint, {
|
|
74
54
|
content: "Last Login",
|
|
75
55
|
isDark: isDark,
|
|
76
56
|
hideHint: true,
|
|
@@ -81,7 +61,7 @@ function SocialLoginList(props) {
|
|
|
81
61
|
method: row.method,
|
|
82
62
|
isDark,
|
|
83
63
|
isPrimaryBtn: false,
|
|
84
|
-
btnStyle: "w3a--flex w3a--items-center !w3a--justify-center w3a--w-full w3a--h-
|
|
64
|
+
btnStyle: "w3a--flex w3a--items-center !w3a--justify-center w3a--w-full w3a--h-11 w3a--group",
|
|
85
65
|
children: jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
86
66
|
children: getProviderIcon(row.method, isDark, ".svg")
|
|
87
67
|
}),
|
|
@@ -92,11 +72,12 @@ function SocialLoginList(props) {
|
|
|
92
72
|
buttonRadius
|
|
93
73
|
}
|
|
94
74
|
}, row.method)
|
|
95
|
-
}, row.method)), canShowMore &&
|
|
75
|
+
}, row.method)), canShowMore && visibleRow.length > 4 && jsxRuntime.jsx(Button, {
|
|
96
76
|
type: Button_type.BUTTON_TYPE.SOCIAL,
|
|
97
77
|
props: {
|
|
98
78
|
showIcon: false,
|
|
99
79
|
onClick: handleExpandSocialLogins,
|
|
80
|
+
btnStyle: "w3a--flex w3a--items-center !w3a--justify-center w3a--w-full w3a--h-11",
|
|
100
81
|
children: jsxRuntime.jsx("img", {
|
|
101
82
|
src: utils.getIcons(isDark ? "dots-dark-horizontal" : "dots-light-horizontal"),
|
|
102
83
|
alt: "Logo",
|
|
@@ -105,7 +86,7 @@ function SocialLoginList(props) {
|
|
|
105
86
|
buttonRadius
|
|
106
87
|
}
|
|
107
88
|
})]
|
|
108
|
-
})
|
|
89
|
+
})
|
|
109
90
|
});
|
|
110
91
|
}
|
|
111
92
|
return jsxRuntime.jsxs("div", {
|
|
@@ -120,9 +101,9 @@ function SocialLoginList(props) {
|
|
|
120
101
|
className: "w3a--object-contain"
|
|
121
102
|
})
|
|
122
103
|
}), jsxRuntime.jsx("div", {
|
|
123
|
-
className: "w3a--grid w3a--h-[300px] w3a--w-full w3a--auto-rows-min w3a--grid-cols-1 w3a--gap-y-2 w3a--overflow-y-auto w3a--
|
|
104
|
+
className: "w3a--social-container w3a--grid w3a--h-[300px] w3a--w-full w3a--auto-rows-min w3a--grid-cols-1 w3a--gap-y-2 w3a--overflow-y-auto w3a--pl-2 w3a--pr-3",
|
|
124
105
|
children: otherRow.map(row => jsxRuntime.jsx("div", {
|
|
125
|
-
className: "w3a--h-
|
|
106
|
+
className: "w3a--h-11 w3a--w-full",
|
|
126
107
|
children: jsxRuntime.jsx(Button, {
|
|
127
108
|
type: Button_type.BUTTON_TYPE.SOCIAL,
|
|
128
109
|
props: {
|
|
@@ -133,7 +114,7 @@ function SocialLoginList(props) {
|
|
|
133
114
|
connector: row.connector,
|
|
134
115
|
loginParams: row.loginParams
|
|
135
116
|
}),
|
|
136
|
-
btnStyle: "w3a--flex w3a--items-center !w3a--justify-start w3a--w-full w3a--h-
|
|
117
|
+
btnStyle: "w3a--group w3a--relative w3a--overflow-hidden w3a--flex w3a--items-center !w3a--justify-start w3a--w-full w3a--h-11",
|
|
137
118
|
buttonRadius,
|
|
138
119
|
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
139
120
|
children: [getProviderIcon(row.method, isDark, ".svg"), jsxRuntime.jsx("p", {
|
|
@@ -141,8 +122,8 @@ function SocialLoginList(props) {
|
|
|
141
122
|
children: row.name
|
|
142
123
|
}), jsxRuntime.jsx("img", {
|
|
143
124
|
id: "login-arrow",
|
|
144
|
-
className: "w3a--
|
|
145
|
-
src: utils.getIcons(
|
|
125
|
+
className: "w3a--absolute w3a--right-4 w3a--top-1/2 -w3a--translate-x-10 -w3a--translate-y-1/2 w3a--opacity-0 w3a--transition-all w3a--duration-300\n group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
|
|
126
|
+
src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
146
127
|
alt: "arrow"
|
|
147
128
|
})]
|
|
148
129
|
})
|