@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
@@ -0,0 +1,235 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var noModal = require('@web3auth/no-modal');
6
+ var react = require('react');
7
+ var tailwindMerge = require('tailwind-merge');
8
+ var Footer = require('../../components/Footer/Footer.js');
9
+ var Loader = require('../../components/Loader/Loader.js');
10
+ var Toast = require('../../components/Toast/Toast.js');
11
+ var constants = require('../../constants.js');
12
+ var ModalStateContext = require('../../context/ModalStateContext.js');
13
+ var RootContext = require('../../context/RootContext.js');
14
+ var WidgetContext = require('../../context/WidgetContext.js');
15
+ var interfaces = require('../../interfaces.js');
16
+ var ConnectWallet = require('../ConnectWallet/ConnectWallet.js');
17
+ var Login = require('../Login/Login.js');
18
+ var RootBodySheets = require('./RootBodySheets/RootBodySheets.js');
19
+
20
+ function RootContent(props) {
21
+ const {
22
+ onCloseLoader
23
+ } = props;
24
+ const {
25
+ modalState,
26
+ shouldShowLoginPage,
27
+ showPasswordLessInput,
28
+ areSocialLoginsVisible
29
+ } = ModalStateContext.useModalState();
30
+ const {
31
+ deviceDetails,
32
+ uiConfig,
33
+ isConnectAndSignAuthenticationMode,
34
+ handleMobileVerifyConnect,
35
+ handleAcceptConsent,
36
+ handleDeclineConsent
37
+ } = WidgetContext.useWidget();
38
+ const {
39
+ chainNamespaces,
40
+ walletRegistry,
41
+ privacyPolicy,
42
+ tncLink,
43
+ displayInstalledExternalWallets,
44
+ hideSuccessScreen,
45
+ consentRequired
46
+ } = uiConfig;
47
+ const contentRef = react.useRef(null);
48
+ const [containerHeight, setContainerHeight] = react.useState(530);
49
+ react.useEffect(() => {
50
+ const el = contentRef.current;
51
+ if (!el) return;
52
+ const updateHeight = () => {
53
+ const elToMeasure = contentRef.current;
54
+ if (!elToMeasure) return;
55
+ const fullHeight = elToMeasure.scrollHeight;
56
+ if (fullHeight > 0) setContainerHeight(Math.ceil(fullHeight));
57
+ };
58
+ const observer = new ResizeObserver(() => {
59
+ requestAnimationFrame(updateHeight);
60
+ });
61
+ observer.observe(el);
62
+ // Run initial measurement after layout so scrollHeight includes full content (e.g. footer)
63
+ requestAnimationFrame(updateHeight);
64
+ return () => observer.disconnect();
65
+ }, []);
66
+ // External Wallets
67
+ const config = react.useMemo(() => modalState.externalWalletsConfig, [modalState.externalWalletsConfig]);
68
+ const connectorVisibilityMap = react.useMemo(() => {
69
+ const canShowMap = {};
70
+ Object.keys(config).forEach(connector => {
71
+ var _config$connector;
72
+ canShowMap[connector] = Boolean((_config$connector = config[connector]) === null || _config$connector === void 0 ? void 0 : _config$connector.showOnModal);
73
+ });
74
+ return canShowMap;
75
+ }, [config]);
76
+ const isWalletConnectConnectorIncluded = react.useMemo(
77
+ // WC is always included when enabling wallet discovery
78
+ () => 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]);
79
+ const generateWalletButtons = react.useCallback(wallets => {
80
+ return Object.keys(wallets).reduce((acc, wallet) => {
81
+ var _walletRegistryItem$c, _walletRegistryItem$i, _walletRegistryItem$w;
82
+ if (connectorVisibilityMap[wallet] === false) return acc;
83
+ const walletRegistryItem = wallets[wallet];
84
+ let href = "";
85
+ if (deviceDetails.platform !== "desktop") {
86
+ var _walletRegistryItem$m, _walletRegistryItem$m2;
87
+ const universalLink = walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$m = walletRegistryItem.mobile) === null || _walletRegistryItem$m === void 0 ? void 0 : _walletRegistryItem$m.universal;
88
+ const deepLink = walletRegistryItem === null || walletRegistryItem === void 0 || (_walletRegistryItem$m2 = walletRegistryItem.mobile) === null || _walletRegistryItem$m2 === void 0 ? void 0 : _walletRegistryItem$m2.native;
89
+ href = universalLink || deepLink;
90
+ }
91
+ // determine the chain namespaces supported by the wallet
92
+ const connectorConfig = config[wallet];
93
+ const connectorChainNamespaces = (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.chainNamespaces) || [];
94
+ const registryNamespaces = new Set((_walletRegistryItem$c = walletRegistryItem.chains) === null || _walletRegistryItem$c === void 0 ? void 0 : _walletRegistryItem$c.map(chain => chain.split(":")[0]));
95
+ const injectedChainNamespaces = new Set((_walletRegistryItem$i = walletRegistryItem.injected) === null || _walletRegistryItem$i === void 0 ? void 0 : _walletRegistryItem$i.map(injected => injected.namespace));
96
+ const availableChainNamespaces = chainNamespaces.filter(x => registryNamespaces.has(x) || injectedChainNamespaces.has(x) || connectorChainNamespaces.includes(x));
97
+ const button = {
98
+ name: wallet,
99
+ displayName: walletRegistryItem.name,
100
+ href,
101
+ hasInjectedWallet: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.isInjected) || false,
102
+ isInstalled: !!connectorConfig,
103
+ 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")),
104
+ hasInstallLinks: Object.keys(walletRegistryItem.app || {}).length > 0,
105
+ walletRegistryItem,
106
+ imgExtension: walletRegistryItem.imgExtension || "svg",
107
+ icon: connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.icon,
108
+ chainNamespaces: availableChainNamespaces
109
+ };
110
+ if (!button.hasInjectedWallet && !button.hasWalletConnect && !button.hasInstallLinks) return acc;
111
+ if (availableChainNamespaces.length === 0) return acc;
112
+ acc.push(button);
113
+ return acc;
114
+ }, []);
115
+ }, [connectorVisibilityMap, chainNamespaces, config, deviceDetails.platform, isWalletConnectConnectorIncluded]);
116
+ const allRegistryButtons = react.useMemo(() => {
117
+ return [...generateWalletButtons(walletRegistry.default), ...generateWalletButtons(walletRegistry.others)];
118
+ }, [generateWalletButtons, walletRegistry.default, walletRegistry.others]);
119
+ const installedConnectorButtons = react.useMemo(() => {
120
+ const installedConnectors = Object.keys(config).reduce((acc, connector) => {
121
+ if (connector === noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2 || !connectorVisibilityMap[connector]) return acc;
122
+ const connectorConfig = config[connector];
123
+ acc.push({
124
+ name: connector,
125
+ displayName: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.label) || connector,
126
+ hasInjectedWallet: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.isInjected) || false,
127
+ isInstalled: true,
128
+ hasWalletConnect: false,
129
+ hasInstallLinks: false,
130
+ icon: connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.icon,
131
+ chainNamespaces: (connectorConfig === null || connectorConfig === void 0 ? void 0 : connectorConfig.chainNamespaces) || []
132
+ });
133
+ return acc;
134
+ }, []);
135
+ // if metamask connector is not injected, use the registry button instead to display QR code
136
+ const metamaskConnectorIdx = installedConnectors.findIndex(x => x.name === noModal.WALLET_CONNECTORS.METAMASK && !x.hasInjectedWallet);
137
+ if (metamaskConnectorIdx !== -1) {
138
+ const metamaskConnector = installedConnectors[metamaskConnectorIdx];
139
+ let metamaskRegistryButton = allRegistryButtons.find(button => button.name === noModal.WALLET_CONNECTORS.METAMASK);
140
+ if (!metamaskRegistryButton) {
141
+ // use the default metamask registry item if it's not in the registry
142
+ metamaskRegistryButton = generateWalletButtons({
143
+ [noModal.WALLET_CONNECTORS.METAMASK]: constants.DEFAULT_METAMASK_WALLET_REGISTRY_ITEM
144
+ })[0];
145
+ }
146
+ if (metamaskRegistryButton) {
147
+ installedConnectors.splice(metamaskConnectorIdx, 1, _objectSpread(_objectSpread({}, metamaskRegistryButton), {}, {
148
+ chainNamespaces: metamaskConnector.chainNamespaces,
149
+ // preserve the chain namespaces
150
+ isInstalled: true
151
+ }));
152
+ }
153
+ }
154
+ // make metamask the first button and limit the number of buttons
155
+ return installedConnectors;
156
+ }, [allRegistryButtons, config, connectorVisibilityMap, generateWalletButtons]);
157
+ const customConnectorButtons = react.useMemo(() => {
158
+ return installedConnectorButtons.filter(button => !button.hasInjectedWallet);
159
+ }, [installedConnectorButtons]);
160
+ const topInstalledConnectorButtons = react.useMemo(() => {
161
+ const MAX_TOP_INSTALLED_CONNECTORS = 3;
162
+ // make metamask the first button and limit the number of buttons
163
+ return installedConnectorButtons.sort((a, _) => a.name === noModal.WALLET_CONNECTORS.METAMASK ? -1 : 1).slice(0, displayInstalledExternalWallets ? MAX_TOP_INSTALLED_CONNECTORS : 1);
164
+ }, [installedConnectorButtons, displayInstalledExternalWallets]);
165
+ const allExternalWallets = react.useMemo(() => {
166
+ const uniqueButtonSet = new Set();
167
+ return installedConnectorButtons.concat(allRegistryButtons).filter(button => {
168
+ if (uniqueButtonSet.has(button.name)) return false;
169
+ uniqueButtonSet.add(button.name);
170
+ return true;
171
+ });
172
+ }, [allRegistryButtons, installedConnectorButtons]);
173
+ const remainingUndisplayedWallets = react.useMemo(() => {
174
+ return allExternalWallets.filter(button => {
175
+ return !topInstalledConnectorButtons.includes(button);
176
+ }).length;
177
+ }, [allExternalWallets, topInstalledConnectorButtons]);
178
+ const isExternalWalletModeOnly = react.useMemo(() => {
179
+ return !showPasswordLessInput && !areSocialLoginsVisible;
180
+ }, [areSocialLoginsVisible, showPasswordLessInput]);
181
+ const isShowLoader = react.useMemo(() => {
182
+ return modalState.status !== interfaces.MODAL_STATUS.INITIALIZED;
183
+ }, [modalState.status]);
184
+ const isConsentRequiringStatus = modalState.status === interfaces.MODAL_STATUS.CONSENT_REQUIRING;
185
+ return jsxRuntime.jsxs("div", {
186
+ className: "w3a--relative w3a--flex w3a--flex-col",
187
+ children: [jsxRuntime.jsxs("div", {
188
+ className: "w3a-modal-container w3a--relative w3a--flex w3a--flex-col w3a--overflow-hidden",
189
+ style: {
190
+ height: containerHeight
191
+ },
192
+ children: [jsxRuntime.jsx("div", {
193
+ className: "w3a--modal-curtain"
194
+ }), jsxRuntime.jsxs("div", {
195
+ ref: contentRef,
196
+ className: tailwindMerge.twMerge("w3a--relative w3a--flex w3a--flex-col w3a--p-6", isShowLoader && !isConsentRequiringStatus ? "w3a--flex-1" : "w3a--flex-none"),
197
+ children: [isShowLoader ? jsxRuntime.jsx(Loader, {
198
+ connector: modalState.detailedLoaderConnector,
199
+ connectorName: modalState.detailedLoaderConnectorName,
200
+ modalStatus: modalState.status,
201
+ onClose: onCloseLoader,
202
+ isConnectAndSignAuthenticationMode: isConnectAndSignAuthenticationMode,
203
+ externalWalletsConfig: modalState.externalWalletsConfig,
204
+ handleMobileVerifyConnect: handleMobileVerifyConnect,
205
+ hideSuccessScreen: hideSuccessScreen,
206
+ onAcceptConsent: handleAcceptConsent,
207
+ onDeclineConsent: handleDeclineConsent,
208
+ privacyPolicy: privacyPolicy,
209
+ tncLink: tncLink
210
+ }) : jsxRuntime.jsxs(jsxRuntime.Fragment, {
211
+ children: [modalState.currentPage === constants.PAGES.LOGIN_OPTIONS && shouldShowLoginPage && modalState.status === interfaces.MODAL_STATUS.INITIALIZED && jsxRuntime.jsx(Login, {
212
+ installedExternalWalletConfig: topInstalledConnectorButtons,
213
+ totalExternalWallets: allExternalWallets.length,
214
+ remainingUndisplayedWallets: remainingUndisplayedWallets
215
+ }), modalState.currentPage === constants.PAGES.WALLET_LIST && (!shouldShowLoginPage || isExternalWalletModeOnly) && modalState.status === interfaces.MODAL_STATUS.INITIALIZED && jsxRuntime.jsx(ConnectWallet, {
216
+ allRegistryButtons: allRegistryButtons,
217
+ connectorVisibilityMap: connectorVisibilityMap,
218
+ customConnectorButtons: customConnectorButtons,
219
+ isExternalWalletModeOnly: isExternalWalletModeOnly
220
+ })]
221
+ }), jsxRuntime.jsx(Footer, {
222
+ privacyPolicy: !consentRequired && modalState.status !== interfaces.MODAL_STATUS.CONSENT_REQUIRING ? privacyPolicy : undefined,
223
+ termsOfService: !consentRequired && modalState.status !== interfaces.MODAL_STATUS.CONSENT_REQUIRING ? tncLink : undefined
224
+ }), jsxRuntime.jsx(RootBodySheets, {})]
225
+ })]
226
+ }), jsxRuntime.jsx(Toast, {})]
227
+ });
228
+ }
229
+ function Root(props) {
230
+ return jsxRuntime.jsx(RootContext.RootProvider, {
231
+ children: jsxRuntime.jsx(RootContent, _objectSpread({}, props))
232
+ });
233
+ }
234
+
235
+ module.exports = Root;
@@ -0,0 +1,185 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var reactI18next = require('react-i18next');
7
+ var BottomSheet = require('../../../components/BottomSheet/BottomSheet.js');
8
+ var Image = require('../../../components/Image/Image.js');
9
+ var ModalStateContext = require('../../../context/ModalStateContext.js');
10
+ var RootContext = require('../../../context/RootContext.js');
11
+ var WidgetContext = require('../../../context/WidgetContext.js');
12
+ var localeImport = require('../../../localeImport.js');
13
+ var utils = require('../../../utils.js');
14
+ var ConnectWalletChainNamespaceSelect = require('../../ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js');
15
+
16
+ function RootBodySheets() {
17
+ var _bodyState$installLin2, _bodyState$installLin4, _bodyState$multiChain, _bodyState$installLin5;
18
+ const [t] = reactI18next.useTranslation(undefined, {
19
+ i18n: localeImport
20
+ });
21
+ const {
22
+ preHandleExternalWalletClick
23
+ } = ModalStateContext.useModalState();
24
+ const {
25
+ bodyState,
26
+ setBodyState
27
+ } = RootContext.useBodyState();
28
+ const {
29
+ isDark,
30
+ deviceDetails,
31
+ uiConfig
32
+ } = WidgetContext.useWidget();
33
+ const {
34
+ buttonRadiusType
35
+ } = uiConfig;
36
+ const mobileInstallLinks = react.useMemo(() => {
37
+ var _bodyState$installLin;
38
+ if (deviceDetails.platform === "desktop") return [];
39
+ 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) || {};
40
+ const installLinks = Object.keys(installConfig).reduce((acc, osKey) => {
41
+ if (!["android", "ios"].includes(osKey)) return acc;
42
+ const appId = installConfig[osKey];
43
+ if (!appId) return acc;
44
+ const appUrl = utils.getMobileInstallLink(osKey, appId);
45
+ if (!appUrl) return acc;
46
+ const logoLight = `${osKey}-light`;
47
+ const logoDark = `${osKey}-dark`;
48
+ acc.push(jsxRuntime.jsx("li", {
49
+ className: "w3a--w-full",
50
+ children: jsxRuntime.jsx("a", {
51
+ href: appUrl,
52
+ rel: "noopener noreferrer",
53
+ target: "_blank",
54
+ children: jsxRuntime.jsxs("button", {
55
+ type: "button",
56
+ className: utils.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", {
57
+ "w3a--rounded-full": buttonRadiusType === "pill",
58
+ "w3a--rounded-lg": buttonRadiusType === "rounded",
59
+ "w3a--rounded-none": buttonRadiusType === "square"
60
+ }),
61
+ children: [jsxRuntime.jsx(Image, {
62
+ imageId: logoLight,
63
+ darkImageId: logoDark,
64
+ hoverImageId: logoLight,
65
+ darkHoverImageId: logoDark,
66
+ height: "28",
67
+ width: "28",
68
+ isButton: true
69
+ }), jsxRuntime.jsx("span", {
70
+ className: "w3a--text-sm w3a--font-medium w3a--text-app-gray-900 dark:w3a--text-app-white",
71
+ children: t("modal.external.install-mobile-app", {
72
+ os: utils.getOsName(osKey)
73
+ })
74
+ }), jsxRuntime.jsx("img", {
75
+ id: "install-links-arrow",
76
+ 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\n group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
77
+ src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
78
+ alt: "arrow"
79
+ })]
80
+ })
81
+ })
82
+ }, appUrl));
83
+ return acc;
84
+ }, []);
85
+ return installLinks;
86
+ }, [(_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]);
87
+ const desktopInstallLinks = react.useMemo(() => {
88
+ var _bodyState$installLin3;
89
+ if (deviceDetails.platform !== "desktop") return [];
90
+ const browserType = deviceDetails.browser === "brave" ? "chrome" : deviceDetails.browser;
91
+ 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) || {};
92
+ const extensionForCurrentBrowser = browserExtensionConfig.browser && browserExtensionConfig.browser.includes(browserType) ? browserExtensionConfig.browser : undefined;
93
+ const browserExtensionId = browserExtensionConfig[browserType] || extensionForCurrentBrowser;
94
+ const browserExtensionUrl = browserExtensionId ? utils.getBrowserExtensionUrl(browserType, browserExtensionId) : null;
95
+ const installLink = browserExtensionUrl ? jsxRuntime.jsx("li", {
96
+ children: jsxRuntime.jsx("a", {
97
+ href: browserExtensionUrl,
98
+ rel: "noopener noreferrer",
99
+ target: "_blank",
100
+ children: jsxRuntime.jsxs("button", {
101
+ type: "button",
102
+ className: utils.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", {
103
+ "w3a--rounded-full": buttonRadiusType === "pill",
104
+ "w3a--rounded-lg": buttonRadiusType === "rounded",
105
+ "w3a--rounded-none": buttonRadiusType === "square"
106
+ }),
107
+ children: [jsxRuntime.jsx(Image, {
108
+ imageId: deviceDetails.browser,
109
+ darkImageId: deviceDetails.browser,
110
+ hoverImageId: deviceDetails.browser,
111
+ darkHoverImageId: deviceDetails.browser,
112
+ height: "30",
113
+ width: "30",
114
+ isButton: true
115
+ }), jsxRuntime.jsx("span", {
116
+ className: "w3a--text-sm w3a--font-medium w3a--text-app-gray-900 dark:w3a--text-app-white",
117
+ children: t("modal.external.install-browser-extension", {
118
+ browser: utils.getBrowserName(deviceDetails.browser)
119
+ })
120
+ }), jsxRuntime.jsx("img", {
121
+ id: "install-links-arrow",
122
+ 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\n group-hover:w3a--translate-x-0 group-hover:w3a--opacity-100",
123
+ src: utils.getIcons(isDark ? "chevron-right-dark" : "chevron-right-light"),
124
+ alt: "arrow"
125
+ })]
126
+ })
127
+ })
128
+ }, browserExtensionUrl) : null;
129
+ return [installLink, ...mobileInstallLinks];
130
+ }, [(_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]);
131
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
132
+ children: [((_bodyState$multiChain = bodyState.multiChainSelector) === null || _bodyState$multiChain === void 0 ? void 0 : _bodyState$multiChain.show) && jsxRuntime.jsx(BottomSheet, {
133
+ borderRadiusType: uiConfig.borderRadiusType,
134
+ isShown: bodyState.multiChainSelector.show,
135
+ onClose: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
136
+ multiChainSelector: {
137
+ show: false,
138
+ wallet: null
139
+ }
140
+ })),
141
+ children: jsxRuntime.jsx(ConnectWalletChainNamespaceSelect, {
142
+ isDark: isDark,
143
+ wallet: bodyState.multiChainSelector.wallet,
144
+ handleExternalWalletClick: params => {
145
+ preHandleExternalWalletClick(params);
146
+ setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
147
+ multiChainSelector: {
148
+ show: false,
149
+ wallet: null
150
+ }
151
+ }));
152
+ }
153
+ })
154
+ }), ((_bodyState$installLin5 = bodyState.installLinks) === null || _bodyState$installLin5 === void 0 ? void 0 : _bodyState$installLin5.show) && jsxRuntime.jsxs(BottomSheet, {
155
+ borderRadiusType: uiConfig.borderRadiusType,
156
+ isShown: bodyState.installLinks.show,
157
+ onClose: () => setBodyState(_objectSpread(_objectSpread({}, bodyState), {}, {
158
+ installLinks: {
159
+ show: false,
160
+ wallet: null
161
+ }
162
+ })),
163
+ children: [jsxRuntime.jsx("p", {
164
+ className: "w3a--mb-2 w3a--text-center w3a--text-base w3a--font-semibold w3a--text-app-gray-900 dark:w3a--text-app-white",
165
+ children: t("modal.getWallet")
166
+ }), jsxRuntime.jsx("div", {
167
+ className: "w3a--my-4 w3a--flex w3a--justify-center",
168
+ children: jsxRuntime.jsx(Image, {
169
+ imageId: `login-${bodyState.installLinks.wallet.name}`,
170
+ hoverImageId: `login-${bodyState.installLinks.wallet.name}`,
171
+ fallbackImageId: "wallet",
172
+ height: "80",
173
+ width: "80",
174
+ isButton: true,
175
+ extension: bodyState.installLinks.wallet.imgExtension
176
+ })
177
+ }), jsxRuntime.jsx("ul", {
178
+ className: "w3a--flex w3a--flex-col w3a--gap-y-2",
179
+ children: deviceDetails.platform === "desktop" ? desktopInstallLinks : mobileInstallLinks
180
+ })]
181
+ })]
182
+ });
183
+ }
184
+
185
+ module.exports = RootBodySheets;
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var noModal = require('@web3auth/no-modal');
6
+ var react = require('react');
7
+ var Modal = require('../../components/Modal/Modal.js');
8
+ var constants = require('../../constants.js');
9
+ var ModalStateContext = require('../../context/ModalStateContext.js');
10
+ var WidgetContext = require('../../context/WidgetContext.js');
11
+ var interfaces = require('../../interfaces.js');
12
+ var Embed = require('../Embed/Embed.js');
13
+ var Root = require('../Root/Root.js');
14
+
15
+ function WidgetContent() {
16
+ const {
17
+ uiConfig,
18
+ handleExternalWalletClick,
19
+ closeModal,
20
+ isConnectAndSignAuthenticationMode
21
+ } = WidgetContext.useWidget();
22
+ const {
23
+ modalState,
24
+ setModalState
25
+ } = ModalStateContext.useModalState();
26
+ const {
27
+ widgetType
28
+ } = uiConfig;
29
+ const onCloseModal = () => {
30
+ setModalState(prevState => _objectSpread(_objectSpread({}, prevState), {}, {
31
+ externalWalletsVisibility: false,
32
+ modalVisibility: false,
33
+ currentPage: constants.PAGES.LOGIN_OPTIONS
34
+ }));
35
+ closeModal();
36
+ };
37
+ const onCloseLoader = () => {
38
+ if (!isConnectAndSignAuthenticationMode && modalState.status === interfaces.MODAL_STATUS.CONNECTED) {
39
+ setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
40
+ modalVisibility: false,
41
+ externalWalletsVisibility: false
42
+ }));
43
+ }
44
+ if (isConnectAndSignAuthenticationMode && modalState.status === interfaces.MODAL_STATUS.AUTHORIZED) {
45
+ setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
46
+ modalVisibility: false,
47
+ externalWalletsVisibility: false
48
+ }));
49
+ }
50
+ if (modalState.status === interfaces.MODAL_STATUS.ERRORED) {
51
+ setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
52
+ modalVisibility: true,
53
+ status: interfaces.MODAL_STATUS.INITIALIZED
54
+ }));
55
+ }
56
+ };
57
+ const showCloseIcon = react.useMemo(() => {
58
+ return modalState.status === interfaces.MODAL_STATUS.INITIALIZED || modalState.status === interfaces.MODAL_STATUS.CONNECTED || modalState.status === interfaces.MODAL_STATUS.ERRORED || modalState.status === interfaces.MODAL_STATUS.AUTHORIZED;
59
+ }, [modalState.status]);
60
+ react.useEffect(() => {
61
+ // TODO: maybe move this inside root
62
+ if (!modalState.modalVisibility) return;
63
+ if (typeof modalState.externalWalletsConfig === "object") {
64
+ var _modalState$externalW;
65
+ // auto connect to WC if not injected to generate QR code URI for mobile connection
66
+ const wcAvailable = (((_modalState$externalW = modalState.externalWalletsConfig[noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2]) === null || _modalState$externalW === void 0 ? void 0 : _modalState$externalW.showOnModal) || false) !== false;
67
+ if (wcAvailable && !modalState.walletConnectUri && typeof handleExternalWalletClick === "function") {
68
+ handleExternalWalletClick({
69
+ connector: noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2
70
+ });
71
+ }
72
+ }
73
+ }, [modalState, handleExternalWalletClick]);
74
+ const rootElement = jsxRuntime.jsx(Root, {
75
+ onCloseLoader: onCloseLoader
76
+ });
77
+ if (widgetType === noModal.WIDGET_TYPE.MODAL) {
78
+ return jsxRuntime.jsx(Modal, {
79
+ open: modalState.modalVisibility,
80
+ placement: "center",
81
+ padding: false,
82
+ showCloseIcon: showCloseIcon,
83
+ onClose: onCloseModal,
84
+ borderRadius: uiConfig.borderRadiusType,
85
+ children: modalState.modalVisibility && rootElement
86
+ });
87
+ }
88
+ return jsxRuntime.jsx(Embed, {
89
+ open: modalState.modalVisibility,
90
+ padding: false,
91
+ onClose: onCloseModal,
92
+ borderRadius: uiConfig.borderRadiusType,
93
+ children: modalState.modalVisibility && rootElement
94
+ });
95
+ }
96
+ function Widget(props) {
97
+ const {
98
+ stateListener
99
+ } = props;
100
+ return jsxRuntime.jsx(ModalStateContext.ModalStateProvider, {
101
+ stateListener: stateListener,
102
+ children: jsxRuntime.jsx(WidgetContent, {})
103
+ });
104
+ }
105
+
106
+ module.exports = Widget;