@web3auth/modal 10.14.1 → 11.0.0-beta.0

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 (313) 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/config.js +1 -1
  3. package/dist/lib.cjs/packages/modal/src/modalManager.js +71 -35
  4. package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +4 -2
  5. package/dist/lib.cjs/packages/modal/src/react/context/WalletServicesInnerContext.js +3 -56
  6. package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +15 -152
  7. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +1 -22
  8. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +30 -43
  9. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthInner.js +8 -4
  10. package/dist/lib.cjs/packages/modal/src/react/index.js +57 -28
  11. package/dist/lib.cjs/packages/modal/src/react/solana/index.js +21 -8
  12. package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +13 -11
  13. package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +2 -5
  14. package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.js +4 -2
  15. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +1 -2
  16. package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +2 -2
  17. package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +117 -29
  18. package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +1 -0
  19. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +1 -3
  20. package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.css.js +6 -0
  21. package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +30 -0
  22. package/dist/lib.cjs/packages/modal/src/ui/components/Toast/Toast.js +1 -1
  23. package/dist/lib.cjs/packages/modal/src/ui/constants.js +5 -2
  24. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWallet.js +63 -26
  25. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +13 -4
  26. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +1 -1
  27. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.js +25 -17
  28. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +5 -3
  29. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +8 -2
  30. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Embed/Embed.js +1 -0
  31. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/Login.js +50 -39
  32. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/LoginOtp/LoginOtp.js +1 -1
  33. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.js +1 -1
  34. package/dist/lib.cjs/packages/modal/src/ui/containers/Root/Root.js +235 -0
  35. package/dist/lib.cjs/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +185 -0
  36. package/dist/lib.cjs/packages/modal/src/ui/containers/Widget/Widget.js +106 -0
  37. package/dist/lib.cjs/packages/modal/src/ui/context/ModalStateContext.js +157 -0
  38. package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +64 -21
  39. package/dist/lib.cjs/packages/modal/src/ui/context/WidgetContext.js +52 -0
  40. package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -3
  41. package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +2 -1
  42. package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +76 -45
  43. package/dist/lib.cjs/packages/modal/src/vue/WalletServicesInnerProvider.js +2 -50
  44. package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +7 -170
  45. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +31 -33
  46. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthInner.js +2 -5
  47. package/dist/lib.cjs/packages/modal/src/vue/index.js +57 -28
  48. package/dist/lib.cjs/packages/modal/src/vue/solana/index.js +29 -8
  49. package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +15 -14
  50. package/dist/lib.cjs/packages/modal/src/x402/index.js +12 -0
  51. package/dist/lib.cjs/packages/modal/src/x402/react.js +26 -0
  52. package/dist/lib.cjs/packages/modal/src/x402/vue.js +18 -0
  53. package/dist/lib.cjs/types/interface.d.ts +2 -2
  54. package/dist/lib.cjs/types/modalManager.d.ts +7 -3
  55. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +12 -5
  56. package/dist/lib.cjs/types/react/context/Web3AuthInnerContext.d.ts +4 -3
  57. package/dist/lib.cjs/types/react/hooks/index.d.ts +15 -14
  58. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  59. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +3 -3
  60. package/dist/lib.cjs/types/react/interfaces.d.ts +3 -2
  61. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +5 -4
  62. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  63. package/dist/lib.cjs/types/react/solana/provider.d.ts +1 -0
  64. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.d.ts +1 -1
  65. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.type.d.ts +4 -3
  66. package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.type.d.ts +1 -0
  67. package/dist/lib.cjs/types/ui/components/Loader/Loader.type.d.ts +7 -5
  68. package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.type.d.ts +2 -1
  69. package/dist/lib.cjs/types/ui/components/SpinnerLoader/SpinnerLoader.d.ts +4 -0
  70. package/dist/lib.cjs/types/ui/components/SpinnerLoader/SpinnerLoader.type.d.ts +9 -0
  71. package/dist/lib.cjs/types/ui/components/SpinnerLoader/index.d.ts +2 -0
  72. package/dist/lib.cjs/types/ui/constants.d.ts +7 -4
  73. package/dist/lib.cjs/types/ui/containers/ConnectWallet/ConnectWallet.type.d.ts +7 -0
  74. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.type.d.ts +0 -2
  75. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.type.d.ts +3 -9
  76. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.type.d.ts +0 -2
  77. package/dist/lib.cjs/types/ui/containers/Login/Login.type.d.ts +6 -0
  78. package/dist/lib.cjs/types/ui/containers/Root/Root.type.d.ts +3 -0
  79. package/dist/lib.cjs/types/ui/containers/Root/RootBodySheets/RootBodySheets.d.ts +1 -0
  80. package/dist/lib.cjs/types/ui/containers/Widget/Widget.type.d.ts +5 -0
  81. package/dist/lib.cjs/types/ui/context/ModalStateContext.d.ts +28 -0
  82. package/dist/lib.cjs/types/ui/context/RootContext.d.ts +19 -7
  83. package/dist/lib.cjs/types/ui/context/WidgetContext.d.ts +45 -0
  84. package/dist/lib.cjs/types/ui/interfaces.d.ts +18 -15
  85. package/dist/lib.cjs/types/ui/loginModal.d.ts +6 -4
  86. package/dist/lib.cjs/types/vue/composables/index.d.ts +2 -14
  87. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  88. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +3 -3
  89. package/dist/lib.cjs/types/vue/interfaces.d.ts +3 -17
  90. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +3 -4
  91. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +1 -0
  92. package/dist/lib.cjs/types/vue/solana/constants.d.ts +1 -0
  93. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  94. package/dist/lib.cjs/types/vue/solana/provider.d.ts +1 -0
  95. package/dist/lib.cjs/types/x402/index.d.ts +1 -0
  96. package/dist/lib.cjs/types/x402/react.d.ts +2 -0
  97. package/dist/lib.cjs/types/x402/vue.d.ts +2 -0
  98. package/dist/lib.esm/node_modules/style-inject/dist/style-inject.es.js +1 -1
  99. package/dist/lib.esm/packages/modal/src/config.js +1 -1
  100. package/dist/lib.esm/packages/modal/src/modalManager.js +72 -36
  101. package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +4 -2
  102. package/dist/lib.esm/packages/modal/src/react/context/WalletServicesInnerContext.js +4 -57
  103. package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +12 -151
  104. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3Auth.js +1 -22
  105. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +28 -41
  106. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthInner.js +7 -3
  107. package/dist/lib.esm/packages/modal/src/react/index.js +1 -14
  108. package/dist/lib.esm/packages/modal/src/react/solana/index.js +1 -4
  109. package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +12 -10
  110. package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +2 -5
  111. package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.js +4 -2
  112. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +2 -3
  113. package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +3 -3
  114. package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +118 -30
  115. package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +1 -0
  116. package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +2 -4
  117. package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.css.js +4 -0
  118. package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +28 -0
  119. package/dist/lib.esm/packages/modal/src/ui/components/Toast/Toast.js +3 -3
  120. package/dist/lib.esm/packages/modal/src/ui/constants.js +5 -2
  121. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWallet.js +67 -29
  122. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +14 -5
  123. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +1 -1
  124. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.js +25 -17
  125. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +7 -5
  126. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +8 -2
  127. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Embed/Embed.js +1 -0
  128. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/Login.js +53 -41
  129. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/LoginOtp/LoginOtp.js +1 -1
  130. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.js +2 -2
  131. package/dist/lib.esm/packages/modal/src/ui/containers/Root/Root.js +238 -0
  132. package/dist/lib.esm/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +183 -0
  133. package/dist/lib.esm/packages/modal/src/ui/containers/Widget/Widget.js +104 -0
  134. package/dist/lib.esm/packages/modal/src/ui/context/ModalStateContext.js +160 -0
  135. package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +60 -22
  136. package/dist/lib.esm/packages/modal/src/ui/context/WidgetContext.js +49 -0
  137. package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -3
  138. package/dist/lib.esm/packages/modal/src/ui/interfaces.js +2 -1
  139. package/dist/lib.esm/packages/modal/src/ui/loginModal.js +76 -45
  140. package/dist/lib.esm/packages/modal/src/vue/WalletServicesInnerProvider.js +5 -54
  141. package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +9 -176
  142. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +28 -30
  143. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthInner.js +2 -5
  144. package/dist/lib.esm/packages/modal/src/vue/index.js +1 -14
  145. package/dist/lib.esm/packages/modal/src/vue/solana/index.js +1 -4
  146. package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +10 -9
  147. package/dist/lib.esm/packages/modal/src/x402/index.js +1 -0
  148. package/dist/lib.esm/packages/modal/src/x402/react.js +1 -0
  149. package/dist/lib.esm/packages/modal/src/x402/vue.js +1 -0
  150. package/package.json +68 -44
  151. package/dist/lib.cjs/packages/modal/src/providers/ethereum-mpc-provider/index.js +0 -12
  152. package/dist/lib.cjs/packages/modal/src/react/hooks/useChain.js +0 -16
  153. package/dist/lib.cjs/packages/modal/src/react/hooks/useCheckout.js +0 -34
  154. package/dist/lib.cjs/packages/modal/src/react/hooks/useEnableMFA.js +0 -30
  155. package/dist/lib.cjs/packages/modal/src/react/hooks/useFunding.js +0 -34
  156. package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +0 -46
  157. package/dist/lib.cjs/packages/modal/src/react/hooks/useManageMFA.js +0 -30
  158. package/dist/lib.cjs/packages/modal/src/react/hooks/useReceive.js +0 -34
  159. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwap.js +0 -34
  160. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwitchChain.js +0 -32
  161. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletConnectScanner.js +0 -34
  162. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletServicesPlugin.js +0 -13
  163. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletUI.js +0 -34
  164. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +0 -30
  165. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthUser.js +0 -50
  166. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +0 -36
  167. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignMessage.js +0 -37
  168. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignTransaction.js +0 -36
  169. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +0 -68
  170. package/dist/lib.cjs/packages/modal/src/ui/components/CircularLoader/CircularLoader.js +0 -88
  171. package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +0 -513
  172. package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +0 -251
  173. package/dist/lib.cjs/packages/modal/src/ui/context/ThemeContext.js +0 -9
  174. package/dist/lib.cjs/packages/modal/src/vue/composables/useChain.js +0 -13
  175. package/dist/lib.cjs/packages/modal/src/vue/composables/useCheckout.js +0 -35
  176. package/dist/lib.cjs/packages/modal/src/vue/composables/useEnableMFA.js +0 -33
  177. package/dist/lib.cjs/packages/modal/src/vue/composables/useFunding.js +0 -35
  178. package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +0 -51
  179. package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +0 -33
  180. package/dist/lib.cjs/packages/modal/src/vue/composables/useReceive.js +0 -35
  181. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwap.js +0 -35
  182. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwitchChain.js +0 -33
  183. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletConnectScanner.js +0 -35
  184. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletServicesPlugin.js +0 -13
  185. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletUI.js +0 -35
  186. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +0 -33
  187. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthUser.js +0 -54
  188. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +0 -37
  189. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignMessage.js +0 -39
  190. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignTransaction.js +0 -37
  191. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +0 -67
  192. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  193. package/dist/lib.cjs/types/react/hooks/useChain.d.ts +0 -6
  194. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +0 -8
  195. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +0 -7
  196. package/dist/lib.cjs/types/react/hooks/useFunding.d.ts +0 -8
  197. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +0 -13
  198. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +0 -7
  199. package/dist/lib.cjs/types/react/hooks/useReceive.d.ts +0 -8
  200. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +0 -8
  201. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +0 -7
  202. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +0 -8
  203. package/dist/lib.cjs/types/react/hooks/useWalletServicesPlugin.d.ts +0 -2
  204. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +0 -8
  205. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +0 -9
  206. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +0 -9
  207. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +0 -8
  208. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +0 -8
  209. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +0 -13
  210. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +0 -8
  211. package/dist/lib.cjs/types/ui/components/CircularLoader/CircularLoader.d.ts +0 -3
  212. package/dist/lib.cjs/types/ui/components/CircularLoader/CircularLoader.type.d.ts +0 -19
  213. package/dist/lib.cjs/types/ui/components/CircularLoader/index.d.ts +0 -2
  214. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +0 -27
  215. package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +0 -35
  216. package/dist/lib.cjs/types/ui/components/Root/Root.type.d.ts +0 -36
  217. package/dist/lib.cjs/types/ui/components/Widget/Widget.type.d.ts +0 -24
  218. package/dist/lib.cjs/types/ui/context/ThemeContext.d.ts +0 -3
  219. package/dist/lib.cjs/types/vue/composables/useChain.d.ts +0 -7
  220. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +0 -9
  221. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +0 -8
  222. package/dist/lib.cjs/types/vue/composables/useFunding.d.ts +0 -9
  223. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +0 -9
  224. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +0 -8
  225. package/dist/lib.cjs/types/vue/composables/useReceive.d.ts +0 -9
  226. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +0 -9
  227. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +0 -10
  228. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +0 -9
  229. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +0 -2
  230. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +0 -9
  231. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +0 -10
  232. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +0 -10
  233. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +0 -9
  234. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +0 -9
  235. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +0 -9
  236. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +0 -9
  237. package/dist/lib.esm/packages/modal/src/providers/ethereum-mpc-provider/index.js +0 -1
  238. package/dist/lib.esm/packages/modal/src/react/hooks/useChain.js +0 -14
  239. package/dist/lib.esm/packages/modal/src/react/hooks/useCheckout.js +0 -32
  240. package/dist/lib.esm/packages/modal/src/react/hooks/useEnableMFA.js +0 -28
  241. package/dist/lib.esm/packages/modal/src/react/hooks/useFunding.js +0 -32
  242. package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +0 -44
  243. package/dist/lib.esm/packages/modal/src/react/hooks/useManageMFA.js +0 -28
  244. package/dist/lib.esm/packages/modal/src/react/hooks/useReceive.js +0 -32
  245. package/dist/lib.esm/packages/modal/src/react/hooks/useSwap.js +0 -32
  246. package/dist/lib.esm/packages/modal/src/react/hooks/useSwitchChain.js +0 -30
  247. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletConnectScanner.js +0 -32
  248. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletServicesPlugin.js +0 -11
  249. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletUI.js +0 -32
  250. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +0 -28
  251. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthUser.js +0 -48
  252. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +0 -34
  253. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignMessage.js +0 -35
  254. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignTransaction.js +0 -34
  255. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +0 -64
  256. package/dist/lib.esm/packages/modal/src/ui/components/CircularLoader/CircularLoader.js +0 -86
  257. package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +0 -524
  258. package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +0 -253
  259. package/dist/lib.esm/packages/modal/src/ui/context/ThemeContext.js +0 -7
  260. package/dist/lib.esm/packages/modal/src/vue/composables/useChain.js +0 -11
  261. package/dist/lib.esm/packages/modal/src/vue/composables/useCheckout.js +0 -33
  262. package/dist/lib.esm/packages/modal/src/vue/composables/useEnableMFA.js +0 -31
  263. package/dist/lib.esm/packages/modal/src/vue/composables/useFunding.js +0 -33
  264. package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +0 -49
  265. package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +0 -31
  266. package/dist/lib.esm/packages/modal/src/vue/composables/useReceive.js +0 -33
  267. package/dist/lib.esm/packages/modal/src/vue/composables/useSwap.js +0 -33
  268. package/dist/lib.esm/packages/modal/src/vue/composables/useSwitchChain.js +0 -31
  269. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletConnectScanner.js +0 -33
  270. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletServicesPlugin.js +0 -11
  271. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletUI.js +0 -33
  272. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +0 -31
  273. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthUser.js +0 -52
  274. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +0 -35
  275. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignMessage.js +0 -37
  276. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignTransaction.js +0 -35
  277. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +0 -65
  278. package/dist/modal.umd.min.js +0 -2
  279. package/dist/modal.umd.min.js.LICENSE.txt +0 -106
  280. /package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +0 -0
  281. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWallet.d.ts +0 -0
  282. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.d.ts +0 -0
  283. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/index.d.ts +0 -0
  284. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.d.ts +0 -0
  285. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.type.d.ts +0 -0
  286. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/index.d.ts +0 -0
  287. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.d.ts +0 -0
  288. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.type.d.ts +0 -0
  289. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/index.d.ts +0 -0
  290. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.d.ts +0 -0
  291. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/index.d.ts +0 -0
  292. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.d.ts +0 -0
  293. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +0 -0
  294. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/index.d.ts +0 -0
  295. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.d.ts +0 -0
  296. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/index.d.ts +0 -0
  297. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/index.d.ts +0 -0
  298. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/Embed.d.ts +0 -0
  299. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/Embed.type.d.ts +0 -0
  300. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/index.d.ts +0 -0
  301. /package/dist/lib.cjs/types/ui/{components → containers}/Login/Login.d.ts +0 -0
  302. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/LoginOtp.d.ts +0 -0
  303. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/LoginOtp.type.d.ts +0 -0
  304. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/index.d.ts +0 -0
  305. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.d.ts +0 -0
  306. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.type.d.ts +0 -0
  307. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/index.d.ts +0 -0
  308. /package/dist/lib.cjs/types/ui/{components → containers}/Login/index.d.ts +0 -0
  309. /package/dist/lib.cjs/types/ui/{components → containers}/Root/Root.d.ts +0 -0
  310. /package/dist/lib.cjs/types/ui/{components → containers}/Root/index.d.ts +0 -0
  311. /package/dist/lib.cjs/types/ui/{components → containers}/Widget/Widget.d.ts +0 -0
  312. /package/dist/lib.cjs/types/ui/{components → containers}/Widget/index.d.ts +0 -0
  313. /package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +0 -0
