@web3auth/modal 10.0.0-alpha.2 → 10.0.0-beta.1
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/config.js +3 -57
- package/dist/lib.cjs/packages/modal/src/index.js +1 -5
- package/dist/lib.cjs/packages/modal/src/modalManager.js +286 -189
- package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +2 -2
- package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +27 -38
- 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 +62 -0
- package/dist/lib.cjs/packages/modal/src/ui/components/{ExternalWallet/ExternalWalletChainNamespace.js → ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js} +28 -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 +452 -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 +229 -0
- package/dist/lib.cjs/packages/modal/src/ui/config.js +10 -0
- 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 +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +38 -2
- package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +7 -10
- package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +69 -43
- package/dist/lib.cjs/packages/modal/src/ui/utils.js +105 -20
- package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +1 -12
- package/dist/lib.cjs/types/config.d.ts +1 -5
- package/dist/lib.cjs/types/interface.d.ts +2 -6
- package/dist/lib.cjs/types/modalManager.d.ts +11 -4
- package/dist/lib.cjs/types/react/interfaces.d.ts +1 -6
- 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 +116 -15
- package/dist/lib.cjs/types/ui/loginModal.d.ts +9 -7
- package/dist/lib.cjs/types/ui/utils.d.ts +16 -3
- package/dist/lib.cjs/types/vue/interfaces.d.ts +1 -6
- package/dist/lib.esm/node_modules/style-inject/dist/style-inject.es.js +1 -1
- package/dist/lib.esm/packages/modal/src/config.js +4 -54
- package/dist/lib.esm/packages/modal/src/index.js +1 -1
- package/dist/lib.esm/packages/modal/src/modalManager.js +299 -195
- package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +1 -12
- 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 +60 -0
- package/dist/lib.esm/packages/modal/src/ui/components/{ExternalWallet/ExternalWalletChainNamespace.js → ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js} +28 -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 +462 -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 +231 -0
- package/dist/lib.esm/packages/modal/src/ui/config.js +9 -2
- 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 +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +38 -3
- package/dist/lib.esm/packages/modal/src/ui/interfaces.js +8 -9
- package/dist/lib.esm/packages/modal/src/ui/loginModal.js +70 -44
- package/dist/lib.esm/packages/modal/src/ui/utils.js +104 -22
- package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +1 -12
- package/dist/modal.umd.min.js +1 -1
- package/dist/modal.umd.min.js.LICENSE.txt +8 -8
- package/package.json +14 -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 -274
- 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 -244
- 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 -148
- package/dist/lib.cjs/packages/modal/src/ui/components/SocialLogins.js +0 -152
- 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 -276
- 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 -243
- 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 -146
- package/dist/lib.esm/packages/modal/src/ui/components/SocialLogins.js +0 -151
- 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,452 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var noModal = require('@web3auth/no-modal');
|
|
6
|
+
var Bowser = require('bowser');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var constants = require('../../constants.js');
|
|
10
|
+
var RootContext = require('../../context/RootContext.js');
|
|
11
|
+
var ThemeContext = require('../../context/ThemeContext.js');
|
|
12
|
+
var interfaces = require('../../interfaces.js');
|
|
13
|
+
var localeImport = require('../../localeImport.js');
|
|
14
|
+
var utils = require('../../utils.js');
|
|
15
|
+
var BottomSheet = require('../BottomSheet/BottomSheet.js');
|
|
16
|
+
var ConnectWallet = require('../ConnectWallet/ConnectWallet.js');
|
|
17
|
+
var ConnectWalletChainNamespaceSelect = require('../ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js');
|
|
18
|
+
var Footer = require('../Footer/Footer.js');
|
|
19
|
+
var Image = require('../Image/Image.js');
|
|
20
|
+
var Loader = require('../Loader/Loader.js');
|
|
21
|
+
var Login = require('../Login/Login.js');
|
|
22
|
+
var Toast = require('../Toast/Toast.js');
|
|
23
|
+
|
|
24
|
+
function Root(props) {
|
|
25
|
+
var _bodyState$walletDeta2, _bodyState$walletDeta4;
|
|
26
|
+
const {
|
|
27
|
+
setModalState,
|
|
28
|
+
modalState,
|
|
29
|
+
handleExternalWalletBtnClick,
|
|
30
|
+
chainNamespaces,
|
|
31
|
+
walletRegistry,
|
|
32
|
+
appLogo,
|
|
33
|
+
onCloseLoader,
|
|
34
|
+
handleSocialLoginClick,
|
|
35
|
+
showPasswordLessInput,
|
|
36
|
+
showExternalWalletButton,
|
|
37
|
+
socialLoginsConfig,
|
|
38
|
+
areSocialLoginsVisible,
|
|
39
|
+
isEmailPrimary,
|
|
40
|
+
isExternalPrimary,
|
|
41
|
+
showExternalWalletPage,
|
|
42
|
+
isEmailPasswordLessLoginVisible,
|
|
43
|
+
isSmsPasswordLessLoginVisible,
|
|
44
|
+
preHandleExternalWalletClick,
|
|
45
|
+
uiConfig
|
|
46
|
+
} = props;
|
|
47
|
+
const {
|
|
48
|
+
logoAlignment = "center",
|
|
49
|
+
buttonRadiusType = "pill",
|
|
50
|
+
enableMainSocialLoginButton = false,
|
|
51
|
+
privacyPolicy = "",
|
|
52
|
+
tncLink = "",
|
|
53
|
+
displayInstalledExternalWallets = true,
|
|
54
|
+
displayExternalWalletsCount = true
|
|
55
|
+
} = uiConfig;
|
|
56
|
+
const [t] = reactI18next.useTranslation(undefined, {
|
|
57
|
+
i18n: localeImport
|
|
58
|
+
});
|
|
59
|
+
const {
|
|
60
|
+
isDark
|
|
61
|
+
} = react.useContext(ThemeContext.ThemedContext);
|
|
62
|
+
const [bodyState, setBodyState] = react.useState({
|
|
63
|
+
showWalletDetails: false,
|
|
64
|
+
walletDetails: null,
|
|
65
|
+
showMultiChainSelector: false
|
|
66
|
+
});
|
|
67
|
+
const [toast, setToast] = react.useState({
|
|
68
|
+
message: "",
|
|
69
|
+
type: interfaces.TOAST_TYPE.SUCCESS
|
|
70
|
+
});
|
|
71
|
+
const [isSocialLoginsExpanded, setIsSocialLoginsExpanded] = react.useState(false);
|
|
72
|
+
const [isWalletDetailsExpanded, setIsWalletDetailsExpanded] = react.useState(false);
|
|
73
|
+
const onExternalWalletBtnClick = flag => {
|
|
74
|
+
setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
|
|
75
|
+
currentPage: constants.PAGES.CONNECT_WALLET
|
|
76
|
+
}));
|
|
77
|
+
if (handleExternalWalletBtnClick) handleExternalWalletBtnClick(flag);
|
|
78
|
+
};
|
|
79
|
+
const onBackClick = flag => {
|
|
80
|
+
setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
|
|
81
|
+
currentPage: constants.PAGES.LOGIN
|
|
82
|
+
}));
|
|
83
|
+
if (handleExternalWalletBtnClick) handleExternalWalletBtnClick(flag);
|
|
84
|
+
};
|
|
85
|
+
// Wallet Details
|
|
86
|
+
const deviceDetails = react.useMemo(() => {
|
|
87
|
+
const browserData = Bowser.getParser(window.navigator.userAgent);
|
|
88
|
+
return {
|
|
89
|
+
platform: browserData.getPlatformType(),
|
|
90
|
+
browser: browserData.getBrowserName().toLowerCase(),
|
|
91
|
+
os: browserData.getOSName()
|
|
92
|
+
};
|
|
93
|
+
}, []);
|
|
94
|
+
const mobileInstallLinks = react.useMemo(() => {
|
|
95
|
+
var _bodyState$walletDeta;
|
|
96
|
+
if (deviceDetails.platform === "desktop") return [];
|
|
97
|
+
const installConfig = ((_bodyState$walletDeta = bodyState.walletDetails) === null || _bodyState$walletDeta === void 0 || (_bodyState$walletDeta = _bodyState$walletDeta.walletRegistryItem) === null || _bodyState$walletDeta === void 0 ? void 0 : _bodyState$walletDeta.app) || {};
|
|
98
|
+
const installLinks = Object.keys(installConfig).reduce((acc, osKey) => {
|
|
99
|
+
if (!["android", "ios"].includes(osKey)) return acc;
|
|
100
|
+
const appId = installConfig[osKey];
|
|
101
|
+
if (!appId) return acc;
|
|
102
|
+
const appUrl = utils.getMobileInstallLink(osKey, appId);
|
|
103
|
+
if (!appUrl) return acc;
|
|
104
|
+
const logoLight = `${osKey}-light`;
|
|
105
|
+
const logoDark = `${osKey}-dark`;
|
|
106
|
+
acc.push(jsxRuntime.jsx("li", {
|
|
107
|
+
className: "w3a--w-full",
|
|
108
|
+
children: jsxRuntime.jsx("a", {
|
|
109
|
+
href: appUrl,
|
|
110
|
+
rel: "noopener noreferrer",
|
|
111
|
+
target: "_blank",
|
|
112
|
+
children: jsxRuntime.jsxs("button", {
|
|
113
|
+
type: "button",
|
|
114
|
+
className: utils.cn("w3a--link-arrow 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
|
+
"w3a--rounded-full": buttonRadiusType === "pill",
|
|
116
|
+
"w3a--rounded-lg": buttonRadiusType === "rounded",
|
|
117
|
+
"w3a--rounded-none": buttonRadiusType === "square"
|
|
118
|
+
}),
|
|
119
|
+
children: [jsxRuntime.jsx(Image, {
|
|
120
|
+
imageId: logoLight,
|
|
121
|
+
darkImageId: logoDark,
|
|
122
|
+
hoverImageId: logoLight,
|
|
123
|
+
darkHoverImageId: logoDark,
|
|
124
|
+
height: "28",
|
|
125
|
+
width: "28",
|
|
126
|
+
isButton: true
|
|
127
|
+
}), jsxRuntime.jsx("span", {
|
|
128
|
+
className: "w3a--text-sm w3a--font-medium w3a--text-app-gray-900 dark:w3a--text-app-white",
|
|
129
|
+
children: t("modal.external.install-mobile-app", {
|
|
130
|
+
os: utils.getOsName(osKey)
|
|
131
|
+
})
|
|
132
|
+
}), jsxRuntime.jsx("img", {
|
|
133
|
+
id: "device-link-arrow",
|
|
134
|
+
className: "w3a--icon-animation w3a--ml-auto",
|
|
135
|
+
src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
136
|
+
alt: "arrow"
|
|
137
|
+
})]
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
}));
|
|
141
|
+
return acc;
|
|
142
|
+
}, []);
|
|
143
|
+
return installLinks;
|
|
144
|
+
}, [(_bodyState$walletDeta2 = bodyState.walletDetails) === null || _bodyState$walletDeta2 === void 0 || (_bodyState$walletDeta2 = _bodyState$walletDeta2.walletRegistryItem) === null || _bodyState$walletDeta2 === void 0 ? void 0 : _bodyState$walletDeta2.app, deviceDetails.platform, isDark, t, buttonRadiusType]);
|
|
145
|
+
const desktopInstallLinks = react.useMemo(() => {
|
|
146
|
+
var _bodyState$walletDeta3;
|
|
147
|
+
if (deviceDetails.platform !== "desktop") return [];
|
|
148
|
+
// if browser is brave, use chrome extension
|
|
149
|
+
const browserType = deviceDetails.browser === "brave" ? "chrome" : deviceDetails.browser;
|
|
150
|
+
const browserExtensionConfig = ((_bodyState$walletDeta3 = bodyState.walletDetails) === null || _bodyState$walletDeta3 === void 0 || (_bodyState$walletDeta3 = _bodyState$walletDeta3.walletRegistryItem) === null || _bodyState$walletDeta3 === void 0 ? void 0 : _bodyState$walletDeta3.app) || {};
|
|
151
|
+
const extensionForCurrentBrowser = browserExtensionConfig.browser && browserExtensionConfig.browser.includes(browserType) ? browserExtensionConfig.browser : undefined;
|
|
152
|
+
const browserExtensionId = browserExtensionConfig[browserType] || extensionForCurrentBrowser;
|
|
153
|
+
const browserExtensionUrl = browserExtensionId ? utils.getBrowserExtensionUrl(browserType, browserExtensionId) : null;
|
|
154
|
+
const installLink = browserExtensionUrl ? jsxRuntime.jsx("li", {
|
|
155
|
+
children: jsxRuntime.jsx("a", {
|
|
156
|
+
href: browserExtensionUrl,
|
|
157
|
+
rel: "noopener noreferrer",
|
|
158
|
+
target: "_blank",
|
|
159
|
+
children: jsxRuntime.jsxs("button", {
|
|
160
|
+
type: "button",
|
|
161
|
+
className: utils.cn("w3a--link-arrow 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
|
+
"w3a--rounded-full": buttonRadiusType === "pill",
|
|
163
|
+
"w3a--rounded-lg": buttonRadiusType === "rounded",
|
|
164
|
+
"w3a--rounded-none": buttonRadiusType === "square"
|
|
165
|
+
}),
|
|
166
|
+
children: [jsxRuntime.jsx(Image, {
|
|
167
|
+
imageId: deviceDetails.browser,
|
|
168
|
+
darkImageId: deviceDetails.browser,
|
|
169
|
+
hoverImageId: deviceDetails.browser,
|
|
170
|
+
darkHoverImageId: deviceDetails.browser,
|
|
171
|
+
height: "30",
|
|
172
|
+
width: "30",
|
|
173
|
+
isButton: true
|
|
174
|
+
}), jsxRuntime.jsx("span", {
|
|
175
|
+
className: "w3a--text-sm w3a--font-medium w3a--text-app-gray-900 dark:w3a--text-app-white",
|
|
176
|
+
children: t("modal.external.install-browser-extension", {
|
|
177
|
+
browser: utils.getBrowserName(deviceDetails.browser)
|
|
178
|
+
})
|
|
179
|
+
}), jsxRuntime.jsx("img", {
|
|
180
|
+
id: "device-link-arrow",
|
|
181
|
+
className: "w3a--icon-animation w3a--ml-auto",
|
|
182
|
+
src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
183
|
+
alt: "arrow"
|
|
184
|
+
})]
|
|
185
|
+
})
|
|
186
|
+
})
|
|
187
|
+
}) : null;
|
|
188
|
+
return [installLink, ...mobileInstallLinks];
|
|
189
|
+
}, [(_bodyState$walletDeta4 = bodyState.walletDetails) === null || _bodyState$walletDeta4 === void 0 || (_bodyState$walletDeta4 = _bodyState$walletDeta4.walletRegistryItem) === null || _bodyState$walletDeta4 === void 0 ? void 0 : _bodyState$walletDeta4.app, deviceDetails.browser, deviceDetails.platform, isDark, mobileInstallLinks, buttonRadiusType, t]);
|
|
190
|
+
// External Wallets
|
|
191
|
+
const config = react.useMemo(() => modalState.externalWalletsConfig, [modalState.externalWalletsConfig]);
|
|
192
|
+
const connectorVisibilityMap = react.useMemo(() => {
|
|
193
|
+
const canShowMap = {};
|
|
194
|
+
Object.keys(config).forEach(connector => {
|
|
195
|
+
const connectorConfig = config[connector];
|
|
196
|
+
if (!connectorConfig.showOnModal) {
|
|
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;
|
|
209
|
+
});
|
|
210
|
+
return canShowMap;
|
|
211
|
+
}, [deviceDetails, config]);
|
|
212
|
+
const isWalletConnectConnectorIncluded = react.useMemo(
|
|
213
|
+
// WC is always included when enabling wallet discovery
|
|
214
|
+
() => 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]);
|
|
215
|
+
const generateWalletButtons = react.useCallback(wallets => {
|
|
216
|
+
return Object.keys(wallets).reduce((acc, wallet) => {
|
|
217
|
+
var _walletRegistryItem$c, _walletRegistryItem$i, _walletRegistryItem$w;
|
|
218
|
+
if (connectorVisibilityMap[wallet] === false) return acc;
|
|
219
|
+
const walletRegistryItem = wallets[wallet];
|
|
220
|
+
let href = "";
|
|
221
|
+
if (deviceDetails.platform !== "desktop") {
|
|
222
|
+
var _walletRegistryItem$m, _walletRegistryItem$m2;
|
|
223
|
+
const universalLink = walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$m = walletRegistryItem.mobile) === null || _walletRegistryItem$m === void 0 ? void 0 : _walletRegistryItem$m.universal;
|
|
224
|
+
const deepLink = walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$m2 = walletRegistryItem.mobile) === null || _walletRegistryItem$m2 === void 0 ? void 0 : _walletRegistryItem$m2.native;
|
|
225
|
+
href = universalLink || deepLink;
|
|
226
|
+
}
|
|
227
|
+
const registryNamespaces = new Set((_walletRegistryItem$c = walletRegistryItem.chains) === null || _walletRegistryItem$c === void 0 ? void 0 : _walletRegistryItem$c.map(chain => chain.split(":")[0]));
|
|
228
|
+
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];
|
|
231
|
+
const button = {
|
|
232
|
+
name: wallet,
|
|
233
|
+
displayName: walletRegistryItem.name,
|
|
234
|
+
href,
|
|
235
|
+
hasInjectedWallet: (connector === null || connector === void 0 ? void 0 : connector.isInjected) || false,
|
|
236
|
+
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
|
+
hasInstallLinks: Object.keys(walletRegistryItem.app || {}).length > 0,
|
|
238
|
+
walletRegistryItem,
|
|
239
|
+
imgExtension: walletRegistryItem.imgExtension || "svg",
|
|
240
|
+
icon: connector === null || connector === void 0 ? void 0 : connector.icon,
|
|
241
|
+
chainNamespaces: availableChainNamespaces
|
|
242
|
+
};
|
|
243
|
+
if (!button.hasInjectedWallet && !button.hasWalletConnect && !button.hasInstallLinks) return acc;
|
|
244
|
+
if (availableChainNamespaces.length === 0) return acc;
|
|
245
|
+
acc.push(button);
|
|
246
|
+
return acc;
|
|
247
|
+
}, []);
|
|
248
|
+
}, [connectorVisibilityMap, chainNamespaces, config, deviceDetails.platform, isWalletConnectConnectorIncluded]);
|
|
249
|
+
const installedConnectorButtons = react.useMemo(() => {
|
|
250
|
+
const installedConnectors = Object.keys(config).reduce((acc, connector) => {
|
|
251
|
+
var _walletRegistryItem$c2, _walletRegistryItem$i2, _config$connector, _config$connector2;
|
|
252
|
+
if ([noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2].includes(connector) || !connectorVisibilityMap[connector]) return acc;
|
|
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));
|
|
258
|
+
acc.push({
|
|
259
|
+
name: connector,
|
|
260
|
+
displayName: config[connector].label || connector,
|
|
261
|
+
hasInjectedWallet: ((_config$connector = config[connector]) === null || _config$connector === void 0 ? void 0 : _config$connector.isInjected) || false,
|
|
262
|
+
hasWalletConnect: false,
|
|
263
|
+
hasInstallLinks: false,
|
|
264
|
+
walletRegistryItem,
|
|
265
|
+
icon: (_config$connector2 = config[connector]) === null || _config$connector2 === void 0 ? void 0 : _config$connector2.icon,
|
|
266
|
+
chainNamespaces: availableChainNamespaces
|
|
267
|
+
});
|
|
268
|
+
return acc;
|
|
269
|
+
}, []);
|
|
270
|
+
// make metamask the first button and limit the number of buttons
|
|
271
|
+
return installedConnectors;
|
|
272
|
+
}, [config, connectorVisibilityMap, walletRegistry.default, chainNamespaces]);
|
|
273
|
+
const customConnectorButtons = react.useMemo(() => {
|
|
274
|
+
return installedConnectorButtons.filter(button => !button.hasInjectedWallet);
|
|
275
|
+
}, [installedConnectorButtons]);
|
|
276
|
+
const topInstalledConnectorButtons = react.useMemo(() => {
|
|
277
|
+
const MAX_TOP_INSTALLED_CONNECTORS = 3;
|
|
278
|
+
// make metamask the first button and limit the number of buttons
|
|
279
|
+
return installedConnectorButtons.sort((a, _) => a.name === noModal.WALLET_CONNECTORS.METAMASK ? -1 : 1).slice(0, displayInstalledExternalWallets ? MAX_TOP_INSTALLED_CONNECTORS : 1);
|
|
280
|
+
}, [installedConnectorButtons, displayInstalledExternalWallets]);
|
|
281
|
+
const allButtons = react.useMemo(() => {
|
|
282
|
+
return [...generateWalletButtons(walletRegistry.default), ...generateWalletButtons(walletRegistry.others)];
|
|
283
|
+
}, [generateWalletButtons, walletRegistry.default, walletRegistry.others]);
|
|
284
|
+
const totalExternalWallets = react.useMemo(() => {
|
|
285
|
+
const uniqueWalletSet = new Set();
|
|
286
|
+
return allButtons.concat(installedConnectorButtons).filter(button => {
|
|
287
|
+
if (uniqueWalletSet.has(button.name)) return false;
|
|
288
|
+
uniqueWalletSet.add(button.name);
|
|
289
|
+
return true;
|
|
290
|
+
}).length;
|
|
291
|
+
}, [allButtons, installedConnectorButtons]);
|
|
292
|
+
const handleSocialLoginHeight = () => {
|
|
293
|
+
setIsSocialLoginsExpanded(prev => !prev);
|
|
294
|
+
};
|
|
295
|
+
const handleWalletDetailsHeight = () => {
|
|
296
|
+
setIsWalletDetailsExpanded(prev => !prev);
|
|
297
|
+
};
|
|
298
|
+
const containerMaxHeight = react.useMemo(() => {
|
|
299
|
+
const isPrivacyPolicyOrTncLink = privacyPolicy || tncLink;
|
|
300
|
+
const isEnableMainSocialLoginButton = enableMainSocialLoginButton;
|
|
301
|
+
// Loader Screen
|
|
302
|
+
if (modalState.status !== interfaces.MODAL_STATUS.INITIALIZED) {
|
|
303
|
+
return "642px";
|
|
304
|
+
}
|
|
305
|
+
// Wallet Details Screen
|
|
306
|
+
if (isWalletDetailsExpanded) {
|
|
307
|
+
return "588px";
|
|
308
|
+
}
|
|
309
|
+
// Connect Wallet Screen
|
|
310
|
+
if (modalState.currentPage === constants.PAGES.CONNECT_WALLET) {
|
|
311
|
+
return isPrivacyPolicyOrTncLink ? "640px" : "580px";
|
|
312
|
+
}
|
|
313
|
+
// Expanded Social Login Screen
|
|
314
|
+
if (isSocialLoginsExpanded) {
|
|
315
|
+
return isPrivacyPolicyOrTncLink ? "644px" : "588px";
|
|
316
|
+
}
|
|
317
|
+
// Only MetaMask
|
|
318
|
+
if (topInstalledConnectorButtons.length === 1) {
|
|
319
|
+
if (isPrivacyPolicyOrTncLink) {
|
|
320
|
+
return isEnableMainSocialLoginButton ? "600px" : "560px";
|
|
321
|
+
}
|
|
322
|
+
return isEnableMainSocialLoginButton ? "570px" : "530px";
|
|
323
|
+
}
|
|
324
|
+
// More than 1 connector
|
|
325
|
+
if (topInstalledConnectorButtons.length > 1) {
|
|
326
|
+
const maxHeight = 500 + (topInstalledConnectorButtons.length - 1) * 58;
|
|
327
|
+
if (isPrivacyPolicyOrTncLink) {
|
|
328
|
+
return `${maxHeight + (isEnableMainSocialLoginButton ? 120 : 60)}px`;
|
|
329
|
+
}
|
|
330
|
+
return `${maxHeight + (isEnableMainSocialLoginButton ? 66 : 16)}px`;
|
|
331
|
+
}
|
|
332
|
+
// Default
|
|
333
|
+
return "539px";
|
|
334
|
+
}, [isWalletDetailsExpanded, modalState.currentPage, isSocialLoginsExpanded, installedConnectorButtons, privacyPolicy, tncLink, enableMainSocialLoginButton, modalState.status]);
|
|
335
|
+
const contextValue = react.useMemo(() => ({
|
|
336
|
+
bodyState,
|
|
337
|
+
setBodyState,
|
|
338
|
+
toast,
|
|
339
|
+
setToast
|
|
340
|
+
}), [bodyState, setBodyState, toast, setToast]);
|
|
341
|
+
return jsxRuntime.jsx(RootContext.RootContext.Provider, {
|
|
342
|
+
value: contextValue,
|
|
343
|
+
children: jsxRuntime.jsxs("div", {
|
|
344
|
+
className: "w3a--relative w3a--flex w3a--flex-col",
|
|
345
|
+
children: [jsxRuntime.jsxs("div", {
|
|
346
|
+
className: "w3a--relative w3a--h-screen w3a--overflow-hidden w3a--transition-all w3a--duration-[400ms] w3a--ease-in-out",
|
|
347
|
+
style: {
|
|
348
|
+
maxHeight: containerMaxHeight
|
|
349
|
+
},
|
|
350
|
+
children: [jsxRuntime.jsx("div", {
|
|
351
|
+
className: "w3a--modal-curtain"
|
|
352
|
+
}), jsxRuntime.jsxs("div", {
|
|
353
|
+
className: "w3a--relative w3a--flex w3a--h-full w3a--flex-1 w3a--flex-col w3a--p-6",
|
|
354
|
+
children: [modalState.status !== interfaces.MODAL_STATUS.INITIALIZED ? jsxRuntime.jsx(Loader, {
|
|
355
|
+
connector: modalState.detailedLoaderConnector,
|
|
356
|
+
connectorName: modalState.detailedLoaderConnectorName,
|
|
357
|
+
modalStatus: modalState.status,
|
|
358
|
+
onClose: onCloseLoader,
|
|
359
|
+
appLogo: appLogo
|
|
360
|
+
}) : jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
361
|
+
children: [modalState.currentPage === constants.PAGES.LOGIN && showExternalWalletPage && modalState.status === interfaces.MODAL_STATUS.INITIALIZED && jsxRuntime.jsx(Login, {
|
|
362
|
+
web3authClientId: modalState.web3authClientId,
|
|
363
|
+
web3authNetwork: modalState.web3authNetwork,
|
|
364
|
+
isModalVisible: modalState.modalVisibility,
|
|
365
|
+
isDark: isDark,
|
|
366
|
+
appLogo: appLogo,
|
|
367
|
+
showPasswordLessInput: showPasswordLessInput,
|
|
368
|
+
showExternalWalletButton: showExternalWalletButton,
|
|
369
|
+
showExternalWalletCount: displayExternalWalletsCount,
|
|
370
|
+
showInstalledExternalWallets: displayInstalledExternalWallets,
|
|
371
|
+
socialLoginsConfig: socialLoginsConfig,
|
|
372
|
+
areSocialLoginsVisible: areSocialLoginsVisible,
|
|
373
|
+
isEmailPrimary: isEmailPrimary,
|
|
374
|
+
isExternalPrimary: isExternalPrimary,
|
|
375
|
+
installedExternalWalletConfig: topInstalledConnectorButtons,
|
|
376
|
+
isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
|
|
377
|
+
isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
|
|
378
|
+
totalExternalWallets: totalExternalWallets,
|
|
379
|
+
logoAlignment: logoAlignment,
|
|
380
|
+
buttonRadius: buttonRadiusType,
|
|
381
|
+
enableMainSocialLoginButton: enableMainSocialLoginButton,
|
|
382
|
+
handleSocialLoginClick: handleSocialLoginClick,
|
|
383
|
+
handleExternalWalletBtnClick: onExternalWalletBtnClick,
|
|
384
|
+
handleSocialLoginHeight: handleSocialLoginHeight,
|
|
385
|
+
handleExternalWalletClick: preHandleExternalWalletClick
|
|
386
|
+
}), modalState.currentPage === constants.PAGES.CONNECT_WALLET && !showExternalWalletPage && modalState.status === interfaces.MODAL_STATUS.INITIALIZED && jsxRuntime.jsx(ConnectWallet, {
|
|
387
|
+
isDark: isDark,
|
|
388
|
+
walletConnectUri: modalState.walletConnectUri,
|
|
389
|
+
config: modalState.externalWalletsConfig,
|
|
390
|
+
walletRegistry: walletRegistry,
|
|
391
|
+
allExternalButtons: allButtons,
|
|
392
|
+
connectorVisibilityMap: connectorVisibilityMap,
|
|
393
|
+
customConnectorButtons: customConnectorButtons,
|
|
394
|
+
deviceDetails: {
|
|
395
|
+
platform: deviceDetails.platform,
|
|
396
|
+
browser: deviceDetails.browser,
|
|
397
|
+
os: deviceDetails.os
|
|
398
|
+
},
|
|
399
|
+
chainNamespace: chainNamespaces,
|
|
400
|
+
buttonRadius: buttonRadiusType,
|
|
401
|
+
handleWalletDetailsHeight: handleWalletDetailsHeight,
|
|
402
|
+
onBackClick: onBackClick,
|
|
403
|
+
handleExternalWalletClick: preHandleExternalWalletClick
|
|
404
|
+
})]
|
|
405
|
+
}), jsxRuntime.jsx(Footer, {
|
|
406
|
+
privacyPolicy: privacyPolicy,
|
|
407
|
+
termsOfService: tncLink
|
|
408
|
+
}), bodyState.showMultiChainSelector && jsxRuntime.jsx(BottomSheet, {
|
|
409
|
+
uiConfig: uiConfig,
|
|
410
|
+
isShown: bodyState.showMultiChainSelector,
|
|
411
|
+
onClose: () => setBodyState({
|
|
412
|
+
showMultiChainSelector: false
|
|
413
|
+
}),
|
|
414
|
+
children: jsxRuntime.jsx(ConnectWalletChainNamespaceSelect, {
|
|
415
|
+
isDark: isDark,
|
|
416
|
+
wallet: bodyState.walletDetails,
|
|
417
|
+
handleExternalWalletClick: params => {
|
|
418
|
+
preHandleExternalWalletClick(params);
|
|
419
|
+
setBodyState({
|
|
420
|
+
showMultiChainSelector: false
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
})
|
|
424
|
+
}), bodyState.showWalletDetails && jsxRuntime.jsxs(BottomSheet, {
|
|
425
|
+
uiConfig: uiConfig,
|
|
426
|
+
isShown: bodyState.showWalletDetails,
|
|
427
|
+
onClose: () => setBodyState({
|
|
428
|
+
showWalletDetails: false
|
|
429
|
+
}),
|
|
430
|
+
children: [jsxRuntime.jsx("div", {
|
|
431
|
+
className: "w3a--my-4 w3a--flex w3a--justify-center",
|
|
432
|
+
children: jsxRuntime.jsx(Image, {
|
|
433
|
+
imageId: `login-${bodyState.walletDetails.name}`,
|
|
434
|
+
hoverImageId: `login-${bodyState.walletDetails.name}`,
|
|
435
|
+
fallbackImageId: "wallet",
|
|
436
|
+
height: "80",
|
|
437
|
+
width: "80",
|
|
438
|
+
isButton: true,
|
|
439
|
+
extension: bodyState.walletDetails.imgExtension
|
|
440
|
+
})
|
|
441
|
+
}), jsxRuntime.jsx("ul", {
|
|
442
|
+
className: "w3a--flex w3a--flex-col w3a--gap-y-2",
|
|
443
|
+
children: deviceDetails.platform === "desktop" ? desktopInstallLinks : mobileInstallLinks
|
|
444
|
+
})]
|
|
445
|
+
})]
|
|
446
|
+
})]
|
|
447
|
+
}), jsxRuntime.jsx(Toast, {})]
|
|
448
|
+
})
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
module.exports = Root;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var auth = require('@web3auth/auth');
|
|
5
|
+
var utils = require('../../utils.js');
|
|
6
|
+
var Button = require('../Button/Button.js');
|
|
7
|
+
var Button_type = require('../Button/Button.type.js');
|
|
8
|
+
var LoginHint = require('../LoginHint/LoginHint.js');
|
|
9
|
+
|
|
10
|
+
function getProviderIcon(method, isDark, extension) {
|
|
11
|
+
const imageId = method === auth.AUTH_CONNECTION.TWITTER ? `login-twitter-x${isDark ? "-light" : "-dark"}` : `login-${method}${isDark ? "-light" : "-dark"}`;
|
|
12
|
+
const hoverId = method === auth.AUTH_CONNECTION.APPLE || method === auth.AUTH_CONNECTION.GITHUB || method === auth.AUTH_CONNECTION.TWITTER ? imageId : `login-${method}-active`;
|
|
13
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
14
|
+
children: [jsxRuntime.jsx("img", {
|
|
15
|
+
id: "active-login-img",
|
|
16
|
+
src: `https://images.web3auth.io/${hoverId}${extension}`,
|
|
17
|
+
alt: "active-login-img",
|
|
18
|
+
className: "w3a--size-5 w3a--object-contain"
|
|
19
|
+
}), jsxRuntime.jsx("img", {
|
|
20
|
+
id: "login-img",
|
|
21
|
+
src: `https://images.web3auth.io/${imageId}${extension}`,
|
|
22
|
+
alt: "login-img",
|
|
23
|
+
className: "w3a--size-5 w3a--object-contain"
|
|
24
|
+
})]
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function SocialLoginList(props) {
|
|
28
|
+
const {
|
|
29
|
+
visibleRow,
|
|
30
|
+
otherRow,
|
|
31
|
+
isDark,
|
|
32
|
+
canShowMore,
|
|
33
|
+
handleSocialLoginClick,
|
|
34
|
+
handleExpandSocialLogins,
|
|
35
|
+
buttonRadius
|
|
36
|
+
} = props;
|
|
37
|
+
const getGridRowFromVisibleLogin = () => {
|
|
38
|
+
if (visibleRow.length === 1) {
|
|
39
|
+
return "w3a--grid-cols-1";
|
|
40
|
+
} else if (visibleRow.length === 2) {
|
|
41
|
+
return "w3a--grid-cols-2";
|
|
42
|
+
} else if (visibleRow.length === 3) {
|
|
43
|
+
return "w3a--grid-cols-3";
|
|
44
|
+
} else {
|
|
45
|
+
return "w3a--grid-cols-4";
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
if (visibleRow.length !== 0 && (otherRow === null || otherRow === void 0 ? void 0 : otherRow.length) === 0) {
|
|
49
|
+
var _visibleRow$;
|
|
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", {
|
|
53
|
+
className: "w3a--flex w3a--w-full w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-2",
|
|
54
|
+
children: [isMainOption && jsxRuntime.jsx(Button, {
|
|
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", {
|
|
72
|
+
className: utils.cn("w3a--grid w3a--w-full w3a--gap-x-2", getGridRowFromVisibleLogin()),
|
|
73
|
+
children: [rowsToShow.filter((_, index) => rowsToShow.length === 4 ? index <= 3 : index < 3).map(row => jsxRuntime.jsx(LoginHint, {
|
|
74
|
+
content: "Last Login",
|
|
75
|
+
isDark: isDark,
|
|
76
|
+
hideHint: true,
|
|
77
|
+
children: jsxRuntime.jsx(Button, {
|
|
78
|
+
type: Button_type.BUTTON_TYPE.SOCIAL,
|
|
79
|
+
props: {
|
|
80
|
+
showText: false,
|
|
81
|
+
method: row.method,
|
|
82
|
+
isDark,
|
|
83
|
+
isPrimaryBtn: false,
|
|
84
|
+
btnStyle: "w3a--flex w3a--items-center !w3a--justify-center w3a--w-full w3a--h-full w3a-arrow w3a-img-login-group",
|
|
85
|
+
children: jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
86
|
+
children: getProviderIcon(row.method, isDark, ".svg")
|
|
87
|
+
}),
|
|
88
|
+
onClick: () => handleSocialLoginClick({
|
|
89
|
+
connector: row.connector,
|
|
90
|
+
loginParams: row.loginParams
|
|
91
|
+
}),
|
|
92
|
+
buttonRadius
|
|
93
|
+
}
|
|
94
|
+
}, row.method)
|
|
95
|
+
}, row.method)), canShowMore && rowsToShow.length > 4 && jsxRuntime.jsx(Button, {
|
|
96
|
+
type: Button_type.BUTTON_TYPE.SOCIAL,
|
|
97
|
+
props: {
|
|
98
|
+
showIcon: false,
|
|
99
|
+
onClick: handleExpandSocialLogins,
|
|
100
|
+
children: jsxRuntime.jsx("img", {
|
|
101
|
+
src: utils.getIcons(isDark ? "dots-dark-horizontal" : "dots-light-horizontal"),
|
|
102
|
+
alt: "Logo",
|
|
103
|
+
className: "w3a--object-contain"
|
|
104
|
+
}),
|
|
105
|
+
buttonRadius
|
|
106
|
+
}
|
|
107
|
+
})]
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return jsxRuntime.jsxs("div", {
|
|
112
|
+
className: "w3a--flex w3a--w-full w3a--flex-col w3a--items-start w3a--justify-start w3a--gap-y-4",
|
|
113
|
+
children: [jsxRuntime.jsx("button", {
|
|
114
|
+
type: "button",
|
|
115
|
+
className: "w3a--appearance-none",
|
|
116
|
+
onClick: () => handleExpandSocialLogins(),
|
|
117
|
+
children: jsxRuntime.jsx("img", {
|
|
118
|
+
src: utils.getIcons(isDark ? "arrow-left-dark" : "arrow-left-light"),
|
|
119
|
+
alt: "Logo",
|
|
120
|
+
className: "w3a--object-contain"
|
|
121
|
+
})
|
|
122
|
+
}), 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--px-1",
|
|
124
|
+
children: otherRow.map(row => jsxRuntime.jsx("div", {
|
|
125
|
+
className: "w3a--h-[50px] w3a--w-full",
|
|
126
|
+
children: jsxRuntime.jsx(Button, {
|
|
127
|
+
type: Button_type.BUTTON_TYPE.SOCIAL,
|
|
128
|
+
props: {
|
|
129
|
+
method: row.method,
|
|
130
|
+
isDark,
|
|
131
|
+
isPrimaryBtn: false,
|
|
132
|
+
onClick: () => handleSocialLoginClick({
|
|
133
|
+
connector: row.connector,
|
|
134
|
+
loginParams: row.loginParams
|
|
135
|
+
}),
|
|
136
|
+
btnStyle: "w3a--flex w3a--items-center !w3a--justify-start w3a--w-full w3a--h-full w3a-arrow w3a-img-login-group",
|
|
137
|
+
buttonRadius,
|
|
138
|
+
children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
139
|
+
children: [getProviderIcon(row.method, isDark, ".svg"), jsxRuntime.jsx("p", {
|
|
140
|
+
className: "w3a--text-sm w3a--font-normal w3a--text-app-gray-900 dark:w3a--text-app-white",
|
|
141
|
+
children: row.name
|
|
142
|
+
}), jsxRuntime.jsx("img", {
|
|
143
|
+
id: "login-arrow",
|
|
144
|
+
className: "w3a--icon-animation w3a--ml-auto",
|
|
145
|
+
src: utils.getIcons(props.isDark ? "chevron-right-dark" : "chevron-right-light"),
|
|
146
|
+
alt: "arrow"
|
|
147
|
+
})]
|
|
148
|
+
})
|
|
149
|
+
}
|
|
150
|
+
})
|
|
151
|
+
}, row.method))
|
|
152
|
+
})]
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
module.exports = SocialLoginList;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var RootContext = require('../../context/RootContext.js');
|
|
6
|
+
var interfaces = require('../../interfaces.js');
|
|
7
|
+
|
|
8
|
+
const Toast = () => {
|
|
9
|
+
const {
|
|
10
|
+
toast,
|
|
11
|
+
setToast
|
|
12
|
+
} = react.useContext(RootContext.RootContext);
|
|
13
|
+
react.useEffect(() => {
|
|
14
|
+
if (toast.message) {
|
|
15
|
+
setTimeout(() => {
|
|
16
|
+
setToast({
|
|
17
|
+
message: "",
|
|
18
|
+
type: interfaces.TOAST_TYPE.SUCCESS
|
|
19
|
+
});
|
|
20
|
+
}, 3000);
|
|
21
|
+
}
|
|
22
|
+
}, [toast.message, setToast]);
|
|
23
|
+
if (!toast.message) return null;
|
|
24
|
+
const toastClass = {
|
|
25
|
+
success: "w3a--border-app-green-200 w3a--bg-app-green-100 w3a--text-app-green-900",
|
|
26
|
+
error: "w3a--border-app-red-200 w3a--bg-app-red-100 w3a--text-app-red-900",
|
|
27
|
+
warning: "w3a--border-app-yellow-200 w3a--bg-app-yellow-100 w3a--text-app-yellow-900",
|
|
28
|
+
info: "w3a--border-app-blue-200 w3a--bg-app-blue-100 w3a--text-app-blue-900"
|
|
29
|
+
};
|
|
30
|
+
const toastIconClass = {
|
|
31
|
+
success: "w3a--text-app-green-900",
|
|
32
|
+
error: "w3a--text-app-red-900",
|
|
33
|
+
warning: "w3a--text-app-yellow-900",
|
|
34
|
+
info: "w3a--text-app-blue-900"
|
|
35
|
+
};
|
|
36
|
+
return jsxRuntime.jsxs("div", {
|
|
37
|
+
className: `w3a--absolute w3a--inset-x-4 w3a--bottom-4 w3a--z-[60] w3a--mx-auto w3a--w-[90%] w3a--rounded-md w3a--border w3a--p-4 w3a--text-sm ${toastClass[toast.type]}`,
|
|
38
|
+
children: [jsxRuntime.jsx("div", {
|
|
39
|
+
className: "w3a--absolute w3a--right-4 w3a--top-4 w3a--z-10 w3a--cursor-pointer",
|
|
40
|
+
children: jsxRuntime.jsx("svg", {
|
|
41
|
+
width: "13",
|
|
42
|
+
height: "13",
|
|
43
|
+
viewBox: "0 0 13 13",
|
|
44
|
+
fill: "none",
|
|
45
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
46
|
+
onClick: () => setToast({
|
|
47
|
+
message: "",
|
|
48
|
+
type: interfaces.TOAST_TYPE.SUCCESS
|
|
49
|
+
}),
|
|
50
|
+
className: toastIconClass[toast.type],
|
|
51
|
+
children: jsxRuntime.jsx("path", {
|
|
52
|
+
fillRule: "evenodd",
|
|
53
|
+
clipRule: "evenodd",
|
|
54
|
+
d: "M0.292787 1.29299C0.480314 1.10552 0.734622 1.0002 0.999786 1.0002C1.26495 1.0002 1.51926 1.10552 1.70679 1.29299L5.99979 5.58599L10.2928 1.29299C10.385 1.19748 10.4954 1.1213 10.6174 1.06889C10.7394 1.01648 10.8706 0.988893 11.0034 0.987739C11.1362 0.986585 11.2678 1.01189 11.3907 1.06217C11.5136 1.11245 11.6253 1.1867 11.7192 1.28059C11.8131 1.37449 11.8873 1.48614 11.9376 1.60904C11.9879 1.73193 12.0132 1.86361 12.012 1.99639C12.0109 2.12917 11.9833 2.26039 11.9309 2.38239C11.8785 2.5044 11.8023 2.61474 11.7068 2.70699L7.41379 6.99999L11.7068 11.293C11.8889 11.4816 11.9897 11.7342 11.9875 11.9964C11.9852 12.2586 11.88 12.5094 11.6946 12.6948C11.5092 12.8802 11.2584 12.9854 10.9962 12.9877C10.734 12.9899 10.4814 12.8891 10.2928 12.707L5.99979 8.41399L1.70679 12.707C1.51818 12.8891 1.26558 12.9899 1.00339 12.9877C0.741188 12.9854 0.490376 12.8802 0.304968 12.6948C0.11956 12.5094 0.0143906 12.2586 0.0121121 11.9964C0.00983372 11.7342 0.110629 11.4816 0.292787 11.293L4.58579 6.99999L0.292787 2.70699C0.105316 2.51946 0 2.26515 0 1.99999C0 1.73483 0.105316 1.48052 0.292787 1.29299V1.29299Z",
|
|
55
|
+
fill: "currentColor"
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
}), jsxRuntime.jsxs("div", {
|
|
59
|
+
className: "w3a--flex w3a--items-center w3a--gap-2",
|
|
60
|
+
children: [jsxRuntime.jsx("p", {
|
|
61
|
+
className: toastIconClass[toast.type],
|
|
62
|
+
children: "x"
|
|
63
|
+
}), jsxRuntime.jsx("p", {
|
|
64
|
+
children: toast.message
|
|
65
|
+
})]
|
|
66
|
+
})]
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
module.exports = Toast;
|