@web3auth/modal 10.0.0-alpha.2 → 10.0.0-beta.1

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