@web3auth/modal 10.0.0-beta.0 → 10.0.0-beta.2
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/dist/lib.cjs/node_modules/style-inject/dist/style-inject.es.js +1 -1
- package/dist/lib.cjs/packages/modal/src/modalManager.js +195 -140
- package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +2 -2
- package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +26 -26
- package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +2 -2
- package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +60 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.js +47 -22
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.type.js +8 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +53 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +68 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +202 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +65 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/{ExternalWallet/ExternalWalletChainNamespace.js → ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js} +29 -30
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +49 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +140 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +93 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +55 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Embed/Embed.js +70 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +53 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +89 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +151 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/Login.js +489 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +116 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +117 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/LoginHint/LoginHint.js +52 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +87 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Otp/Otp.js +190 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +18 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +448 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +156 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Toast/Toast.js +70 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +231 -0
- package/dist/lib.cjs/packages/modal/src/ui/config.js +12 -1
- package/dist/lib.cjs/packages/modal/src/ui/constants.js +18 -0
- package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +20 -0
- package/dist/lib.cjs/packages/modal/src/ui/context/ThemeContext.js +2 -2
- package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +8 -0
- package/dist/lib.cjs/packages/modal/src/ui/handlers/AbstractHandler.js +117 -0
- package/dist/lib.cjs/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +54 -0
- package/dist/lib.cjs/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +57 -0
- package/dist/lib.cjs/packages/modal/src/ui/handlers/factory.js +19 -0
- package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +37 -2
- package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +7 -10
- package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +69 -44
- package/dist/lib.cjs/packages/modal/src/ui/utils.js +107 -1
- package/dist/lib.cjs/types/interface.d.ts +1 -1
- package/dist/lib.cjs/types/modalManager.d.ts +5 -1
- package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.d.ts +7 -0
- package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.type.d.ts +7 -0
- package/dist/lib.cjs/types/ui/components/BottomSheet/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Button/Button.d.ts +2 -15
- package/dist/lib.cjs/types/ui/components/Button/Button.type.d.ts +12 -0
- package/dist/lib.cjs/types/ui/components/Button/ButtonSocial/ButtonSocial.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/Button/ButtonSocial/ButtonSocial.type.d.ts +14 -0
- package/dist/lib.cjs/types/ui/components/Button/ButtonSocial/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.type.d.ts +13 -0
- package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Button/index.d.ts +1 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +24 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.type.d.ts +13 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainFilter/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.type.d.ts +10 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.type.d.ts +6 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletHeader/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.type.d.ts +19 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletList/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +9 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.type.d.ts +9 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletSearch/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/ConnectWallet/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Embed/Embed.d.ts +8 -0
- package/dist/lib.cjs/types/ui/components/Embed/Embed.type.d.ts +12 -0
- package/dist/lib.cjs/types/ui/components/Embed/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Footer/Footer.d.ts +7 -0
- package/dist/lib.cjs/types/ui/components/Footer/Footer.type.d.ts +4 -0
- package/dist/lib.cjs/types/ui/components/Footer/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Image/Image.d.ts +7 -0
- package/dist/lib.cjs/types/ui/components/{Image.d.ts → Image/Image.type.d.ts} +2 -1
- package/dist/lib.cjs/types/ui/components/Image/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Loader/Loader.d.ts +8 -0
- package/dist/lib.cjs/types/ui/components/Loader/Loader.type.d.ts +12 -0
- package/dist/lib.cjs/types/ui/components/Loader/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Login/Login.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +29 -0
- package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.d.ts +8 -0
- package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.type.d.ts +10 -0
- package/dist/lib.cjs/types/ui/components/Login/LoginOtp/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Login/LoginPasswordLess/LoginPasswordLess.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/Login/LoginPasswordLess/LoginPasswordLess.type.d.ts +13 -0
- package/dist/lib.cjs/types/ui/components/Login/LoginPasswordLess/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Login/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.type.d.ts +6 -0
- package/dist/lib.cjs/types/ui/components/LoginHint/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Modal/Modal.d.ts +8 -0
- package/dist/lib.cjs/types/ui/components/Modal/Modal.type.d.ts +14 -0
- package/dist/lib.cjs/types/ui/components/Modal/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Otp/Otp.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/Otp/Otp.type.d.ts +22 -0
- package/dist/lib.cjs/types/ui/components/Otp/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/PulseLoader/PulseLoader.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/PulseLoader/index.d.ts +1 -0
- package/dist/lib.cjs/types/ui/components/Root/Root.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/Root/Root.type.d.ts +27 -0
- package/dist/lib.cjs/types/ui/components/Root/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/SocialLoginList/SocialLoginList.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/SocialLoginList/SocialLoginList.type.d.ts +11 -0
- package/dist/lib.cjs/types/ui/components/SocialLoginList/index.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Toast/Toast.d.ts +2 -0
- package/dist/lib.cjs/types/ui/components/Toast/index.d.ts +1 -0
- package/dist/lib.cjs/types/ui/components/Widget/Widget.d.ts +3 -0
- package/dist/lib.cjs/types/ui/components/{Modal.d.ts → Widget/Widget.type.d.ts} +4 -5
- package/dist/lib.cjs/types/ui/components/Widget/index.d.ts +1 -0
- package/dist/lib.cjs/types/ui/config.d.ts +4 -1
- package/dist/lib.cjs/types/ui/constants.d.ts +13 -0
- package/dist/lib.cjs/types/ui/context/RootContext.d.ts +18 -0
- package/dist/lib.cjs/types/ui/handlers/AbstractHandler.d.ts +20 -0
- package/dist/lib.cjs/types/ui/handlers/EmailPasswordlessHandler.d.ts +8 -0
- package/dist/lib.cjs/types/ui/handlers/SmsPasswordlessHandler.d.ts +9 -0
- package/dist/lib.cjs/types/ui/handlers/factory.d.ts +5 -0
- package/dist/lib.cjs/types/ui/interfaces.d.ts +115 -14
- package/dist/lib.cjs/types/ui/loginModal.d.ts +9 -7
- package/dist/lib.cjs/types/ui/utils.d.ts +17 -2
- package/dist/lib.esm/node_modules/style-inject/dist/style-inject.es.js +1 -1
- package/dist/lib.esm/packages/modal/src/modalManager.js +203 -145
- package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +58 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.js +48 -24
- package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.type.js +6 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +51 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +66 -0
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +200 -0
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +63 -0
- package/dist/lib.esm/packages/modal/src/ui/components/{ExternalWallet/ExternalWalletChainNamespace.js → ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js} +29 -31
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +47 -0
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +138 -0
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +91 -0
- package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +56 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Embed/Embed.js +68 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +51 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +87 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +152 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Login/Login.js +489 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +115 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +115 -0
- package/dist/lib.esm/packages/modal/src/ui/components/LoginHint/LoginHint.js +50 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +85 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Otp/Otp.js +188 -0
- package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +16 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +458 -0
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +154 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Toast/Toast.js +68 -0
- package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +233 -0
- package/dist/lib.esm/packages/modal/src/ui/config.js +10 -3
- package/dist/lib.esm/packages/modal/src/ui/constants.js +13 -0
- package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +18 -0
- package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +6 -0
- package/dist/lib.esm/packages/modal/src/ui/handlers/AbstractHandler.js +115 -0
- package/dist/lib.esm/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +52 -0
- package/dist/lib.esm/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +55 -0
- package/dist/lib.esm/packages/modal/src/ui/handlers/factory.js +17 -0
- package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +37 -3
- package/dist/lib.esm/packages/modal/src/ui/interfaces.js +8 -9
- package/dist/lib.esm/packages/modal/src/ui/loginModal.js +70 -45
- package/dist/lib.esm/packages/modal/src/ui/utils.js +105 -3
- package/dist/modal.umd.min.js +1 -1
- package/dist/modal.umd.min.js.LICENSE.txt +8 -8
- package/package.json +16 -11
- package/dist/lib.cjs/packages/modal/src/ui/assets/arrow-left-dark.svg.js +0 -7
- package/dist/lib.cjs/packages/modal/src/ui/assets/arrow-left-light.svg.js +0 -7
- package/dist/lib.cjs/packages/modal/src/ui/assets/x-dark.svg.js +0 -7
- package/dist/lib.cjs/packages/modal/src/ui/assets/x-light.svg.js +0 -7
- package/dist/lib.cjs/packages/modal/src/ui/components/AdapterLoader.js +0 -108
- package/dist/lib.cjs/packages/modal/src/ui/components/Button/styles.css.js +0 -8
- package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletButton.js +0 -44
- package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletConnect.js +0 -67
- package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletDetails.js +0 -43
- package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletHeader.js +0 -46
- package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletInstall.js +0 -167
- package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallets.js +0 -279
- package/dist/lib.cjs/packages/modal/src/ui/components/Footer.js +0 -20
- package/dist/lib.cjs/packages/modal/src/ui/components/Header.js +0 -81
- package/dist/lib.cjs/packages/modal/src/ui/components/Icon.js +0 -73
- package/dist/lib.cjs/packages/modal/src/ui/components/Image.js +0 -51
- package/dist/lib.cjs/packages/modal/src/ui/components/Loader.js +0 -59
- package/dist/lib.cjs/packages/modal/src/ui/components/Modal.js +0 -278
- package/dist/lib.cjs/packages/modal/src/ui/components/SelfCustodyViaWeb3Auth.js +0 -30
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginPasswordless.js +0 -150
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLogins.js +0 -153
- package/dist/lib.cjs/packages/modal/src/ui/components/WalletConnect.js +0 -84
- package/dist/lib.cjs/packages/modal/src/ui/css/web3auth.css.js +0 -8
- package/dist/lib.cjs/types/ui/components/AdapterLoader.d.ts +0 -11
- package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletButton.d.ts +0 -7
- package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletChainNamespace.d.ts +0 -9
- package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletConnect.d.ts +0 -9
- package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletDetails.d.ts +0 -10
- package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletHeader.d.ts +0 -8
- package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletInstall.d.ts +0 -8
- package/dist/lib.cjs/types/ui/components/ExternalWallets.d.ts +0 -15
- package/dist/lib.cjs/types/ui/components/Footer.d.ts +0 -1
- package/dist/lib.cjs/types/ui/components/Header.d.ts +0 -8
- package/dist/lib.cjs/types/ui/components/Icon.d.ts +0 -9
- package/dist/lib.cjs/types/ui/components/Loader.d.ts +0 -10
- package/dist/lib.cjs/types/ui/components/SelfCustodyViaWeb3Auth.d.ts +0 -1
- package/dist/lib.cjs/types/ui/components/SocialLoginPasswordless.d.ts +0 -14
- package/dist/lib.cjs/types/ui/components/SocialLogins.d.ts +0 -10
- package/dist/lib.cjs/types/ui/components/WalletConnect.d.ts +0 -8
- package/dist/lib.esm/packages/modal/src/ui/assets/arrow-left-dark.svg.js +0 -5
- package/dist/lib.esm/packages/modal/src/ui/assets/arrow-left-light.svg.js +0 -5
- package/dist/lib.esm/packages/modal/src/ui/assets/x-dark.svg.js +0 -5
- package/dist/lib.esm/packages/modal/src/ui/assets/x-light.svg.js +0 -5
- package/dist/lib.esm/packages/modal/src/ui/components/AdapterLoader.js +0 -106
- package/dist/lib.esm/packages/modal/src/ui/components/Button/styles.css.js +0 -6
- package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletButton.js +0 -42
- package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletConnect.js +0 -65
- package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletDetails.js +0 -44
- package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletHeader.js +0 -44
- package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletInstall.js +0 -165
- package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallets.js +0 -281
- package/dist/lib.esm/packages/modal/src/ui/components/Footer.js +0 -18
- package/dist/lib.esm/packages/modal/src/ui/components/Header.js +0 -79
- package/dist/lib.esm/packages/modal/src/ui/components/Icon.js +0 -71
- package/dist/lib.esm/packages/modal/src/ui/components/Image.js +0 -49
- package/dist/lib.esm/packages/modal/src/ui/components/Loader.js +0 -57
- package/dist/lib.esm/packages/modal/src/ui/components/Modal.js +0 -277
- package/dist/lib.esm/packages/modal/src/ui/components/SelfCustodyViaWeb3Auth.js +0 -28
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginPasswordless.js +0 -148
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLogins.js +0 -152
- package/dist/lib.esm/packages/modal/src/ui/components/WalletConnect.js +0 -82
- package/dist/lib.esm/packages/modal/src/ui/css/web3auth.css.js +0 -6
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var auth = require('@web3auth/auth');
|
|
6
|
+
var noModal = require('@web3auth/no-modal');
|
|
7
|
+
var deepmerge = require('deepmerge');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var constants = require('../../constants.js');
|
|
10
|
+
var interfaces = require('../../interfaces.js');
|
|
11
|
+
var Embed = require('../Embed/Embed.js');
|
|
12
|
+
var Modal = require('../Modal/Modal.js');
|
|
13
|
+
var Root = require('../Root/Root.js');
|
|
14
|
+
|
|
15
|
+
function Widget(props) {
|
|
16
|
+
const {
|
|
17
|
+
stateListener,
|
|
18
|
+
handleSocialLoginClick,
|
|
19
|
+
handleExternalWalletClick,
|
|
20
|
+
handleShowExternalWallets,
|
|
21
|
+
closeModal,
|
|
22
|
+
appLogo,
|
|
23
|
+
appName,
|
|
24
|
+
chainNamespaces,
|
|
25
|
+
walletRegistry,
|
|
26
|
+
uiConfig
|
|
27
|
+
} = props;
|
|
28
|
+
const {
|
|
29
|
+
widgetType
|
|
30
|
+
} = uiConfig;
|
|
31
|
+
const visible = react.useMemo(() => widgetType === noModal.WIDGET_TYPE.EMBED, [widgetType]);
|
|
32
|
+
const [modalState, setModalState] = react.useState({
|
|
33
|
+
externalWalletsVisibility: false,
|
|
34
|
+
status: interfaces.MODAL_STATUS.INITIALIZED,
|
|
35
|
+
hasExternalWallets: false,
|
|
36
|
+
externalWalletsInitialized: false,
|
|
37
|
+
modalVisibility: false,
|
|
38
|
+
modalVisibilityDelayed: false,
|
|
39
|
+
postLoadingMessage: "",
|
|
40
|
+
walletConnectUri: "",
|
|
41
|
+
socialLoginsConfig: {
|
|
42
|
+
loginMethods: {},
|
|
43
|
+
loginMethodsOrder: [],
|
|
44
|
+
connector: "",
|
|
45
|
+
uiConfig: {}
|
|
46
|
+
},
|
|
47
|
+
externalWalletsConfig: {},
|
|
48
|
+
showExternalWalletsOnly: false,
|
|
49
|
+
currentPage: constants.PAGES.LOGIN,
|
|
50
|
+
detailedLoaderConnector: "",
|
|
51
|
+
detailedLoaderConnectorName: "",
|
|
52
|
+
web3authClientId: "",
|
|
53
|
+
web3authNetwork: auth.WEB3AUTH_NETWORK.SAPPHIRE_MAINNET
|
|
54
|
+
});
|
|
55
|
+
react.useEffect(() => {
|
|
56
|
+
setModalState(prev => _objectSpread(_objectSpread({}, prev), {}, {
|
|
57
|
+
modalVisibility: visible
|
|
58
|
+
}));
|
|
59
|
+
}, [visible]);
|
|
60
|
+
react.useEffect(() => {
|
|
61
|
+
stateListener.on("STATE_UPDATED", newModalState => {
|
|
62
|
+
noModal.log.debug("state updated", newModalState);
|
|
63
|
+
setModalState(prevState => {
|
|
64
|
+
const mergedState = noModal.cloneDeep(deepmerge(prevState, newModalState, {
|
|
65
|
+
arrayMerge: (_prevState, newState) => newState
|
|
66
|
+
}));
|
|
67
|
+
return mergedState;
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
stateListener.emit("MOUNTED");
|
|
71
|
+
}, [stateListener]);
|
|
72
|
+
const preHandleExternalWalletClick = params => {
|
|
73
|
+
const {
|
|
74
|
+
connector
|
|
75
|
+
} = params;
|
|
76
|
+
setModalState(prevState => _objectSpread(_objectSpread({}, prevState), {}, {
|
|
77
|
+
detailedLoaderConnector: connector,
|
|
78
|
+
detailedLoaderAdapterName: noModal.CONNECTOR_NAMES[connector]
|
|
79
|
+
}));
|
|
80
|
+
// Call the passed-in handler with the params
|
|
81
|
+
if (handleExternalWalletClick) handleExternalWalletClick(params);
|
|
82
|
+
};
|
|
83
|
+
const preHandleSocialWalletClick = params => {
|
|
84
|
+
const {
|
|
85
|
+
loginParams
|
|
86
|
+
} = params;
|
|
87
|
+
setModalState(prevState => {
|
|
88
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
89
|
+
detailedLoaderConnector: loginParams.authConnection,
|
|
90
|
+
detailedLoaderConnectorName: loginParams.name
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
handleSocialLoginClick(params);
|
|
94
|
+
};
|
|
95
|
+
// Memo for checking if social logins are visible
|
|
96
|
+
const areSocialLoginsVisible = react.useMemo(() => {
|
|
97
|
+
var _modalState$socialLog, _modalState$socialLog2;
|
|
98
|
+
if (modalState.showExternalWalletsOnly) return false;
|
|
99
|
+
if (Object.keys(((_modalState$socialLog = modalState.socialLoginsConfig) === null || _modalState$socialLog === void 0 ? void 0 : _modalState$socialLog.loginMethods) || {}).length === 0) return false;
|
|
100
|
+
const isAnySocialLoginVisible = Object.entries(((_modalState$socialLog2 = modalState.socialLoginsConfig) === null || _modalState$socialLog2 === void 0 ? void 0 : _modalState$socialLog2.loginMethods) || {}).some(([k, v]) => k !== auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS && v.showOnModal !== false);
|
|
101
|
+
return isAnySocialLoginVisible;
|
|
102
|
+
}, [modalState]);
|
|
103
|
+
// Memo for checking if email passwordless login is visible
|
|
104
|
+
const isEmailPasswordLessLoginVisible = react.useMemo(() => {
|
|
105
|
+
var _modalState$socialLog3;
|
|
106
|
+
return (_modalState$socialLog3 = modalState.socialLoginsConfig) === null || _modalState$socialLog3 === void 0 || (_modalState$socialLog3 = _modalState$socialLog3.loginMethods[auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS]) === null || _modalState$socialLog3 === void 0 ? void 0 : _modalState$socialLog3.showOnModal;
|
|
107
|
+
}, [modalState.socialLoginsConfig]);
|
|
108
|
+
// Memo for checking if SMS passwordless login is visible
|
|
109
|
+
const isSmsPasswordLessLoginVisible = react.useMemo(() => {
|
|
110
|
+
var _modalState$socialLog4;
|
|
111
|
+
return (_modalState$socialLog4 = modalState.socialLoginsConfig) === null || _modalState$socialLog4 === void 0 || (_modalState$socialLog4 = _modalState$socialLog4.loginMethods[auth.AUTH_CONNECTION.SMS_PASSWORDLESS]) === null || _modalState$socialLog4 === void 0 ? void 0 : _modalState$socialLog4.showOnModal;
|
|
112
|
+
}, [modalState.socialLoginsConfig]);
|
|
113
|
+
const isEmailPrimary = react.useMemo(() => {
|
|
114
|
+
var _modalState$socialLog5;
|
|
115
|
+
return ((_modalState$socialLog5 = modalState.socialLoginsConfig) === null || _modalState$socialLog5 === void 0 || (_modalState$socialLog5 = _modalState$socialLog5.uiConfig) === null || _modalState$socialLog5 === void 0 ? void 0 : _modalState$socialLog5.primaryButton) === "emailLogin";
|
|
116
|
+
}, [modalState.socialLoginsConfig]);
|
|
117
|
+
const isExternalPrimary = react.useMemo(() => {
|
|
118
|
+
var _modalState$socialLog6;
|
|
119
|
+
return ((_modalState$socialLog6 = modalState.socialLoginsConfig) === null || _modalState$socialLog6 === void 0 || (_modalState$socialLog6 = _modalState$socialLog6.uiConfig) === null || _modalState$socialLog6 === void 0 ? void 0 : _modalState$socialLog6.primaryButton) === "externalLogin";
|
|
120
|
+
}, [modalState.socialLoginsConfig]);
|
|
121
|
+
const showPasswordLessInput = react.useMemo(() => isEmailPasswordLessLoginVisible || isSmsPasswordLessLoginVisible, [isEmailPasswordLessLoginVisible, isSmsPasswordLessLoginVisible]);
|
|
122
|
+
const showExternalWalletButton = react.useMemo(() => modalState.hasExternalWallets, [modalState]);
|
|
123
|
+
const showExternalWalletPage = react.useMemo(() => (areSocialLoginsVisible || showPasswordLessInput) && !modalState.externalWalletsVisibility, [areSocialLoginsVisible, showPasswordLessInput, modalState.externalWalletsVisibility]);
|
|
124
|
+
const handleExternalWalletBtnClick = flag => {
|
|
125
|
+
setModalState(prevState => {
|
|
126
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
127
|
+
externalWalletsVisibility: flag
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
if (handleShowExternalWallets) handleShowExternalWallets(modalState.externalWalletsInitialized);
|
|
131
|
+
};
|
|
132
|
+
const onCloseModal = () => {
|
|
133
|
+
setModalState(prevState => _objectSpread(_objectSpread({}, prevState), {}, {
|
|
134
|
+
externalWalletsVisibility: false,
|
|
135
|
+
modalVisibility: false,
|
|
136
|
+
currentPage: constants.PAGES.LOGIN
|
|
137
|
+
}));
|
|
138
|
+
closeModal();
|
|
139
|
+
};
|
|
140
|
+
const onCloseLoader = () => {
|
|
141
|
+
if (modalState.status === interfaces.MODAL_STATUS.CONNECTED) {
|
|
142
|
+
setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
|
|
143
|
+
modalVisibility: false,
|
|
144
|
+
externalWalletsVisibility: false
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
if (modalState.status === interfaces.MODAL_STATUS.ERRORED) {
|
|
148
|
+
setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
|
|
149
|
+
modalVisibility: true,
|
|
150
|
+
status: interfaces.MODAL_STATUS.INITIALIZED
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
const showCloseIcon = react.useMemo(() => {
|
|
155
|
+
return modalState.status === interfaces.MODAL_STATUS.INITIALIZED || modalState.status === interfaces.MODAL_STATUS.CONNECTED || modalState.status === interfaces.MODAL_STATUS.ERRORED;
|
|
156
|
+
}, [modalState.status]);
|
|
157
|
+
react.useEffect(() => {
|
|
158
|
+
// TODO: maybe move this inside root
|
|
159
|
+
if (typeof modalState.externalWalletsConfig === "object") {
|
|
160
|
+
var _modalState$externalW;
|
|
161
|
+
const wcAvailable = (((_modalState$externalW = modalState.externalWalletsConfig[noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2]) === null || _modalState$externalW === void 0 ? void 0 : _modalState$externalW.showOnModal) || false) !== false;
|
|
162
|
+
if (wcAvailable && !modalState.walletConnectUri && typeof handleExternalWalletClick === "function") {
|
|
163
|
+
handleExternalWalletClick({
|
|
164
|
+
connector: noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}, [modalState, handleExternalWalletClick]);
|
|
169
|
+
if (widgetType === noModal.WIDGET_TYPE.MODAL) {
|
|
170
|
+
return jsxRuntime.jsx(Modal, {
|
|
171
|
+
open: modalState.modalVisibility,
|
|
172
|
+
placement: "center",
|
|
173
|
+
padding: false,
|
|
174
|
+
showCloseIcon: showCloseIcon,
|
|
175
|
+
onClose: onCloseModal,
|
|
176
|
+
borderRadius: uiConfig.borderRadiusType,
|
|
177
|
+
children: modalState.modalVisibility && jsxRuntime.jsx(Root, {
|
|
178
|
+
appLogo: appLogo,
|
|
179
|
+
appName: appName,
|
|
180
|
+
chainNamespaces: chainNamespaces,
|
|
181
|
+
walletRegistry: walletRegistry,
|
|
182
|
+
showPasswordLessInput: showPasswordLessInput,
|
|
183
|
+
showExternalWalletButton: showExternalWalletButton,
|
|
184
|
+
handleSocialLoginClick: params => preHandleSocialWalletClick(params),
|
|
185
|
+
socialLoginsConfig: modalState.socialLoginsConfig,
|
|
186
|
+
areSocialLoginsVisible: areSocialLoginsVisible,
|
|
187
|
+
isEmailPrimary: isEmailPrimary,
|
|
188
|
+
isExternalPrimary: isExternalPrimary,
|
|
189
|
+
showExternalWalletPage: showExternalWalletPage,
|
|
190
|
+
handleExternalWalletBtnClick: handleExternalWalletBtnClick,
|
|
191
|
+
modalState: modalState,
|
|
192
|
+
preHandleExternalWalletClick: preHandleExternalWalletClick,
|
|
193
|
+
setModalState: setModalState,
|
|
194
|
+
onCloseLoader: onCloseLoader,
|
|
195
|
+
isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
|
|
196
|
+
isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
|
|
197
|
+
uiConfig: uiConfig
|
|
198
|
+
})
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
return jsxRuntime.jsx(Embed, {
|
|
202
|
+
open: modalState.modalVisibility,
|
|
203
|
+
padding: false,
|
|
204
|
+
onClose: onCloseModal,
|
|
205
|
+
borderRadius: uiConfig.borderRadiusType,
|
|
206
|
+
children: modalState.modalVisibility && jsxRuntime.jsx(Root, {
|
|
207
|
+
chainNamespaces: chainNamespaces,
|
|
208
|
+
walletRegistry: walletRegistry,
|
|
209
|
+
appLogo: appLogo,
|
|
210
|
+
appName: appName,
|
|
211
|
+
showPasswordLessInput: showPasswordLessInput,
|
|
212
|
+
showExternalWalletButton: showExternalWalletButton,
|
|
213
|
+
handleSocialLoginClick: params => preHandleSocialWalletClick(params),
|
|
214
|
+
socialLoginsConfig: modalState.socialLoginsConfig,
|
|
215
|
+
areSocialLoginsVisible: areSocialLoginsVisible,
|
|
216
|
+
isEmailPrimary: isEmailPrimary,
|
|
217
|
+
isExternalPrimary: isExternalPrimary,
|
|
218
|
+
showExternalWalletPage: showExternalWalletPage,
|
|
219
|
+
handleExternalWalletBtnClick: handleExternalWalletBtnClick,
|
|
220
|
+
modalState: modalState,
|
|
221
|
+
preHandleExternalWalletClick: preHandleExternalWalletClick,
|
|
222
|
+
setModalState: setModalState,
|
|
223
|
+
onCloseLoader: onCloseLoader,
|
|
224
|
+
isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
|
|
225
|
+
isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
|
|
226
|
+
uiConfig: uiConfig
|
|
227
|
+
})
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
module.exports = Widget;
|
|
@@ -7,10 +7,21 @@ function capitalizeFirstLetter(string) {
|
|
|
7
7
|
}
|
|
8
8
|
const restrictedLoginMethods = new Set([auth.AUTH_CONNECTION.CUSTOM, auth.AUTH_CONNECTION.PASSKEYS, auth.AUTH_CONNECTION.TELEGRAM, auth.AUTH_CONNECTION.AUTHENTICATOR]);
|
|
9
9
|
const AUTH_PROVIDERS = Object.values(auth.AUTH_CONNECTION).filter(x => !restrictedLoginMethods.has(x));
|
|
10
|
-
AUTH_PROVIDERS.reduce((acc, x) => {
|
|
10
|
+
const AUTH_PROVIDERS_NAMES = AUTH_PROVIDERS.reduce((acc, x) => {
|
|
11
11
|
if (x === "email_passwordless") acc[x] = "Email";else if (x === "sms_passwordless") acc[x] = "Mobile";else acc[x] = capitalizeFirstLetter(x);
|
|
12
12
|
return acc;
|
|
13
13
|
}, {});
|
|
14
|
+
const PASSWORDLESS_BUILD_ENV_MAP = {
|
|
15
|
+
[auth.BUILD_ENV.DEVELOPMENT]: "http://localhost:3041/passwordless-service",
|
|
16
|
+
[auth.BUILD_ENV.STAGING]: "https://api.web3auth.io/passwordless-service",
|
|
17
|
+
[auth.BUILD_ENV.PRODUCTION]: "https://api.web3auth.io/passwordless-service",
|
|
18
|
+
[auth.BUILD_ENV.TESTING]: "https://api-develop.web3auth.io/passwordless-service"
|
|
19
|
+
};
|
|
20
|
+
const CAPTCHA_SITE_KEY = "d5f0c15c-eeda-4f9c-934a-d8e0348e83b2";
|
|
14
21
|
|
|
15
22
|
exports.AUTH_PROVIDERS = AUTH_PROVIDERS;
|
|
23
|
+
exports.AUTH_PROVIDERS_NAMES = AUTH_PROVIDERS_NAMES;
|
|
24
|
+
exports.CAPTCHA_SITE_KEY = CAPTCHA_SITE_KEY;
|
|
25
|
+
exports.PASSWORDLESS_BUILD_ENV_MAP = PASSWORDLESS_BUILD_ENV_MAP;
|
|
16
26
|
exports.capitalizeFirstLetter = capitalizeFirstLetter;
|
|
27
|
+
exports.restrictedLoginMethods = restrictedLoginMethods;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const PAGES = {
|
|
4
|
+
LOGIN: "login",
|
|
5
|
+
CONNECT_WALLET: "connect_wallet"};
|
|
6
|
+
const CONNECT_WALLET_PAGES = {
|
|
7
|
+
CONNECT_WALLET: "Connect Your Wallet",
|
|
8
|
+
SELECTED_WALLET: "Selected Wallet"
|
|
9
|
+
};
|
|
10
|
+
const DEFAULT_LOGO_LIGHT = "https://images.web3auth.io/web3auth-logo-w.svg"; // logo used on light mode
|
|
11
|
+
const DEFAULT_LOGO_DARK = "https://images.web3auth.io/web3auth-logo-w-light.svg"; // logo used on dark mode
|
|
12
|
+
const WALLET_CONNECT_LOGO = "https://images.web3auth.io/login-wallet-connect.svg";
|
|
13
|
+
|
|
14
|
+
exports.CONNECT_WALLET_PAGES = CONNECT_WALLET_PAGES;
|
|
15
|
+
exports.DEFAULT_LOGO_DARK = DEFAULT_LOGO_DARK;
|
|
16
|
+
exports.DEFAULT_LOGO_LIGHT = DEFAULT_LOGO_LIGHT;
|
|
17
|
+
exports.PAGES = PAGES;
|
|
18
|
+
exports.WALLET_CONNECT_LOGO = WALLET_CONNECT_LOGO;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var interfaces = require('../interfaces.js');
|
|
5
|
+
|
|
6
|
+
const RootContext = /*#__PURE__*/react.createContext({
|
|
7
|
+
bodyState: {
|
|
8
|
+
showWalletDetails: false,
|
|
9
|
+
walletDetails: null,
|
|
10
|
+
showMultiChainSelector: false
|
|
11
|
+
},
|
|
12
|
+
toast: {
|
|
13
|
+
message: "",
|
|
14
|
+
type: interfaces.TOAST_TYPE.SUCCESS
|
|
15
|
+
},
|
|
16
|
+
setBodyState: () => {},
|
|
17
|
+
setToast: () => {}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
exports.RootContext = RootContext;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styleInject_es = require('../../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
|
+
|
|
5
|
+
var css_248z = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap\");.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.w3a-parent-container ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }\n/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{border:0 solid;box-sizing:border-box}.w3a-parent-container :after,.w3a-parent-container :before{--tw-content:\"\"}.w3a-parent-container :host,.w3a-parent-container html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}.w3a-parent-container body{line-height:inherit;margin:0}.w3a-parent-container hr{border-top-width:1px;color:inherit;height:0}.w3a-parent-container abbr:where([title]){text-decoration:underline dotted}.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6{font-size:inherit;font-weight:inherit}.w3a-parent-container a{color:inherit;text-decoration:inherit}.w3a-parent-container b,.w3a-parent-container strong{font-weight:bolder}.w3a-parent-container code,.w3a-parent-container kbd,.w3a-parent-container pre,.w3a-parent-container samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.w3a-parent-container small{font-size:80%}.w3a-parent-container sub,.w3a-parent-container sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.w3a-parent-container sub{bottom:-.25em}.w3a-parent-container sup{top:-.5em}.w3a-parent-container table{border-collapse:collapse;border-color:inherit;text-indent:0}.w3a-parent-container button,.w3a-parent-container input,.w3a-parent-container optgroup,.w3a-parent-container select,.w3a-parent-container textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.w3a-parent-container button,.w3a-parent-container select{text-transform:none}.w3a-parent-container button,.w3a-parent-container input:where([type=button]),.w3a-parent-container input:where([type=reset]),.w3a-parent-container input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}.w3a-parent-container :-moz-focusring{outline:auto}.w3a-parent-container :-moz-ui-invalid{box-shadow:none}.w3a-parent-container progress{vertical-align:initial}.w3a-parent-container ::-webkit-inner-spin-button,.w3a-parent-container ::-webkit-outer-spin-button{height:auto}.w3a-parent-container [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.w3a-parent-container ::-webkit-search-decoration{-webkit-appearance:none}.w3a-parent-container ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.w3a-parent-container summary{display:list-item}.w3a-parent-container blockquote,.w3a-parent-container dd,.w3a-parent-container dl,.w3a-parent-container figure,.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6,.w3a-parent-container hr,.w3a-parent-container p,.w3a-parent-container pre{margin:0}.w3a-parent-container fieldset{margin:0;padding:0}.w3a-parent-container legend{padding:0}.w3a-parent-container menu,.w3a-parent-container ol,.w3a-parent-container ul{list-style:none;margin:0;padding:0}.w3a-parent-container dialog{padding:0}.w3a-parent-container textarea{resize:vertical}.w3a-parent-container input::placeholder,.w3a-parent-container textarea::placeholder{color:#9ca3af;opacity:1}.w3a-parent-container [role=button],.w3a-parent-container button{cursor:pointer}.w3a-parent-container :disabled{cursor:default}.w3a-parent-container audio,.w3a-parent-container canvas,.w3a-parent-container embed,.w3a-parent-container iframe,.w3a-parent-container img,.w3a-parent-container object,.w3a-parent-container svg,.w3a-parent-container video{display:block;vertical-align:middle}.w3a-parent-container img,.w3a-parent-container video{height:auto;max-width:100%}.w3a-parent-container [hidden]:where(:not([hidden=until-found])){display:none}.w3a-parent-container{--app-on-primary:#fff;--app-primary-50:#ebf5ff;--app-primary-100:#e1effe;--app-primary-200:#c3ddfd;--app-primary-300:#a4cafe;--app-primary-400:#76a9fa;--app-primary-500:#3f83f8;--app-primary-600:#0346ff;--app-primary-700:#1a56db;--app-primary-800:#1e429f;--app-primary-900:#233876;--app-gray-50:#f9fafb;--app-gray-100:#f3f4f6;--app-gray-200:#e5e7eb;--app-gray-300:#d1d5db;--app-gray-400:#9ca3af;--app-gray-500:#6b7280;--app-gray-600:#4b5563;--app-gray-700:#374151;--app-gray-800:#1f2a37;--app-gray-900:#111928;--app-blue-50:#ebf5ff;--app-blue-100:#e1effe;--app-blue-200:#c3ddfd;--app-blue-300:#a4cafe;--app-blue-400:#76a9fa;--app-blue-500:#3f83f8;--app-blue-600:#0346ff;--app-blue-700:#1a56db;--app-blue-800:#1e429f;--app-blue-900:#233876;--app-red-50:#fdf2f2;--app-red-100:#fde8e8;--app-red-200:#fbd5d5;--app-red-300:#f8b4b4;--app-red-400:#f98080;--app-red-500:#f05252;--app-red-600:#e02424;--app-red-700:#c81e1e;--app-red-800:#9b1c1c;--app-red-900:#771d1d;--app-green-50:#f3faf7;--app-green-100:#def7ec;--app-green-200:#bcf0da;--app-green-300:#84e1bc;--app-green-400:#31c48d;--app-green-500:#0e9f6e;--app-green-600:#057a55;--app-green-700:#046c4e;--app-green-800:#03543f;--app-green-900:#014737;--app-yellow-50:#fdfdea;--app-yellow-100:#fdf6b2;--app-yellow-200:#fce96a;--app-yellow-300:#faca15;--app-yellow-400:#e3a008;--app-yellow-500:#c27803;--app-yellow-600:#9f580a;--app-yellow-700:#8e4b10;--app-yellow-800:#723b13;--app-yellow-900:#633112;--app-success:#30cca4;--app-warning:#fbc94a;--app-error:#fb4a61;--app-info:#d4d4d4;--app-white:#fff;--app-black:#000}.w3a-parent-container body{box-sizing:border-box;margin:0!important;padding:0!important}.w3a-parent-container{font-family:Inter;position:relative}.w3a-parent-container .w3a-parent-container>*{scrollbar-color:#e5e7eb!important}.w3a-parent-container .w3a-external-wallet-btn #external-wallet-count{display:block}.w3a-parent-container .w3a-external-wallet-btn #external-wallet-arrow,.w3a-parent-container .w3a-external-wallet-btn:hover>#external-wallet-count{display:none}.w3a-parent-container .w3a-external-wallet-btn:hover>#external-wallet-arrow{display:block}.w3a-parent-container .w3a-arrow>#login-arrow{display:none}.w3a-parent-container .w3a-arrow:hover>#login-arrow{display:block}.w3a-parent-container .w3a-img-login-group>img#active-login-img{display:none}.w3a-parent-container .w3a-img-login-group:hover>img#active-login-img,.w3a-parent-container .w3a-img-login-group>img#login-img{display:block}.w3a-parent-container .w3a--link-arrow>#device-link-arrow,.w3a-parent-container .w3a-img-login-group:hover>img#login-img{display:none}.w3a-parent-container .w3a--link-arrow:hover>#device-link-arrow{display:block}.w3a-parent-container .w3a--fixed{position:fixed}.w3a-parent-container .w3a--absolute{position:absolute}.w3a-parent-container .w3a--relative{position:relative}.w3a-parent-container .w3a--inset-x-4{left:1rem;right:1rem}.w3a-parent-container .w3a--bottom-2{bottom:.5rem}.w3a-parent-container .w3a--bottom-4{bottom:1rem}.w3a-parent-container .w3a--bottom-8{bottom:2rem}.w3a-parent-container .w3a--bottom-\\[100\\%\\]{bottom:100%}.w3a-parent-container .w3a--left-0{left:0}.w3a-parent-container .w3a--left-2{left:.5rem}.w3a-parent-container .w3a--left-\\[50\\%\\]{left:50%}.w3a-parent-container .w3a--right-4{right:1rem}.w3a-parent-container .w3a--right-6{right:1.5rem}.w3a-parent-container .w3a--top-0{top:0}.w3a-parent-container .w3a--top-4{top:1rem}.w3a-parent-container .w3a--top-8{top:2rem}.w3a-parent-container .w3a--top-\\[16px\\]{top:16px}.w3a-parent-container .w3a--top-\\[30px\\]{top:30px}.w3a-parent-container .w3a--z-10{z-index:10}.w3a-parent-container .w3a--z-20{z-index:20}.w3a-parent-container .w3a--z-50{z-index:50}.w3a-parent-container .w3a--z-\\[-1\\]{z-index:-1}.w3a-parent-container .w3a--z-\\[45\\]{z-index:45}.w3a-parent-container .w3a--z-\\[60\\]{z-index:60}.w3a-parent-container .w3a--mx-auto{margin-left:auto;margin-right:auto}.w3a-parent-container .w3a--my-4{margin-bottom:1rem;margin-top:1rem}.w3a-parent-container .w3a--my-6{margin-bottom:1.5rem;margin-top:1.5rem}.w3a-parent-container .-w3a--mt-10{margin-top:-2.5rem}.w3a-parent-container .-w3a--mt-2{margin-top:-.5rem}.w3a-parent-container .-w3a--mt-6{margin-top:-1.5rem}.w3a-parent-container .w3a--ml-0{margin-left:0}.w3a-parent-container .w3a--ml-2{margin-left:.5rem}.w3a-parent-container .w3a--ml-4{margin-left:1rem}.w3a-parent-container .w3a--ml-auto{margin-left:auto}.w3a-parent-container .w3a--mr-auto{margin-right:auto}.w3a-parent-container .w3a--mt-2{margin-top:.5rem}.w3a-parent-container .w3a--mt-3{margin-top:.75rem}.w3a-parent-container .w3a--mt-auto{margin-top:auto}.w3a-parent-container .w3a--block{display:block}.w3a-parent-container .w3a--flex{display:flex}.w3a-parent-container .w3a--inline-flex{display:inline-flex}.w3a-parent-container .w3a--grid{display:grid}.w3a-parent-container .w3a--contents{display:contents}.w3a-parent-container .w3a--hidden{display:none}.w3a-parent-container .w3a--size-5{height:1.25rem;width:1.25rem}.w3a-parent-container .w3a--size-\\[300px\\]{height:300px;width:300px}.w3a-parent-container .w3a--size-auto{height:auto;width:auto}.w3a-parent-container .w3a--size-full{height:100%;width:100%}.w3a-parent-container .w3a--h-0{height:0}.w3a-parent-container .w3a--h-12{height:3rem}.w3a-parent-container .w3a--h-4{height:1rem}.w3a-parent-container .w3a--h-\\[280px\\]{height:280px}.w3a-parent-container .w3a--h-\\[300px\\]{height:300px}.w3a-parent-container .w3a--h-\\[42px\\]{height:42px}.w3a-parent-container .w3a--h-\\[50px\\]{height:50px}.w3a-parent-container .w3a--h-auto{height:auto}.w3a-parent-container .w3a--h-full{height:100%}.w3a-parent-container .w3a--h-px{height:1px}.w3a-parent-container .w3a--h-screen{height:100vh}.w3a-parent-container .w3a--w-0{width:0}.w3a-parent-container .w3a--w-12{width:3rem}.w3a-parent-container .w3a--w-4\\/5{width:80%}.w3a-parent-container .w3a--w-\\[100px\\]{width:100px}.w3a-parent-container .w3a--w-\\[200px\\]{width:200px}.w3a-parent-container .w3a--w-\\[356px\\]{width:356px}.w3a-parent-container .w3a--w-\\[90\\%\\]{width:90%}.w3a-parent-container .w3a--w-\\[96\\%\\]{width:96%}.w3a-parent-container .w3a--w-auto{width:auto}.w3a-parent-container .w3a--w-full{width:100%}.w3a-parent-container .w3a--w-max{width:max-content}.w3a-parent-container .w3a--w-screen{width:100vw}.w3a-parent-container .w3a--flex-1{flex:1 1 0%}.w3a-parent-container .w3a--translate-y-0{--tw-translate-y:0px}.w3a-parent-container .w3a--translate-y-0,.w3a-parent-container .w3a--translate-y-\\[100vh\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--translate-y-\\[100vh\\]{--tw-translate-y:100vh}.w3a-parent-container .w3a--translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--animate-pulse{animation:w3a--pulse 2s cubic-bezier(.4,0,.6,1) infinite}.w3a-parent-container .w3a--cursor-not-allowed{cursor:not-allowed}.w3a-parent-container .w3a--cursor-pointer{cursor:pointer}.w3a-parent-container .w3a--appearance-none{appearance:none}.w3a-parent-container .w3a--auto-rows-min{grid-auto-rows:min-content}.w3a-parent-container .w3a--grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.w3a-parent-container .w3a--flex-col{flex-direction:column}.w3a-parent-container .w3a--items-start{align-items:flex-start}.w3a-parent-container .w3a--items-end{align-items:flex-end}.w3a-parent-container .w3a--items-center{align-items:center}.w3a-parent-container .\\!w3a--justify-start{justify-content:flex-start!important}.w3a-parent-container .w3a--justify-start{justify-content:flex-start}.w3a-parent-container .\\!w3a--justify-center{justify-content:center!important}.w3a-parent-container .w3a--justify-center{justify-content:center}.w3a-parent-container .\\!w3a--justify-between{justify-content:space-between!important}.w3a-parent-container .w3a--justify-between{justify-content:space-between}.w3a-parent-container .w3a--justify-items-start{justify-items:start}.w3a-parent-container .w3a--gap-2{gap:.5rem}.w3a-parent-container .w3a--gap-3{gap:.75rem}.w3a-parent-container .w3a--gap-x-1{column-gap:.25rem}.w3a-parent-container .w3a--gap-x-2{column-gap:.5rem}.w3a-parent-container .w3a--gap-x-6{column-gap:1.5rem}.w3a-parent-container .w3a--gap-y-1{row-gap:.25rem}.w3a-parent-container .w3a--gap-y-2{row-gap:.5rem}.w3a-parent-container .w3a--gap-y-4{row-gap:1rem}.w3a-parent-container .w3a--space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.w3a-parent-container .w3a--overflow-hidden{overflow:hidden}.w3a-parent-container .w3a--overflow-y-auto{overflow-y:auto}.w3a-parent-container .w3a--rounded{border-radius:.25rem}.w3a-parent-container .w3a--rounded-2xl{border-radius:1rem}.w3a-parent-container .w3a--rounded-3xl{border-radius:1.5rem}.w3a-parent-container .w3a--rounded-\\[30px\\]{border-radius:30px}.w3a-parent-container .w3a--rounded-full{border-radius:9999px}.w3a-parent-container .w3a--rounded-lg{border-radius:.5rem}.w3a-parent-container .w3a--rounded-md{border-radius:.375rem}.w3a-parent-container .w3a--rounded-none{border-radius:0}.w3a-parent-container .w3a--border{border-width:1px}.w3a-parent-container .\\!w3a--border-app-primary-600{border-color:var(--app-primary-600)!important}.w3a-parent-container .w3a--border-app-blue-200{border-color:var(--app-blue-200)}.w3a-parent-container .w3a--border-app-gray-100{border-color:var(--app-gray-100)}.w3a-parent-container .w3a--border-app-gray-200{border-color:var(--app-gray-200)}.w3a-parent-container .w3a--border-app-gray-300{border-color:var(--app-gray-300)}.w3a-parent-container .w3a--border-app-gray-400{border-color:var(--app-gray-400)}.w3a-parent-container .w3a--border-app-gray-800{border-color:var(--app-gray-800)}.w3a-parent-container .w3a--border-app-green-200{border-color:var(--app-green-200)}.w3a-parent-container .w3a--border-app-green-400{border-color:var(--app-green-400)}.w3a-parent-container .w3a--border-app-red-200{border-color:var(--app-red-200)}.w3a-parent-container .w3a--border-app-red-600{border-color:var(--app-red-600)}.w3a-parent-container .w3a--border-app-yellow-200{border-color:var(--app-yellow-200)}.w3a-parent-container .w3a--bg-app-blue-100{background-color:var(--app-blue-100)}.w3a-parent-container .w3a--bg-app-gray-100{background-color:var(--app-gray-100)}.w3a-parent-container .w3a--bg-app-gray-200{background-color:var(--app-gray-200)}.w3a-parent-container .w3a--bg-app-gray-300{background-color:var(--app-gray-300)}.w3a-parent-container .w3a--bg-app-gray-400{background-color:var(--app-gray-400)}.w3a-parent-container .w3a--bg-app-gray-50{background-color:var(--app-gray-50)}.w3a-parent-container .w3a--bg-app-gray-500{background-color:var(--app-gray-500)}.w3a-parent-container .w3a--bg-app-gray-800{background-color:var(--app-gray-800)}.w3a-parent-container .w3a--bg-app-green-100{background-color:var(--app-green-100)}.w3a-parent-container .w3a--bg-app-light-surface1{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-primary-100{background-color:var(--app-primary-100)}.w3a-parent-container .w3a--bg-app-red-100{background-color:var(--app-red-100)}.w3a-parent-container .w3a--bg-app-white{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-yellow-100{background-color:var(--app-yellow-100)}.w3a-parent-container .w3a--bg-transparent{background-color:initial}.w3a-parent-container .w3a--object-contain{object-fit:contain}.w3a-parent-container .w3a--p-0{padding:0}.w3a-parent-container .w3a--p-2{padding:.5rem}.w3a-parent-container .w3a--p-3{padding:.75rem}.w3a-parent-container .w3a--p-4{padding:1rem}.w3a-parent-container .w3a--p-6{padding:1.5rem}.w3a-parent-container .w3a--px-1{padding-left:.25rem;padding-right:.25rem}.w3a-parent-container .w3a--px-2{padding-left:.5rem;padding-right:.5rem}.w3a-parent-container .w3a--px-2\\.5{padding-left:.625rem;padding-right:.625rem}.w3a-parent-container .w3a--px-3{padding-left:.75rem;padding-right:.75rem}.w3a-parent-container .w3a--px-4{padding-left:1rem;padding-right:1rem}.w3a-parent-container .w3a--px-5{padding-left:1.25rem;padding-right:1.25rem}.w3a-parent-container .w3a--px-\\[6px\\]{padding-left:6px;padding-right:6px}.w3a-parent-container .w3a--py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.w3a-parent-container .w3a--py-1{padding-bottom:.25rem;padding-top:.25rem}.w3a-parent-container .w3a--py-2{padding-bottom:.5rem;padding-top:.5rem}.w3a-parent-container .w3a--py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.w3a-parent-container .w3a--py-3{padding-bottom:.75rem;padding-top:.75rem}.w3a-parent-container .w3a--py-6{padding-bottom:1.5rem;padding-top:1.5rem}.w3a-parent-container .w3a--py-\\[3px\\]{padding-bottom:3px;padding-top:3px}.w3a-parent-container .w3a--pl-6{padding-left:1.5rem}.w3a-parent-container .w3a--pr-1\\.5{padding-right:.375rem}.w3a-parent-container .w3a--pt-6{padding-top:1.5rem}.w3a-parent-container .w3a--text-left{text-align:left}.w3a-parent-container .w3a--text-center{text-align:center}.w3a-parent-container .w3a--text-start{text-align:start}.w3a-parent-container .w3a--text-base{font-size:1rem;line-height:1.5rem}.w3a-parent-container .w3a--text-lg{font-size:1.125rem;line-height:1.75rem}.w3a-parent-container .w3a--text-sm{font-size:.875rem;line-height:1.25rem}.w3a-parent-container .w3a--text-xl{font-size:1.25rem;line-height:1.75rem}.w3a-parent-container .w3a--text-xs{font-size:.75rem;line-height:1rem}.w3a-parent-container .w3a--font-bold{font-weight:700}.w3a-parent-container .w3a--font-medium{font-weight:500}.w3a-parent-container .w3a--font-normal{font-weight:400}.w3a-parent-container .w3a--font-semibold{font-weight:600}.w3a-parent-container .w3a--uppercase{text-transform:uppercase}.w3a-parent-container .w3a--text-app-blue-900{color:var(--app-blue-900)}.w3a-parent-container .w3a--text-app-gray-100{color:var(--app-gray-100)}.w3a-parent-container .w3a--text-app-gray-300{color:var(--app-gray-300)}.w3a-parent-container .w3a--text-app-gray-400{color:var(--app-gray-400)}.w3a-parent-container .w3a--text-app-gray-500{color:var(--app-gray-500)}.w3a-parent-container .w3a--text-app-gray-700{color:var(--app-gray-700)}.w3a-parent-container .w3a--text-app-gray-900{color:var(--app-gray-900)}.w3a-parent-container .w3a--text-app-green-400{color:var(--app-green-400)}.w3a-parent-container .w3a--text-app-green-500{color:var(--app-green-500)}.w3a-parent-container .w3a--text-app-green-900{color:var(--app-green-900)}.w3a-parent-container .w3a--text-app-primary-600{color:var(--app-primary-600)}.w3a-parent-container .w3a--text-app-primary-800{color:var(--app-primary-800)}.w3a-parent-container .w3a--text-app-red-400{color:var(--app-red-400)}.w3a-parent-container .w3a--text-app-red-500{color:var(--app-red-500)}.w3a-parent-container .w3a--text-app-red-900{color:var(--app-red-900)}.w3a-parent-container .w3a--text-app-white{color:var(--app-white)}.w3a-parent-container .w3a--text-app-yellow-900{color:var(--app-yellow-900)}.w3a-parent-container .w3a--shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-2xl,.w3a-parent-container .w3a--shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--outline-none{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .w3a--transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--delay-100{transition-delay:.1s}.w3a-parent-container .w3a--delay-500{transition-delay:.5s}.w3a-parent-container .w3a--delay-700{transition-delay:.7s}.w3a-parent-container .w3a--duration-300{transition-duration:.3s}.w3a-parent-container .w3a--duration-500{transition-duration:.5s}.w3a-parent-container .w3a--duration-\\[400ms\\]{transition-duration:.4s}.w3a-parent-container .w3a--ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.w3a-parent-container .w3a--loader-logo-size{height:2.5rem;width:2.5rem}.w3a-parent-container .w3a--animate-circle{height:.75rem;width:.75rem}@keyframes w3a--pulse{50%{opacity:.5}}.w3a-parent-container .w3a--animate-circle{animation:w3a--pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:9999px}.w3a-parent-container .w3a--bottom-sheet-bg{background-color:var(--app-gray-600);opacity:.5}.w3a-parent-container .w3a--connected-logo{color:var(--app-green-500);height:4rem;width:4rem}.w3a-parent-container .w3a--connected-logo:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .w3a--error-logo{color:var(--app-red-500);height:4rem;width:4rem}.w3a-parent-container .w3a--error-logo:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .w3a--btn{align-items:center;appearance:none;border-color:var(--app-gray-200);border-width:1px;color:var(--app-gray-700);column-gap:.5rem;display:flex;font-size:1rem;font-weight:400;justify-content:center;line-height:1.5rem;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--btn:hover{--tw-translate-y:0.5px;--tw-shadow:0px 2px 8px 2px #e5e7eb;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-50);border-color:var(--app-gray-50);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--btn:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .w3a--btn:hover:is(.w3a--dark *){--tw-shadow:0px 2px 8px 2px #111928;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-800);border-color:var(--app-gray-800);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--input{align-items:center;border-color:var(--app-gray-200);border-width:1px;column-gap:.5rem;display:flex;justify-content:space-between;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--input:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .w3a--icon-animation{animation:w3a--icon-move 1s ease-in-out infinite}@keyframes w3a--icon-move{0%{transform:translateX(0)}50%{transform:translateX(10px)}to{transform:translateX(0)}}.w3a-parent-container .w3a--modal-curtain{background-color:initial;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity 50ms ease-in;z-index:1}.w3a-parent-container .first-letter\\:w3a--capitalize:first-letter{text-transform:capitalize}.w3a-parent-container .placeholder\\:w3a--text-xs::placeholder{font-size:.75rem;line-height:1rem}.w3a-parent-container .placeholder\\:w3a--text-app-gray-400::placeholder{color:var(--app-gray-400)}.w3a-parent-container .hover\\:w3a--translate-y-\\[0\\.5px\\]:hover{--tw-translate-y:0.5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .hover\\:w3a--border-app-gray-50:hover{border-color:var(--app-gray-50)}.w3a-parent-container .hover\\:w3a--bg-app-gray-200:hover{background-color:var(--app-gray-200)}.w3a-parent-container .hover\\:w3a--bg-app-white:hover{background-color:var(--app-white)}.w3a-parent-container .hover\\:w3a--text-app-gray-900:hover{color:var(--app-gray-900)}.w3a-parent-container .hover\\:w3a--shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .active\\:w3a--outline-none:active,.w3a-parent-container .focus\\:w3a--outline-none:focus{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .dark\\:w3a--block:is(.w3a--dark *){display:block}.w3a-parent-container .dark\\:w3a--hidden:is(.w3a--dark *){display:none}.w3a-parent-container .dark\\:w3a--border:is(.w3a--dark *){border-width:1px}.w3a-parent-container .dark\\:w3a--border-app-gray-300:is(.w3a--dark *){border-color:var(--app-gray-300)}.w3a-parent-container .dark\\:w3a--border-app-gray-500:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--border-app-gray-600:is(.w3a--dark *){border-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--border-app-gray-700:is(.w3a--dark *){border-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--border-app-gray-800:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--border-app-green-500:is(.w3a--dark *){border-color:var(--app-green-500)}.w3a-parent-container .dark\\:w3a--border-app-primary-400:is(.w3a--dark *){border-color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--border-app-primary-500:is(.w3a--dark *){border-color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--border-app-red-500:is(.w3a--dark *){border-color:var(--app-red-500)}.w3a-parent-container .dark\\:w3a--bg-app-dark-surface-main:is(.w3a--dark *){background-color:var(--app-gray-900)}.w3a-parent-container .dark\\:w3a--bg-app-gray-200:is(.w3a--dark *){background-color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--bg-app-gray-400:is(.w3a--dark *){background-color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--bg-app-gray-500:is(.w3a--dark *){background-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--bg-app-gray-600:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--bg-app-gray-700:is(.w3a--dark *){background-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--bg-app-gray-800:is(.w3a--dark *){background-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--bg-transparent:is(.w3a--dark *){background-color:initial}.w3a-parent-container .dark\\:w3a--text-app-gray-200:is(.w3a--dark *){color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--text-app-gray-300:is(.w3a--dark *){color:var(--app-gray-300)}.w3a-parent-container .dark\\:w3a--text-app-gray-400:is(.w3a--dark *){color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--text-app-gray-500:is(.w3a--dark *){color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--text-app-green-400:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-400:is(.w3a--dark *){color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-500:is(.w3a--dark *){color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--text-app-red-400:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .dark\\:w3a--text-app-white:is(.w3a--dark *){color:var(--app-white)}.w3a-parent-container .dark\\:placeholder\\:w3a--text-app-gray-500:is(.w3a--dark *)::placeholder{color:var(--app-gray-500)}.w3a-parent-container .dark\\:hover\\:w3a--border-app-gray-800:hover:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-600:hover:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-700:hover:is(.w3a--dark *){background-color:var(--app-gray-700)}@media (min-width:640px){.w3a-parent-container .sm\\:w3a--left-8{left:2rem}.w3a-parent-container .sm\\:w3a--right-8{right:2rem}.w3a-parent-container .sm\\:w3a--justify-start{justify-content:flex-start}.w3a-parent-container .sm\\:w3a--justify-end{justify-content:flex-end}.w3a-parent-container .sm\\:w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media(min-width:375px){.w3a-parent-container .\\[\\@media\\(min-width\\:375px\\)\\]\\:w3a--w-\\[393px\\]{width:393px}}";
|
|
6
|
+
styleInject_es(css_248z);
|
|
7
|
+
|
|
8
|
+
module.exports = css_248z;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var httpHelpers = require('@toruslabs/http-helpers');
|
|
5
|
+
var auth = require('@web3auth/auth');
|
|
6
|
+
var noModal = require('@web3auth/no-modal');
|
|
7
|
+
var config = require('../config.js');
|
|
8
|
+
var utils = require('../utils.js');
|
|
9
|
+
|
|
10
|
+
class PasswordlessHandler {
|
|
11
|
+
constructor(params) {
|
|
12
|
+
_defineProperty(this, "authBaseApiUrl", `${config.PASSWORDLESS_BUILD_ENV_MAP[auth.BUILD_ENV.TESTING]}/api/v3/auth`);
|
|
13
|
+
_defineProperty(this, "passwordlessParams", void 0);
|
|
14
|
+
_defineProperty(this, "trackingIdentifier", void 0);
|
|
15
|
+
if (!params.authConnection) throw noModal.WalletInitializationError.invalidParams("authConnection is required");
|
|
16
|
+
if (!params.web3authClientId) throw noModal.WalletInitializationError.invalidParams("web3authClientId is required");
|
|
17
|
+
if (!params.loginHint) throw noModal.WalletInitializationError.invalidParams("loginHint is required");
|
|
18
|
+
if (!params.network) throw noModal.WalletInitializationError.invalidParams("network is required");
|
|
19
|
+
this.passwordlessParams = params;
|
|
20
|
+
}
|
|
21
|
+
get name() {
|
|
22
|
+
if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS) return "Email";
|
|
23
|
+
if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.SMS_PASSWORDLESS) return "Mobile";
|
|
24
|
+
throw noModal.WalletInitializationError.invalidParams("Invalid authConnection");
|
|
25
|
+
}
|
|
26
|
+
get connection() {
|
|
27
|
+
if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS) return "email";
|
|
28
|
+
if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.SMS_PASSWORDLESS) return "sms";
|
|
29
|
+
throw noModal.WalletInitializationError.invalidParams("Invalid authConnection");
|
|
30
|
+
}
|
|
31
|
+
get trackingId() {
|
|
32
|
+
return this.trackingIdentifier;
|
|
33
|
+
}
|
|
34
|
+
get sessionStorageAvailable() {
|
|
35
|
+
return auth.storageAvailable("sessionStorage");
|
|
36
|
+
}
|
|
37
|
+
get whiteLabelParams() {
|
|
38
|
+
var _ref;
|
|
39
|
+
const {
|
|
40
|
+
uiConfig
|
|
41
|
+
} = this.passwordlessParams;
|
|
42
|
+
if (!uiConfig) return {};
|
|
43
|
+
const {
|
|
44
|
+
appName,
|
|
45
|
+
appUrl,
|
|
46
|
+
defaultLanguage,
|
|
47
|
+
mode,
|
|
48
|
+
logoLight,
|
|
49
|
+
logoDark,
|
|
50
|
+
theme
|
|
51
|
+
} = uiConfig;
|
|
52
|
+
const finalLogo = (_ref = mode === "dark" ? logoDark : logoLight) !== null && _ref !== void 0 ? _ref : "";
|
|
53
|
+
return {
|
|
54
|
+
mode: mode !== null && mode !== void 0 ? mode : "light",
|
|
55
|
+
name: appName !== null && appName !== void 0 ? appName : "",
|
|
56
|
+
url: appUrl !== null && appUrl !== void 0 ? appUrl : "",
|
|
57
|
+
language: defaultLanguage !== null && defaultLanguage !== void 0 ? defaultLanguage : "en",
|
|
58
|
+
logo: finalLogo.includes(".svg") ? "" : finalLogo,
|
|
59
|
+
theme: theme !== null && theme !== void 0 ? theme : {}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
set trackingId(value) {
|
|
63
|
+
this.trackingIdentifier = value;
|
|
64
|
+
}
|
|
65
|
+
async start(params) {
|
|
66
|
+
try {
|
|
67
|
+
const result = await httpHelpers.post(`${this.authBaseApiUrl}/passwordless/start`, params);
|
|
68
|
+
if (result && result.success) {
|
|
69
|
+
var _result$data;
|
|
70
|
+
this.trackingId = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.trackingId;
|
|
71
|
+
if (this.sessionStorageAvailable) window.sessionStorage.setItem("trackingId", this.trackingId);
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
} catch (e) {
|
|
75
|
+
return this.handleError(e);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async verify(params) {
|
|
79
|
+
try {
|
|
80
|
+
const result = await httpHelpers.post(`${this.authBaseApiUrl}/passwordless/verify`, params);
|
|
81
|
+
if (result.success) {
|
|
82
|
+
if (this.sessionStorageAvailable) window.sessionStorage.removeItem("trackingId");
|
|
83
|
+
return {
|
|
84
|
+
success: true,
|
|
85
|
+
data: {
|
|
86
|
+
id_token: result.id_token
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
success: false,
|
|
92
|
+
error: result.message
|
|
93
|
+
};
|
|
94
|
+
} catch (e) {
|
|
95
|
+
return this.handleError(e);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async handleError(e) {
|
|
99
|
+
let error;
|
|
100
|
+
if (e.status === 429) {
|
|
101
|
+
error = "passwordless.error-too-many-requests";
|
|
102
|
+
} else {
|
|
103
|
+
try {
|
|
104
|
+
const err = await e.json();
|
|
105
|
+
error = err.error_code ? utils.getErrorMessages(err.error_code) : err.message;
|
|
106
|
+
} catch {
|
|
107
|
+
error = "passwordless.something-wrong-error";
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
success: false,
|
|
112
|
+
error: error
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
exports.PasswordlessHandler = PasswordlessHandler;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var auth = require('@web3auth/auth');
|
|
5
|
+
var AbstractHandler = require('./AbstractHandler.js');
|
|
6
|
+
|
|
7
|
+
class EmailPasswordlessHandler extends AbstractHandler.PasswordlessHandler {
|
|
8
|
+
constructor(params) {
|
|
9
|
+
var _window$sessionStorag;
|
|
10
|
+
super(params);
|
|
11
|
+
_defineProperty(this, "mailSent", void 0);
|
|
12
|
+
this.mailSent = false;
|
|
13
|
+
if (this.sessionStorageAvailable) this.trackingId = (_window$sessionStorag = window.sessionStorage.getItem("trackingId")) !== null && _window$sessionStorag !== void 0 ? _window$sessionStorag : undefined;
|
|
14
|
+
}
|
|
15
|
+
async sendVerificationCode() {
|
|
16
|
+
const {
|
|
17
|
+
loginHint,
|
|
18
|
+
network,
|
|
19
|
+
web3authClientId
|
|
20
|
+
} = this.passwordlessParams;
|
|
21
|
+
const finalParams = {
|
|
22
|
+
client_id: web3authClientId,
|
|
23
|
+
web3auth_client_id: web3authClientId,
|
|
24
|
+
connection: this.connection,
|
|
25
|
+
login_hint: loginHint,
|
|
26
|
+
tracking_id: this.trackingId,
|
|
27
|
+
whitelabel: this.whiteLabelParams,
|
|
28
|
+
version: "",
|
|
29
|
+
network,
|
|
30
|
+
flow_type: auth.EMAIL_FLOW.code
|
|
31
|
+
};
|
|
32
|
+
return super.start(finalParams);
|
|
33
|
+
}
|
|
34
|
+
async verifyCode(code) {
|
|
35
|
+
const {
|
|
36
|
+
loginHint,
|
|
37
|
+
network,
|
|
38
|
+
web3authClientId
|
|
39
|
+
} = this.passwordlessParams;
|
|
40
|
+
const params = {
|
|
41
|
+
client_id: web3authClientId,
|
|
42
|
+
login_hint: loginHint,
|
|
43
|
+
code,
|
|
44
|
+
connection: "email",
|
|
45
|
+
tracking_id: this.trackingId,
|
|
46
|
+
version: "",
|
|
47
|
+
network,
|
|
48
|
+
flow_type: auth.EMAIL_FLOW.code
|
|
49
|
+
};
|
|
50
|
+
return super.verify(params);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
module.exports = EmailPasswordlessHandler;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var noModal = require('@web3auth/no-modal');
|
|
4
|
+
var AbstractHandler = require('./AbstractHandler.js');
|
|
5
|
+
|
|
6
|
+
class SmsPasswordlessHandler extends AbstractHandler.PasswordlessHandler {
|
|
7
|
+
constructor(params) {
|
|
8
|
+
super(params);
|
|
9
|
+
if (this.sessionStorageAvailable) {
|
|
10
|
+
var _window$sessionStorag;
|
|
11
|
+
this.trackingId = (_window$sessionStorag = window.sessionStorage.getItem("trackingId")) !== null && _window$sessionStorag !== void 0 ? _window$sessionStorag : undefined;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async sendVerificationCode(params) {
|
|
15
|
+
var _params$captchaToken;
|
|
16
|
+
const {
|
|
17
|
+
loginHint,
|
|
18
|
+
network,
|
|
19
|
+
web3authClientId
|
|
20
|
+
} = this.passwordlessParams;
|
|
21
|
+
const captchaToken = (_params$captchaToken = params === null || params === void 0 ? void 0 : params.captchaToken) !== null && _params$captchaToken !== void 0 ? _params$captchaToken : "";
|
|
22
|
+
if (!captchaToken) {
|
|
23
|
+
throw noModal.WalletLoginError.connectionError("Captcha token is required");
|
|
24
|
+
}
|
|
25
|
+
const finalParams = {
|
|
26
|
+
client_id: web3authClientId,
|
|
27
|
+
web3auth_client_id: web3authClientId,
|
|
28
|
+
connection: this.connection,
|
|
29
|
+
login_hint: loginHint,
|
|
30
|
+
tracking_id: this.trackingId,
|
|
31
|
+
whitelabel: this.whiteLabelParams,
|
|
32
|
+
version: "",
|
|
33
|
+
network,
|
|
34
|
+
captcha_token: captchaToken
|
|
35
|
+
};
|
|
36
|
+
return super.start(finalParams);
|
|
37
|
+
}
|
|
38
|
+
async verifyCode(code) {
|
|
39
|
+
const {
|
|
40
|
+
loginHint,
|
|
41
|
+
network,
|
|
42
|
+
web3authClientId
|
|
43
|
+
} = this.passwordlessParams;
|
|
44
|
+
const params = {
|
|
45
|
+
client_id: web3authClientId,
|
|
46
|
+
login_hint: loginHint,
|
|
47
|
+
code,
|
|
48
|
+
connection: this.connection,
|
|
49
|
+
tracking_id: this.trackingId,
|
|
50
|
+
version: "",
|
|
51
|
+
network
|
|
52
|
+
};
|
|
53
|
+
return super.verify(params);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
module.exports = SmsPasswordlessHandler;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var auth = require('@web3auth/auth');
|
|
4
|
+
var noModal = require('@web3auth/no-modal');
|
|
5
|
+
var EmailPasswordlessHandler = require('./EmailPasswordlessHandler.js');
|
|
6
|
+
var SmsPasswordlessHandler = require('./SmsPasswordlessHandler.js');
|
|
7
|
+
|
|
8
|
+
const createPasswordlessHandler = (authConnection, params) => {
|
|
9
|
+
switch (authConnection) {
|
|
10
|
+
case auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS:
|
|
11
|
+
return new EmailPasswordlessHandler(params);
|
|
12
|
+
case auth.AUTH_CONNECTION.SMS_PASSWORDLESS:
|
|
13
|
+
return new SmsPasswordlessHandler(params);
|
|
14
|
+
default:
|
|
15
|
+
throw noModal.WalletInitializationError.invalidParams(`Unsupported auth connection: ${authConnection}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.createPasswordlessHandler = createPasswordlessHandler;
|