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