@web3auth/modal 10.0.0-beta.0 → 10.0.0-beta.11

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