@@ -1,10 +1,9 @@
1
- import { useMemo, useEffect } from 'react';
1
+ import { useMemo, useEffect, useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { MODAL_STATUS } from '../../interfaces.js';
4
4
  import i18nInstance from '../../localeImport.js';
5
- import CircularLoader from '../CircularLoader/CircularLoader.js';
6
5
  import Image from '../Image/Image.js';
7
- import PulseLoader from '../PulseLoader/PulseLoader.js';
6
+ import SpinnerLoader from '../SpinnerLoader/SpinnerLoader.js';
8
7
  import { jsxs, jsx } from 'react/jsx-runtime';
9
8
 
10
9
  /**
@@ -18,7 +17,6 @@ function ConnectingStatus(props) {
18
17
  });
19
18
  const {
20
19
  connector,
21
- appLogo,
22
20
  connectorName
23
21
  } = props;
24
22
  const providerIcon = useMemo(() => connector === "twitter" ? /*#__PURE__*/jsx(Image, {
@@ -30,16 +28,10 @@ function ConnectingStatus(props) {
30
28
  }), [connector]);
31
29
  return /*#__PURE__*/jsxs("div", {
32
30
  className: "w3a--flex w3a--h-full w3a--flex-1 w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-4",
33
- children: [/*#__PURE__*/jsxs("div", {
34
- className: "w3a--flex w3a--items-center w3a--justify-center w3a--gap-x-6",
35
- children: [/*#__PURE__*/jsx("figure", {
36
- className: "w3a--flex w3a--size-10 w3a--items-center w3a--justify-center w3a--overflow-hidden",
37
- children: /*#__PURE__*/jsx("img", {
38
- src: appLogo,
39
- alt: "",
40
- className: "w3a--size-full w3a--object-contain"
41
- })
42
- }), /*#__PURE__*/jsx(PulseLoader, {}), providerIcon]
31
+ children: [/*#__PURE__*/jsx(SpinnerLoader, {
32
+ width: 95,
33
+ height: 95,
34
+ children: providerIcon
43
35
  }), /*#__PURE__*/jsxs("div", {
44
36
  className: "w3a--flex w3a--flex-col w3a--gap-y-1",
45
37
  children: [/*#__PURE__*/jsx("div", {
@@ -115,18 +107,15 @@ function ErroredStatus(props) {
115
107
  });
116
108
  }
117
109
  function AuthorizingStatus(props) {
118
- var _walletRegistry$defau, _walletRegistry$other;
110
+ var _externalWalletsConfi;
119
111
  const [t] = useTranslation(undefined, {
120
112
  i18n: i18nInstance
121
113
  });
122
114
  const {
123
115
  connector,
124
116
  externalWalletsConfig,
125
- walletRegistry,
126
117
  handleMobileVerifyConnect
127
118
  } = props;
128
- const registryItem = (walletRegistry === null || walletRegistry === void 0 || (_walletRegistry$defau = walletRegistry.default) === null || _walletRegistry$defau === void 0 ? void 0 : _walletRegistry$defau[connector]) || (walletRegistry === null || walletRegistry === void 0 || (_walletRegistry$other = walletRegistry.others) === null || _walletRegistry$other === void 0 ? void 0 : _walletRegistry$other[connector]);
129
- const primaryColor = (registryItem === null || registryItem === void 0 ? void 0 : registryItem.primaryColor) || "";
130
119
  const handleMobileVerifyConnectClick = () => {
131
120
  handleMobileVerifyConnect({
132
121
  connector: connector
@@ -137,16 +126,13 @@ function AuthorizingStatus(props) {
137
126
  children: [/*#__PURE__*/jsx("p", {
138
127
  className: "w3a--p-2 w3a--text-center w3a--text-base w3a--font-semibold w3a--text-app-gray-900 dark:w3a--text-app-white",
139
128
  children: t("modal.loader.authorizing-header", {
140
- connector: externalWalletsConfig[connector].label
129
+ connector: (_externalWalletsConfi = externalWalletsConfig[connector]) === null || _externalWalletsConfi === void 0 ? void 0 : _externalWalletsConfi.label
141
130
  })
142
131
  }), /*#__PURE__*/jsx("div", {
143
132
  className: "w3a--flex w3a--justify-center",
144
- children: /*#__PURE__*/jsx(CircularLoader, {
133
+ children: /*#__PURE__*/jsx(SpinnerLoader, {
145
134
  width: 95,
146
135
  height: 95,
147
- thickness: 6,
148
- arcSizeDeg: 100,
149
- arcColors: primaryColor ? [primaryColor, primaryColor] : undefined,
150
136
  children: /*#__PURE__*/jsx(Image, {
151
137
  imageId: `login-${connector}`,
152
138
  hoverImageId: `login-${connector}`,
@@ -164,6 +150,102 @@ function AuthorizingStatus(props) {
164
150
  })]
165
151
  });
166
152
  }
153
+ function ConsentRequiredStatus(props) {
154
+ const {
155
+ onAccept,
156
+ onDecline,
157
+ privacyPolicy,
158
+ tncLink
159
+ } = props;
160
+ const [t] = useTranslation(undefined, {
161
+ i18n: i18nInstance
162
+ });
163
+ const [isSubmitting, setIsSubmitting] = useState(false);
164
+ const handleAccept = async () => {
165
+ setIsSubmitting(true);
166
+ try {
167
+ await (onAccept === null || onAccept === void 0 ? void 0 : onAccept());
168
+ } finally {
169
+ setIsSubmitting(false);
170
+ }
171
+ };
172
+ const handleDecline = async () => {
173
+ setIsSubmitting(true);
174
+ try {
175
+ await (onDecline === null || onDecline === void 0 ? void 0 : onDecline());
176
+ } finally {
177
+ setIsSubmitting(false);
178
+ }
179
+ };
180
+ return /*#__PURE__*/jsxs("div", {
181
+ className: "w3a--flex w3a--w-full w3a--flex-col w3a--items-center w3a--gap-y-6 w3a--mt-8",
182
+ children: [/*#__PURE__*/jsx("div", {
183
+ className: "w3a--flex w3a--items-center w3a--justify-center w3a--p-3 w3a--bg-app-gray-100 dark:w3a--bg-app-gray-800 w3a--rounded-full w3a--text-app-gray-600 dark:w3a--text-app-white",
184
+ children: /*#__PURE__*/jsx("svg", {
185
+ xmlns: "http://www.w3.org/2000/svg",
186
+ fill: "none",
187
+ viewBox: "0 0 24 24",
188
+ className: "w3a--size-10",
189
+ children: /*#__PURE__*/jsx("path", {
190
+ stroke: "currentColor",
191
+ strokeLinecap: "round",
192
+ strokeLinejoin: "round",
193
+ strokeWidth: "2",
194
+ d: "M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2"
195
+ })
196
+ })
197
+ }), /*#__PURE__*/jsx("div", {
198
+ className: "w3a--w-full w3a--px-8 w3a--text-center w3a--text-app-gray-900 dark:w3a--text-app-white",
199
+ children: t("modal.consent.description", {
200
+ defaultValue: "To proceed, please accept the terms and privacy policy"
201
+ })
202
+ }), (tncLink || privacyPolicy) && /*#__PURE__*/jsxs("div", {
203
+ className: "w3a--flex w3a--w-full w3a--flex-col w3a--gap-y-2",
204
+ children: [tncLink && /*#__PURE__*/jsx("a", {
205
+ href: tncLink,
206
+ target: "_blank",
207
+ rel: "noopener noreferrer",
208
+ className: "w3a--btn !w3a--text-sm w3a--font-light !w3a--justify-start w3a--rounded-full w3a--border-app-gray-50 w3a--bg-app-gray-50 w3a--p-3 w3a--text-left w3a--text-app-gray-700 hover:w3a--border-app-gray-200 hover:w3a--bg-app-gray-200 hover:w3a--text-app-gray-900 dark:w3a--border-app-gray-800 dark:w3a--bg-app-gray-800 dark:w3a--text-app-white dark:hover:w3a--border-app-gray-600 dark:hover:w3a--bg-app-gray-600",
209
+ children: t("modal.consent.tnc", {
210
+ defaultValue: "Terms of service"
211
+ })
212
+ }), privacyPolicy && /*#__PURE__*/jsx("a", {
213
+ href: privacyPolicy,
214
+ target: "_blank",
215
+ rel: "noopener noreferrer",
216
+ className: "w3a--btn !w3a--text-sm w3a--font-light !w3a--justify-start w3a--rounded-full w3a--border-app-gray-50 w3a--bg-app-gray-50 w3a--p-3 w3a--text-left w3a--text-app-gray-700 hover:w3a--border-app-gray-200 hover:w3a--bg-app-gray-200 hover:w3a--text-app-gray-900 dark:w3a--border-app-gray-800 dark:w3a--bg-app-gray-800 dark:w3a--text-app-white dark:hover:w3a--border-app-gray-600 dark:hover:w3a--bg-app-gray-600",
217
+ children: t("modal.consent.privacy", {
218
+ defaultValue: "Privacy Policy"
219
+ })
220
+ })]
221
+ }), /*#__PURE__*/jsxs("div", {
222
+ className: "w3a--flex w3a--w-full w3a--gap-x-2",
223
+ children: [/*#__PURE__*/jsx("button", {
224
+ type: "button",
225
+ disabled: isSubmitting,
226
+ onClick: handleDecline,
227
+ className: "w3a--btn w3a--rounded-full disabled:w3a--opacity-60",
228
+ children: /*#__PURE__*/jsx("p", {
229
+ className: "w3a--text-app-gray-900 dark:w3a--text-app-white",
230
+ children: t("modal.consent.decline", {
231
+ defaultValue: "Decline"
232
+ })
233
+ })
234
+ }), /*#__PURE__*/jsx("button", {
235
+ type: "button",
236
+ disabled: isSubmitting,
237
+ onClick: handleAccept,
238
+ className: "w3a--btn w3a--rounded-full w3a--border-app-primary-600 w3a--bg-app-primary-600 hover:w3a--border-app-primary-700 hover:w3a--bg-app-primary-700 disabled:w3a--opacity-60 dark:w3a--border-app-primary-600 dark:w3a--bg-app-primary-600 dark:hover:w3a--border-app-primary-700 dark:hover:w3a--bg-app-primary-700",
239
+ children: /*#__PURE__*/jsx("p", {
240
+ className: "w3a--text-app-onPrimary",
241
+ children: t("modal.consent.accept", {
242
+ defaultValue: "Accept"
243
+ })
244
+ })
245
+ })]
246
+ })]
247
+ });
248
+ }
167
249
 
168
250
  /**
169
251
  * Loader component
@@ -176,13 +258,15 @@ function Loader(props) {
176
258
  connectorName,
177
259
  modalStatus,
178
260
  onClose,
179
- appLogo,
180
261
  message,
181
262
  isConnectAndSignAuthenticationMode,
182
263
  externalWalletsConfig,
183
- walletRegistry,
184
264
  handleMobileVerifyConnect,
185
- hideSuccessScreen = false
265
+ hideSuccessScreen = false,
266
+ onAcceptConsent,
267
+ onDeclineConsent,
268
+ privacyPolicy,
269
+ tncLink
186
270
  } = props;
187
271
  const isConnectedAccordingToAuthenticationMode = useMemo(() => !isConnectAndSignAuthenticationMode && modalStatus === MODAL_STATUS.CONNECTED || isConnectAndSignAuthenticationMode && modalStatus === MODAL_STATUS.AUTHORIZED, [modalStatus, isConnectAndSignAuthenticationMode]);
188
272
  useEffect(() => {
@@ -196,12 +280,12 @@ function Loader(props) {
196
280
  return () => clearTimeout(timeout);
197
281
  }
198
282
  }, [isConnectedAccordingToAuthenticationMode, hideSuccessScreen, onClose]);
283
+ const isConsentRequiringStatus = modalStatus === MODAL_STATUS.CONSENT_REQUIRING;
199
284
  return /*#__PURE__*/jsxs("div", {
200
- className: "w3a--flex w3a--h-full w3a--flex-1 w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-4",
285
+ className: isConsentRequiringStatus ? "w3a--flex w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-4" : "w3a--flex w3a--h-full w3a--flex-1 w3a--flex-col w3a--items-center w3a--justify-center w3a--gap-y-4",
201
286
  children: [modalStatus === MODAL_STATUS.CONNECTING && /*#__PURE__*/jsx(ConnectingStatus, {
202
287
  connector: connector,
203
- connectorName: connectorName,
204
- appLogo: appLogo
288
+ connectorName: connectorName
205
289
  }), isConnectedAccordingToAuthenticationMode && !hideSuccessScreen && /*#__PURE__*/jsx(ConnectedStatus, {
206
290
  message: message
207
291
  }), modalStatus === MODAL_STATUS.ERRORED && /*#__PURE__*/jsx(ErroredStatus, {
@@ -209,8 +293,12 @@ function Loader(props) {
209
293
  }), modalStatus === MODAL_STATUS.AUTHORIZING && /*#__PURE__*/jsx(AuthorizingStatus, {
210
294
  connector: connector,
211
295
  externalWalletsConfig: externalWalletsConfig,
212
- walletRegistry: walletRegistry,
213
296
  handleMobileVerifyConnect: handleMobileVerifyConnect
297
+ }), isConsentRequiringStatus && /*#__PURE__*/jsx(ConsentRequiredStatus, {
298
+ onAccept: onAcceptConsent,
299
+ onDecline: onDeclineConsent,
300
+ privacyPolicy: privacyPolicy,
301
+ tncLink: tncLink
214
302
  })]
215
303
  });
216
304
  }
@@ -28,6 +28,7 @@ function Modal(props) {
28
28
  setIsOpen(true);
29
29
  }, 50);
30
30
  } else {
31
+ // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional
31
32
  setIsOpen(false);
32
33
  // Remove overflow styling to enable scroll again.
33
34
  document.body.style.overflow = "";
@@ -1,5 +1,5 @@
1
1
  import { AUTH_CONNECTION } from '@web3auth/auth';
2
- import { cn, getIcons } from '../../utils.js';
2
+ import { getIcons, cn } from '../../utils.js';
3
3
  import Button from '../Button/Button.js';
4
4
  import { BUTTON_TYPE } from '../Button/Button.type.js';
5
5
  import LoginHint from '../LoginHint/LoginHint.js';
@@ -62,7 +62,6 @@ function SocialLoginList(props) {
62
62
  children: getProviderIcon(row.method, isDark, ".svg")
63
63
  }),
64
64
  onClick: () => handleSocialLoginClick({
65
- connector: row.connector,
66
65
  loginParams: row.loginParams
67
66
  }),
68
67
  buttonRadius
@@ -86,7 +85,6 @@ function SocialLoginList(props) {
86
85
  children: getProviderIcon(row.method, isDark, ".svg")
87
86
  }),
88
87
  onClick: () => handleSocialLoginClick({
89
- connector: row.connector,
90
88
  loginParams: row.loginParams
91
89
  }),
92
90
  buttonRadius
@@ -95,6 +93,7 @@ function SocialLoginList(props) {
95
93
  }, row.method)), canShowMore && visibleRow.length > 4 && /*#__PURE__*/jsx(Button, {
96
94
  type: BUTTON_TYPE.SOCIAL,
97
95
  props: {
96
+ isDark,
98
97
  showIcon: false,
99
98
  onClick: handleExpandSocialLogins,
100
99
  btnStyle: "w3a--flex w3a--items-center !w3a--justify-center w3a--w-full w3a--h-11",
@@ -131,7 +130,6 @@ function SocialLoginList(props) {
131
130
  isDark,
132
131
  isPrimaryBtn: false,
133
132
  onClick: () => handleSocialLoginClick({
134
- connector: row.connector,
135
133
  loginParams: row.loginParams
136
134
  }),
137
135
  btnStyle: "w3a--group w3a--relative w3a--overflow-hidden w3a--flex w3a--items-center !w3a--justify-start w3a--w-full w3a--h-11",
@@ -0,0 +1,4 @@
1
+ import styleInject from '../../../../../../node_modules/style-inject/dist/style-inject.es.js';
2
+
3
+ var css_248z = ".w3a-parent-container .w3a--spinner-loader{display:inline-flex;height:60px;position:relative;width:60px}.w3a-parent-container .w3a--spinner-loader-ring{--spinner-color:var(--app-gray-400);background-image:conic-gradient(from 0deg at 50% 50%,var(--spinner-color) 0,#e5e7ebcc 90deg,#e5e7ebcc 270deg,var(--spinner-color) 1turn);background-position:0 0;background-size:100% 100%;border-radius:100vw;display:inline-block;height:100%;-webkit-mask:radial-gradient(farthest-side,#000 98%,#0000) center/85% 85% no-repeat,linear-gradient(#000 0 0);-webkit-mask-composite:destination-out;mask:radial-gradient(farthest-side,#000 98%,#0000) center/85% 85% no-repeat,linear-gradient(#000 0 0);mask-composite:exclude;position:absolute;width:100%}.w3a-parent-container .w3a--dark .w3a--spinner-loader-ring{background-image:conic-gradient(from 0deg at 50% 50%,var(--spinner-color) 0,#e5e7eb33 90deg,#e5e7eb33 270deg,var(--spinner-color) 1turn)}.w3a-parent-container .w3a--spinner-loader-image{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}";
4
+ styleInject(css_248z);
@@ -0,0 +1,28 @@
1
+ import './SpinnerLoader.css.js';
2
+ import { cn } from '../../utils.js';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ const SpinnerLoader = props => {
6
+ const {
7
+ children,
8
+ classes,
9
+ width = 60,
10
+ height = 60,
11
+ className
12
+ } = props;
13
+ return /*#__PURE__*/jsxs("div", {
14
+ className: cn("w3a--spinner-loader", className),
15
+ style: {
16
+ width,
17
+ height
18
+ },
19
+ children: [/*#__PURE__*/jsx("div", {
20
+ className: cn("w3a--spinner-loader-ring w3a--animate-spin", classes === null || classes === void 0 ? void 0 : classes.spinner)
21
+ }), children && /*#__PURE__*/jsx("div", {
22
+ className: "w3a--spinner-loader-image",
23
+ children: children
24
+ })]
25
+ });
26
+ };
27
+
28
+ export { SpinnerLoader as default };
@@ -1,5 +1,5 @@
1
- import { useContext, useEffect } from 'react';
2
- import { RootContext } from '../../context/RootContext.js';
1
+ import { useEffect } from 'react';
2
+ import { useToast } from '../../context/RootContext.js';
3
3
  import { TOAST_TYPE } from '../../interfaces.js';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
@@ -7,7 +7,7 @@ const Toast = () => {
7
7
  const {
8
8
  toast,
9
9
  setToast
10
- } = useContext(RootContext);
10
+ } = useToast();
11
11
  useEffect(() => {
12
12
  if (toast.message) {
13
13
  setTimeout(() => {
@@ -1,8 +1,11 @@
1
1
  const PAGES = {
2
- LOGIN: "login",
3
- CONNECT_WALLET: "connect_wallet"};
2
+ /** Main login options: social logins and wallet button (e.g. MetaMask) */
3
+ LOGIN_OPTIONS: "login",
4
+ /** List of all available wallets to connect */
5
+ WALLET_LIST: "connect_wallet"};
4
6
  const CONNECT_WALLET_PAGES = {
5
7
  CONNECT_WALLET: "Connect Your Wallet",
8
+ /** Sub-page title when showing QR/instructions for selected wallet */
6
9
  SELECTED_WALLET: "Selected Wallet"
7
10
  };
8
11
  const DEFAULT_LOGO_LIGHT = "https://images.web3auth.io/web3auth-logo-w.svg"; // logo used on light mode
@@ -1,9 +1,11 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import { WALLET_CONNECTORS, ANALYTICS_EVENTS, log } from '@web3auth/no-modal';
3
- import { useContext, useState, useMemo, useEffect } from 'react';
4
- import { CONNECT_WALLET_PAGES } from '../../constants.js';
3
+ import { useContext, useState, useCallback, useMemo, useEffect } from 'react';
4
+ import { CONNECT_WALLET_PAGES, PAGES } from '../../constants.js';
5
5
  import { AnalyticsContext } from '../../context/AnalyticsContext.js';
6
- import { RootContext } from '../../context/RootContext.js';
6
+ import { useModalState } from '../../context/ModalStateContext.js';
7
+ import { useBodyState } from '../../context/RootContext.js';
8
+ import { useWidget } from '../../context/WidgetContext.js';
7
9
  import ConnectWalletChainFilter from './ConnectWalletChainFilter/ConnectWalletChainFilter.js';
8
10
  import ConnectWalletHeader from './ConnectWalletHeader/ConnectWalletHeader.js';
9
11
  import ConnectWalletList from './ConnectWalletList/ConnectWalletList.js';
@@ -12,32 +14,39 @@ import ConnectWalletSearch from './ConnectWalletSearch/ConnectWalletSearch.js';
12
14
  import { jsxs, jsx } from 'react/jsx-runtime';
13
15
 
14
16
  function ConnectWallet(props) {
15
- var _selectedButton$walle;
17
+ var _bodyState$installLin2, _bodyState$multiChain2, _selectedButton$walle;
16
18
  const {
17
- isDark,
18
- config,
19
- walletConnectUri,
20
- metamaskConnectUri,
21
- walletRegistry,
22
19
  allRegistryButtons,
23
20
  customConnectorButtons,
24
21
  connectorVisibilityMap,
25
- deviceDetails,
26
- buttonRadius = "pill",
27
- chainNamespace,
28
- isExternalWalletModeOnly,
29
- onBackClick,
30
- handleExternalWalletClick,
31
- handleWalletDetailsHeight,
32
- disableBackButton
22
+ isExternalWalletModeOnly
33
23
  } = props;
34
24
  const {
35
25
  bodyState,
36
26
  setBodyState
37
- } = useContext(RootContext);
27
+ } = useBodyState();
38
28
  const {
39
29
  analytics
40
30
  } = useContext(AnalyticsContext);
31
+ const {
32
+ deviceDetails,
33
+ isDark,
34
+ uiConfig
35
+ } = useWidget();
36
+ const {
37
+ walletRegistry
38
+ } = uiConfig;
39
+ const {
40
+ modalState,
41
+ setModalState,
42
+ handleShowExternalWallets,
43
+ preHandleExternalWalletClick: handleExternalWalletClick
44
+ } = useModalState();
45
+ const {
46
+ externalWalletsConfig: config,
47
+ walletConnectUri,
48
+ metamaskConnectUri
49
+ } = modalState;
41
50
  const [currentPage, setCurrentPage] = useState(CONNECT_WALLET_PAGES.CONNECT_WALLET);
42
51
  const [selectedWallet, setSelectedWallet] = useState(false);
43
52
  const [isLoading] = useState(false);
@@ -45,17 +54,36 @@ function ConnectWallet(props) {
45
54
  const [walletSearch, setWalletSearch] = useState("");
46
55
  const [selectedChain, setSelectedChain] = useState("all");
47
56
  const [isShowAllWallets, setIsShowAllWallets] = useState(false);
57
+ // Track if user came directly from Login page with a pre-selected wallet
58
+ const [isPreSelectedFromLogin, setIsPreSelectedFromLogin] = useState(false);
59
+ const onBackClick = useCallback(flag => {
60
+ setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
61
+ currentPage: PAGES.LOGIN_OPTIONS
62
+ }));
63
+ handleShowExternalWallets(flag);
64
+ }, [modalState, setModalState, handleShowExternalWallets]);
48
65
  const handleBack = () => {
49
66
  if (!selectedWallet && currentPage === CONNECT_WALLET_PAGES.CONNECT_WALLET && onBackClick) {
50
67
  onBackClick(false);
51
68
  return;
52
69
  }
53
70
  if (selectedWallet) {
71
+ // If user came from Login page with pre-selected wallet, go back to Login
72
+ if (isPreSelectedFromLogin && onBackClick) {
73
+ setSelectedWallet(false);
74
+ setIsPreSelectedFromLogin(false);
75
+ onBackClick(false);
76
+ return;
77
+ }
78
+ // Otherwise, go back to wallet list
54
79
  setCurrentPage(CONNECT_WALLET_PAGES.CONNECT_WALLET);
55
80
  setSelectedWallet(false);
56
- handleWalletDetailsHeight();
57
81
  }
58
82
  };
83
+ const disableBackButton = useMemo(() => {
84
+ var _bodyState$installLin, _bodyState$multiChain;
85
+ return ((_bodyState$installLin = bodyState.installLinks) === null || _bodyState$installLin === void 0 ? void 0 : _bodyState$installLin.show) || ((_bodyState$multiChain = bodyState.multiChainSelector) === null || _bodyState$multiChain === void 0 ? void 0 : _bodyState$multiChain.show);
86
+ }, [(_bodyState$installLin2 = bodyState.installLinks) === null || _bodyState$installLin2 === void 0 ? void 0 : _bodyState$installLin2.show, (_bodyState$multiChain2 = bodyState.multiChainSelector) === null || _bodyState$multiChain2 === void 0 ? void 0 : _bodyState$multiChain2.show]);
59
87
  const walletDiscoverySupported = useMemo(() => {
60
88
  const supported = walletRegistry && (Object.keys(walletRegistry.default || {}).length > 0 || Object.keys(walletRegistry.others || {}).length > 0);
61
89
  return supported;
@@ -140,12 +168,28 @@ function ConnectWallet(props) {
140
168
  // also resets everytime we search causing no. of wallets to change or select different chain
141
169
  useEffect(() => {
142
170
  if (walletDiscoverySupported && totalExternalWalletsCount <= 15) {
171
+ // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional
143
172
  setIsShowAllWallets(true);
144
173
  } else {
145
174
  setIsShowAllWallets(false);
146
175
  }
147
176
  }, [walletDiscoverySupported, selectedChain, totalExternalWalletsCount]);
148
177
 
178
+ // Handle pre-selected wallet from Login page (e.g., MetaMask QR code flow)
179
+ useEffect(() => {
180
+ if (bodyState.preSelectedWallet) {
181
+ // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional
182
+ setSelectedButton(bodyState.preSelectedWallet);
183
+ setSelectedWallet(true);
184
+ setCurrentPage(CONNECT_WALLET_PAGES.SELECTED_WALLET);
185
+ setIsPreSelectedFromLogin(true);
186
+ // Clear pre-selected wallet after handling
187
+ setBodyState(prev => _objectSpread(_objectSpread({}, prev), {}, {
188
+ preSelectedWallet: null
189
+ }));
190
+ }
191
+ }, [bodyState.preSelectedWallet, setBodyState]);
192
+
149
193
  /**
150
194
  * Wallet click logic
151
195
  * - For installed wallets
@@ -181,12 +225,11 @@ function ConnectWallet(props) {
181
225
  setSelectedButton(button);
182
226
  setSelectedWallet(true);
183
227
  setCurrentPage(CONNECT_WALLET_PAGES.SELECTED_WALLET);
184
- handleWalletDetailsHeight();
185
228
  return;
186
229
  }
187
230
 
188
231
  // show chain namespace selector if the button has multiple chain namespaces
189
- if (((_button$chainNamespac2 = button.chainNamespaces) === null || _button$chainNamespac2 === void 0 ? void 0 : _button$chainNamespac2.length) > 1) {
232
+ if (((_button$chainNamespac2 = button.chainNamespaces) === null || _button$chainNamespac2 === void 0 ? void 0 : _button$chainNamespac2.length) > 1 && button.name !== WALLET_CONNECTORS.METAMASK) {
190
233
  setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
191
234
  multiChainSelector: {
192
235
  show: true,
@@ -207,7 +250,6 @@ function ConnectWallet(props) {
207
250
  setSelectedButton(button);
208
251
  setSelectedWallet(true);
209
252
  setCurrentPage(CONNECT_WALLET_PAGES.SELECTED_WALLET);
210
- handleWalletDetailsHeight();
211
253
  } else {
212
254
  // otherwise, show install links
213
255
  setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
@@ -253,18 +295,16 @@ function ConnectWallet(props) {
253
295
  platform: deviceDetails.platform
254
296
  }) : /*#__PURE__*/jsxs("div", {
255
297
  className: "w3a--flex w3a--flex-col w3a--gap-y-2",
256
- children: [chainNamespace.length > 1 && /*#__PURE__*/jsx(ConnectWalletChainFilter, {
298
+ children: [/*#__PURE__*/jsx(ConnectWalletChainFilter, {
257
299
  isDark: isDark,
258
300
  isLoading: isLoading,
259
301
  selectedChain: selectedChain,
260
- setSelectedChain: handleChainFilterChange,
261
- chainNamespace: chainNamespace
302
+ setSelectedChain: handleChainFilterChange
262
303
  }), /*#__PURE__*/jsx(ConnectWalletSearch, {
263
304
  totalExternalWalletCount: totalExternalWalletsCount,
264
305
  isLoading: isLoading,
265
306
  walletSearch: walletSearch,
266
- handleWalletSearch: handleWalletSearch,
267
- buttonRadius: buttonRadius
307
+ handleWalletSearch: handleWalletSearch
268
308
  }), /*#__PURE__*/jsx(ConnectWalletList, {
269
309
  externalButtons: externalButtons,
270
310
  isLoading: isLoading,
@@ -273,9 +313,7 @@ function ConnectWallet(props) {
273
313
  handleWalletClick: handleWalletClick,
274
314
  handleMoreWallets: handleMoreWallets,
275
315
  isDark: isDark,
276
- deviceDetails: deviceDetails,
277
316
  walletConnectUri: walletConnectUri,
278
- buttonRadius: buttonRadius,
279
317
  isShowAllWallets: isShowAllWallets
280
318
  })]
281
319
  })]
@@ -1,8 +1,9 @@
1
1
  import { CHAIN_NAMESPACES } from '@web3auth/no-modal';
2
2
  import { useMemo } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
+ import { useWidget } from '../../../context/WidgetContext.js';
4
5
  import i18nInstance from '../../../localeImport.js';
5
- import { cn, getIcons } from '../../../utils.js';
6
+ import { getIcons, cn } from '../../../utils.js';
6
7
  import { jsx, jsxs } from 'react/jsx-runtime';
7
8
 
8
9
  function ConnectWalletChainFilter(props) {
@@ -10,9 +11,14 @@ function ConnectWalletChainFilter(props) {
10
11
  isDark,
11
12
  isLoading,
12
13
  selectedChain,
13
- setSelectedChain,
14
- chainNamespace
14
+ setSelectedChain
15
15
  } = props;
16
+ const {
17
+ uiConfig
18
+ } = useWidget();
19
+ const {
20
+ chainNamespaces
21
+ } = uiConfig;
16
22
  const [t] = useTranslation(undefined, {
17
23
  i18n: i18nInstance
18
24
  });
@@ -22,7 +28,7 @@ function ConnectWalletChainFilter(props) {
22
28
  name: "modal.allChains",
23
29
  icon: ""
24
30
  }];
25
- for (const chain of chainNamespace) {
31
+ for (const chain of chainNamespaces) {
26
32
  if (chain === CHAIN_NAMESPACES.EIP155 || chain === CHAIN_NAMESPACES.SOLANA) {
27
33
  chains.push({
28
34
  id: chain,
@@ -32,7 +38,10 @@ function ConnectWalletChainFilter(props) {
32
38
  }
33
39
  }
34
40
  return chains;
35
- }, [chainNamespace]);
41
+ }, [chainNamespaces]);
42
+ if (chainNamespaces.length > 1) {
43
+ return null;
44
+ }
36
45
  if (isLoading) {
37
46
  return /*#__PURE__*/jsx("div", {
38
47
  className: "w3a--flex w3a--items-center w3a--justify-between w3a--gap-x-2",
@@ -1,7 +1,7 @@
1
1
  import { useTranslation } from 'react-i18next';
2
+ import Image from '../../../components/Image/Image.js';
2
3
  import i18nInstance from '../../../localeImport.js';
3
4
  import { getIcons } from '../../../utils.js';
4
- import Image from '../../Image/Image.js';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
7
7
  const ConnectWalletChainNamespaceSelect = props => {