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

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 (257) 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/modalManager.js +195 -140
  3. package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +2 -2
  4. package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +26 -26
  5. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +2 -2
  6. package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +60 -0
  7. package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.js +47 -22
  8. package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.type.js +8 -0
  9. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +53 -0
  10. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +68 -0
  11. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +202 -0
  12. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +65 -0
  13. package/dist/lib.cjs/packages/modal/src/ui/components/{ExternalWallet/ExternalWalletChainNamespace.js → ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js} +29 -30
  14. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +49 -0
  15. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +140 -0
  16. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +93 -0
  17. package/dist/lib.cjs/packages/modal/src/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +55 -0
  18. package/dist/lib.cjs/packages/modal/src/ui/components/Embed/Embed.js +70 -0
  19. package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +53 -0
  20. package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +89 -0
  21. package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +151 -0
  22. package/dist/lib.cjs/packages/modal/src/ui/components/Login/Login.js +489 -0
  23. package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +116 -0
  24. package/dist/lib.cjs/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +117 -0
  25. package/dist/lib.cjs/packages/modal/src/ui/components/LoginHint/LoginHint.js +52 -0
  26. package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +87 -0
  27. package/dist/lib.cjs/packages/modal/src/ui/components/Otp/Otp.js +190 -0
  28. package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +18 -0
  29. package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +448 -0
  30. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +156 -0
  31. package/dist/lib.cjs/packages/modal/src/ui/components/Toast/Toast.js +70 -0
  32. package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +231 -0
  33. package/dist/lib.cjs/packages/modal/src/ui/config.js +12 -1
  34. package/dist/lib.cjs/packages/modal/src/ui/constants.js +18 -0
  35. package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +20 -0
  36. package/dist/lib.cjs/packages/modal/src/ui/context/ThemeContext.js +2 -2
  37. package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +8 -0
  38. package/dist/lib.cjs/packages/modal/src/ui/handlers/AbstractHandler.js +117 -0
  39. package/dist/lib.cjs/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +54 -0
  40. package/dist/lib.cjs/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +57 -0
  41. package/dist/lib.cjs/packages/modal/src/ui/handlers/factory.js +19 -0
  42. package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +37 -2
  43. package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +37 -2
  44. package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +37 -2
  45. package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +37 -2
  46. package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +37 -2
  47. package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +37 -2
  48. package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +37 -2
  49. package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +37 -2
  50. package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +37 -2
  51. package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +37 -2
  52. package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +7 -10
  53. package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +69 -44
  54. package/dist/lib.cjs/packages/modal/src/ui/utils.js +107 -1
  55. package/dist/lib.cjs/types/interface.d.ts +1 -1
  56. package/dist/lib.cjs/types/modalManager.d.ts +5 -1
  57. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.d.ts +7 -0
  58. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.type.d.ts +7 -0
  59. package/dist/lib.cjs/types/ui/components/BottomSheet/index.d.ts +2 -0
  60. package/dist/lib.cjs/types/ui/components/Button/Button.d.ts +2 -15
  61. package/dist/lib.cjs/types/ui/components/Button/Button.type.d.ts +12 -0
  62. package/dist/lib.cjs/types/ui/components/Button/ButtonSocial/ButtonSocial.d.ts +3 -0
  63. package/dist/lib.cjs/types/ui/components/Button/ButtonSocial/ButtonSocial.type.d.ts +14 -0
  64. package/dist/lib.cjs/types/ui/components/Button/ButtonSocial/index.d.ts +2 -0
  65. package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.d.ts +3 -0
  66. package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.type.d.ts +13 -0
  67. package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/index.d.ts +2 -0
  68. package/dist/lib.cjs/types/ui/components/Button/index.d.ts +1 -0
  69. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.d.ts +3 -0
  70. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +24 -0
  71. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.d.ts +3 -0
  72. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.type.d.ts +13 -0
  73. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainFilter/index.d.ts +2 -0
  74. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.d.ts +3 -0
  75. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.type.d.ts +10 -0
  76. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletChainNamespaceSelect/index.d.ts +2 -0
  77. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.d.ts +3 -0
  78. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.type.d.ts +6 -0
  79. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletHeader/index.d.ts +2 -0
  80. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.d.ts +3 -0
  81. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.type.d.ts +19 -0
  82. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletList/index.d.ts +2 -0
  83. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.d.ts +3 -0
  84. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +9 -0
  85. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletQrCode/index.d.ts +2 -0
  86. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.d.ts +3 -0
  87. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.type.d.ts +9 -0
  88. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWalletSearch/index.d.ts +2 -0
  89. package/dist/lib.cjs/types/ui/components/ConnectWallet/index.d.ts +2 -0
  90. package/dist/lib.cjs/types/ui/components/Embed/Embed.d.ts +8 -0
  91. package/dist/lib.cjs/types/ui/components/Embed/Embed.type.d.ts +12 -0
  92. package/dist/lib.cjs/types/ui/components/Embed/index.d.ts +2 -0
  93. package/dist/lib.cjs/types/ui/components/Footer/Footer.d.ts +7 -0
  94. package/dist/lib.cjs/types/ui/components/Footer/Footer.type.d.ts +4 -0
  95. package/dist/lib.cjs/types/ui/components/Footer/index.d.ts +2 -0
  96. package/dist/lib.cjs/types/ui/components/Image/Image.d.ts +7 -0
  97. package/dist/lib.cjs/types/ui/components/{Image.d.ts → Image/Image.type.d.ts} +2 -1
  98. package/dist/lib.cjs/types/ui/components/Image/index.d.ts +2 -0
  99. package/dist/lib.cjs/types/ui/components/Loader/Loader.d.ts +8 -0
  100. package/dist/lib.cjs/types/ui/components/Loader/Loader.type.d.ts +12 -0
  101. package/dist/lib.cjs/types/ui/components/Loader/index.d.ts +2 -0
  102. package/dist/lib.cjs/types/ui/components/Login/Login.d.ts +3 -0
  103. package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +29 -0
  104. package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.d.ts +8 -0
  105. package/dist/lib.cjs/types/ui/components/Login/LoginOtp/LoginOtp.type.d.ts +10 -0
  106. package/dist/lib.cjs/types/ui/components/Login/LoginOtp/index.d.ts +2 -0
  107. package/dist/lib.cjs/types/ui/components/Login/LoginPasswordLess/LoginPasswordLess.d.ts +3 -0
  108. package/dist/lib.cjs/types/ui/components/Login/LoginPasswordLess/LoginPasswordLess.type.d.ts +13 -0
  109. package/dist/lib.cjs/types/ui/components/Login/LoginPasswordLess/index.d.ts +2 -0
  110. package/dist/lib.cjs/types/ui/components/Login/index.d.ts +2 -0
  111. package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.d.ts +3 -0
  112. package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.type.d.ts +6 -0
  113. package/dist/lib.cjs/types/ui/components/LoginHint/index.d.ts +2 -0
  114. package/dist/lib.cjs/types/ui/components/Modal/Modal.d.ts +8 -0
  115. package/dist/lib.cjs/types/ui/components/Modal/Modal.type.d.ts +14 -0
  116. package/dist/lib.cjs/types/ui/components/Modal/index.d.ts +2 -0
  117. package/dist/lib.cjs/types/ui/components/Otp/Otp.d.ts +3 -0
  118. package/dist/lib.cjs/types/ui/components/Otp/Otp.type.d.ts +22 -0
  119. package/dist/lib.cjs/types/ui/components/Otp/index.d.ts +2 -0
  120. package/dist/lib.cjs/types/ui/components/PulseLoader/PulseLoader.d.ts +2 -0
  121. package/dist/lib.cjs/types/ui/components/PulseLoader/index.d.ts +1 -0
  122. package/dist/lib.cjs/types/ui/components/Root/Root.d.ts +3 -0
  123. package/dist/lib.cjs/types/ui/components/Root/Root.type.d.ts +27 -0
  124. package/dist/lib.cjs/types/ui/components/Root/index.d.ts +2 -0
  125. package/dist/lib.cjs/types/ui/components/SocialLoginList/SocialLoginList.d.ts +3 -0
  126. package/dist/lib.cjs/types/ui/components/SocialLoginList/SocialLoginList.type.d.ts +11 -0
  127. package/dist/lib.cjs/types/ui/components/SocialLoginList/index.d.ts +2 -0
  128. package/dist/lib.cjs/types/ui/components/Toast/Toast.d.ts +2 -0
  129. package/dist/lib.cjs/types/ui/components/Toast/index.d.ts +1 -0
  130. package/dist/lib.cjs/types/ui/components/Widget/Widget.d.ts +3 -0
  131. package/dist/lib.cjs/types/ui/components/{Modal.d.ts → Widget/Widget.type.d.ts} +4 -5
  132. package/dist/lib.cjs/types/ui/components/Widget/index.d.ts +1 -0
  133. package/dist/lib.cjs/types/ui/config.d.ts +4 -1
  134. package/dist/lib.cjs/types/ui/constants.d.ts +13 -0
  135. package/dist/lib.cjs/types/ui/context/RootContext.d.ts +18 -0
  136. package/dist/lib.cjs/types/ui/handlers/AbstractHandler.d.ts +20 -0
  137. package/dist/lib.cjs/types/ui/handlers/EmailPasswordlessHandler.d.ts +8 -0
  138. package/dist/lib.cjs/types/ui/handlers/SmsPasswordlessHandler.d.ts +9 -0
  139. package/dist/lib.cjs/types/ui/handlers/factory.d.ts +5 -0
  140. package/dist/lib.cjs/types/ui/interfaces.d.ts +115 -14
  141. package/dist/lib.cjs/types/ui/loginModal.d.ts +9 -7
  142. package/dist/lib.cjs/types/ui/utils.d.ts +17 -2
  143. package/dist/lib.esm/node_modules/style-inject/dist/style-inject.es.js +1 -1
  144. package/dist/lib.esm/packages/modal/src/modalManager.js +203 -145
  145. package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +58 -0
  146. package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.js +48 -24
  147. package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.type.js +6 -0
  148. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +51 -0
  149. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +66 -0
  150. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWallet.js +200 -0
  151. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +63 -0
  152. package/dist/lib.esm/packages/modal/src/ui/components/{ExternalWallet/ExternalWalletChainNamespace.js → ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js} +29 -31
  153. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +47 -0
  154. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletList/ConnectWalletList.js +138 -0
  155. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +91 -0
  156. package/dist/lib.esm/packages/modal/src/ui/components/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +56 -0
  157. package/dist/lib.esm/packages/modal/src/ui/components/Embed/Embed.js +68 -0
  158. package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +51 -0
  159. package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +87 -0
  160. package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +152 -0
  161. package/dist/lib.esm/packages/modal/src/ui/components/Login/Login.js +489 -0
  162. package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginOtp/LoginOtp.js +115 -0
  163. package/dist/lib.esm/packages/modal/src/ui/components/Login/LoginPasswordLess/LoginPasswordLess.js +115 -0
  164. package/dist/lib.esm/packages/modal/src/ui/components/LoginHint/LoginHint.js +50 -0
  165. package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +85 -0
  166. package/dist/lib.esm/packages/modal/src/ui/components/Otp/Otp.js +188 -0
  167. package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +16 -0
  168. package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +458 -0
  169. package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +154 -0
  170. package/dist/lib.esm/packages/modal/src/ui/components/Toast/Toast.js +68 -0
  171. package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +233 -0
  172. package/dist/lib.esm/packages/modal/src/ui/config.js +10 -3
  173. package/dist/lib.esm/packages/modal/src/ui/constants.js +13 -0
  174. package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +18 -0
  175. package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +6 -0
  176. package/dist/lib.esm/packages/modal/src/ui/handlers/AbstractHandler.js +115 -0
  177. package/dist/lib.esm/packages/modal/src/ui/handlers/EmailPasswordlessHandler.js +52 -0
  178. package/dist/lib.esm/packages/modal/src/ui/handlers/SmsPasswordlessHandler.js +55 -0
  179. package/dist/lib.esm/packages/modal/src/ui/handlers/factory.js +17 -0
  180. package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +37 -3
  181. package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +37 -3
  182. package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +37 -3
  183. package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +37 -3
  184. package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +37 -3
  185. package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +37 -3
  186. package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +37 -3
  187. package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +37 -3
  188. package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +37 -3
  189. package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +37 -3
  190. package/dist/lib.esm/packages/modal/src/ui/interfaces.js +8 -9
  191. package/dist/lib.esm/packages/modal/src/ui/loginModal.js +70 -45
  192. package/dist/lib.esm/packages/modal/src/ui/utils.js +105 -3
  193. package/dist/modal.umd.min.js +1 -1
  194. package/dist/modal.umd.min.js.LICENSE.txt +8 -8
  195. package/package.json +16 -11
  196. package/dist/lib.cjs/packages/modal/src/ui/assets/arrow-left-dark.svg.js +0 -7
  197. package/dist/lib.cjs/packages/modal/src/ui/assets/arrow-left-light.svg.js +0 -7
  198. package/dist/lib.cjs/packages/modal/src/ui/assets/x-dark.svg.js +0 -7
  199. package/dist/lib.cjs/packages/modal/src/ui/assets/x-light.svg.js +0 -7
  200. package/dist/lib.cjs/packages/modal/src/ui/components/AdapterLoader.js +0 -108
  201. package/dist/lib.cjs/packages/modal/src/ui/components/Button/styles.css.js +0 -8
  202. package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletButton.js +0 -44
  203. package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletConnect.js +0 -67
  204. package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletDetails.js +0 -43
  205. package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletHeader.js +0 -46
  206. package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallet/ExternalWalletInstall.js +0 -167
  207. package/dist/lib.cjs/packages/modal/src/ui/components/ExternalWallets.js +0 -279
  208. package/dist/lib.cjs/packages/modal/src/ui/components/Footer.js +0 -20
  209. package/dist/lib.cjs/packages/modal/src/ui/components/Header.js +0 -81
  210. package/dist/lib.cjs/packages/modal/src/ui/components/Icon.js +0 -73
  211. package/dist/lib.cjs/packages/modal/src/ui/components/Image.js +0 -51
  212. package/dist/lib.cjs/packages/modal/src/ui/components/Loader.js +0 -59
  213. package/dist/lib.cjs/packages/modal/src/ui/components/Modal.js +0 -278
  214. package/dist/lib.cjs/packages/modal/src/ui/components/SelfCustodyViaWeb3Auth.js +0 -30
  215. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginPasswordless.js +0 -150
  216. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLogins.js +0 -153
  217. package/dist/lib.cjs/packages/modal/src/ui/components/WalletConnect.js +0 -84
  218. package/dist/lib.cjs/packages/modal/src/ui/css/web3auth.css.js +0 -8
  219. package/dist/lib.cjs/types/ui/components/AdapterLoader.d.ts +0 -11
  220. package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletButton.d.ts +0 -7
  221. package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletChainNamespace.d.ts +0 -9
  222. package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletConnect.d.ts +0 -9
  223. package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletDetails.d.ts +0 -10
  224. package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletHeader.d.ts +0 -8
  225. package/dist/lib.cjs/types/ui/components/ExternalWallet/ExternalWalletInstall.d.ts +0 -8
  226. package/dist/lib.cjs/types/ui/components/ExternalWallets.d.ts +0 -15
  227. package/dist/lib.cjs/types/ui/components/Footer.d.ts +0 -1
  228. package/dist/lib.cjs/types/ui/components/Header.d.ts +0 -8
  229. package/dist/lib.cjs/types/ui/components/Icon.d.ts +0 -9
  230. package/dist/lib.cjs/types/ui/components/Loader.d.ts +0 -10
  231. package/dist/lib.cjs/types/ui/components/SelfCustodyViaWeb3Auth.d.ts +0 -1
  232. package/dist/lib.cjs/types/ui/components/SocialLoginPasswordless.d.ts +0 -14
  233. package/dist/lib.cjs/types/ui/components/SocialLogins.d.ts +0 -10
  234. package/dist/lib.cjs/types/ui/components/WalletConnect.d.ts +0 -8
  235. package/dist/lib.esm/packages/modal/src/ui/assets/arrow-left-dark.svg.js +0 -5
  236. package/dist/lib.esm/packages/modal/src/ui/assets/arrow-left-light.svg.js +0 -5
  237. package/dist/lib.esm/packages/modal/src/ui/assets/x-dark.svg.js +0 -5
  238. package/dist/lib.esm/packages/modal/src/ui/assets/x-light.svg.js +0 -5
  239. package/dist/lib.esm/packages/modal/src/ui/components/AdapterLoader.js +0 -106
  240. package/dist/lib.esm/packages/modal/src/ui/components/Button/styles.css.js +0 -6
  241. package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletButton.js +0 -42
  242. package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletConnect.js +0 -65
  243. package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletDetails.js +0 -44
  244. package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletHeader.js +0 -44
  245. package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallet/ExternalWalletInstall.js +0 -165
  246. package/dist/lib.esm/packages/modal/src/ui/components/ExternalWallets.js +0 -281
  247. package/dist/lib.esm/packages/modal/src/ui/components/Footer.js +0 -18
  248. package/dist/lib.esm/packages/modal/src/ui/components/Header.js +0 -79
  249. package/dist/lib.esm/packages/modal/src/ui/components/Icon.js +0 -71
  250. package/dist/lib.esm/packages/modal/src/ui/components/Image.js +0 -49
  251. package/dist/lib.esm/packages/modal/src/ui/components/Loader.js +0 -57
  252. package/dist/lib.esm/packages/modal/src/ui/components/Modal.js +0 -277
  253. package/dist/lib.esm/packages/modal/src/ui/components/SelfCustodyViaWeb3Auth.js +0 -28
  254. package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginPasswordless.js +0 -148
  255. package/dist/lib.esm/packages/modal/src/ui/components/SocialLogins.js +0 -152
  256. package/dist/lib.esm/packages/modal/src/ui/components/WalletConnect.js +0 -82
  257. package/dist/lib.esm/packages/modal/src/ui/css/web3auth.css.js +0 -6
@@ -0,0 +1,231 @@
1
+ 'use strict';
2
+
3
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var auth = require('@web3auth/auth');
6
+ var noModal = require('@web3auth/no-modal');
7
+ var deepmerge = require('deepmerge');
8
+ var react = require('react');
9
+ var constants = require('../../constants.js');
10
+ var interfaces = require('../../interfaces.js');
11
+ var Embed = require('../Embed/Embed.js');
12
+ var Modal = require('../Modal/Modal.js');
13
+ var Root = require('../Root/Root.js');
14
+
15
+ function Widget(props) {
16
+ const {
17
+ stateListener,
18
+ handleSocialLoginClick,
19
+ handleExternalWalletClick,
20
+ handleShowExternalWallets,
21
+ closeModal,
22
+ appLogo,
23
+ appName,
24
+ chainNamespaces,
25
+ walletRegistry,
26
+ uiConfig
27
+ } = props;
28
+ const {
29
+ widgetType
30
+ } = uiConfig;
31
+ const visible = react.useMemo(() => widgetType === noModal.WIDGET_TYPE.EMBED, [widgetType]);
32
+ const [modalState, setModalState] = react.useState({
33
+ externalWalletsVisibility: false,
34
+ status: interfaces.MODAL_STATUS.INITIALIZED,
35
+ hasExternalWallets: false,
36
+ externalWalletsInitialized: false,
37
+ modalVisibility: false,
38
+ modalVisibilityDelayed: false,
39
+ postLoadingMessage: "",
40
+ walletConnectUri: "",
41
+ socialLoginsConfig: {
42
+ loginMethods: {},
43
+ loginMethodsOrder: [],
44
+ connector: "",
45
+ uiConfig: {}
46
+ },
47
+ externalWalletsConfig: {},
48
+ showExternalWalletsOnly: false,
49
+ currentPage: constants.PAGES.LOGIN,
50
+ detailedLoaderConnector: "",
51
+ detailedLoaderConnectorName: "",
52
+ web3authClientId: "",
53
+ web3authNetwork: auth.WEB3AUTH_NETWORK.SAPPHIRE_MAINNET
54
+ });
55
+ react.useEffect(() => {
56
+ setModalState(prev => _objectSpread(_objectSpread({}, prev), {}, {
57
+ modalVisibility: visible
58
+ }));
59
+ }, [visible]);
60
+ react.useEffect(() => {
61
+ stateListener.on("STATE_UPDATED", newModalState => {
62
+ noModal.log.debug("state updated", newModalState);
63
+ setModalState(prevState => {
64
+ const mergedState = noModal.cloneDeep(deepmerge(prevState, newModalState, {
65
+ arrayMerge: (_prevState, newState) => newState
66
+ }));
67
+ return mergedState;
68
+ });
69
+ });
70
+ stateListener.emit("MOUNTED");
71
+ }, [stateListener]);
72
+ const preHandleExternalWalletClick = params => {
73
+ const {
74
+ connector
75
+ } = params;
76
+ setModalState(prevState => _objectSpread(_objectSpread({}, prevState), {}, {
77
+ detailedLoaderConnector: connector,
78
+ detailedLoaderAdapterName: noModal.CONNECTOR_NAMES[connector]
79
+ }));
80
+ // Call the passed-in handler with the params
81
+ if (handleExternalWalletClick) handleExternalWalletClick(params);
82
+ };
83
+ const preHandleSocialWalletClick = params => {
84
+ const {
85
+ loginParams
86
+ } = params;
87
+ setModalState(prevState => {
88
+ return _objectSpread(_objectSpread({}, prevState), {}, {
89
+ detailedLoaderConnector: loginParams.authConnection,
90
+ detailedLoaderConnectorName: loginParams.name
91
+ });
92
+ });
93
+ handleSocialLoginClick(params);
94
+ };
95
+ // Memo for checking if social logins are visible
96
+ const areSocialLoginsVisible = react.useMemo(() => {
97
+ var _modalState$socialLog, _modalState$socialLog2;
98
+ if (modalState.showExternalWalletsOnly) return false;
99
+ if (Object.keys(((_modalState$socialLog = modalState.socialLoginsConfig) === null || _modalState$socialLog === void 0 ? void 0 : _modalState$socialLog.loginMethods) || {}).length === 0) return false;
100
+ const isAnySocialLoginVisible = Object.entries(((_modalState$socialLog2 = modalState.socialLoginsConfig) === null || _modalState$socialLog2 === void 0 ? void 0 : _modalState$socialLog2.loginMethods) || {}).some(([k, v]) => k !== auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS && v.showOnModal !== false);
101
+ return isAnySocialLoginVisible;
102
+ }, [modalState]);
103
+ // Memo for checking if email passwordless login is visible
104
+ const isEmailPasswordLessLoginVisible = react.useMemo(() => {
105
+ var _modalState$socialLog3;
106
+ return (_modalState$socialLog3 = modalState.socialLoginsConfig) === null || _modalState$socialLog3 === void 0 || (_modalState$socialLog3 = _modalState$socialLog3.loginMethods[auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS]) === null || _modalState$socialLog3 === void 0 ? void 0 : _modalState$socialLog3.showOnModal;
107
+ }, [modalState.socialLoginsConfig]);
108
+ // Memo for checking if SMS passwordless login is visible
109
+ const isSmsPasswordLessLoginVisible = react.useMemo(() => {
110
+ var _modalState$socialLog4;
111
+ return (_modalState$socialLog4 = modalState.socialLoginsConfig) === null || _modalState$socialLog4 === void 0 || (_modalState$socialLog4 = _modalState$socialLog4.loginMethods[auth.AUTH_CONNECTION.SMS_PASSWORDLESS]) === null || _modalState$socialLog4 === void 0 ? void 0 : _modalState$socialLog4.showOnModal;
112
+ }, [modalState.socialLoginsConfig]);
113
+ const isEmailPrimary = react.useMemo(() => {
114
+ var _modalState$socialLog5;
115
+ return ((_modalState$socialLog5 = modalState.socialLoginsConfig) === null || _modalState$socialLog5 === void 0 || (_modalState$socialLog5 = _modalState$socialLog5.uiConfig) === null || _modalState$socialLog5 === void 0 ? void 0 : _modalState$socialLog5.primaryButton) === "emailLogin";
116
+ }, [modalState.socialLoginsConfig]);
117
+ const isExternalPrimary = react.useMemo(() => {
118
+ var _modalState$socialLog6;
119
+ return ((_modalState$socialLog6 = modalState.socialLoginsConfig) === null || _modalState$socialLog6 === void 0 || (_modalState$socialLog6 = _modalState$socialLog6.uiConfig) === null || _modalState$socialLog6 === void 0 ? void 0 : _modalState$socialLog6.primaryButton) === "externalLogin";
120
+ }, [modalState.socialLoginsConfig]);
121
+ const showPasswordLessInput = react.useMemo(() => isEmailPasswordLessLoginVisible || isSmsPasswordLessLoginVisible, [isEmailPasswordLessLoginVisible, isSmsPasswordLessLoginVisible]);
122
+ const showExternalWalletButton = react.useMemo(() => modalState.hasExternalWallets, [modalState]);
123
+ const showExternalWalletPage = react.useMemo(() => (areSocialLoginsVisible || showPasswordLessInput) && !modalState.externalWalletsVisibility, [areSocialLoginsVisible, showPasswordLessInput, modalState.externalWalletsVisibility]);
124
+ const handleExternalWalletBtnClick = flag => {
125
+ setModalState(prevState => {
126
+ return _objectSpread(_objectSpread({}, prevState), {}, {
127
+ externalWalletsVisibility: flag
128
+ });
129
+ });
130
+ if (handleShowExternalWallets) handleShowExternalWallets(modalState.externalWalletsInitialized);
131
+ };
132
+ const onCloseModal = () => {
133
+ setModalState(prevState => _objectSpread(_objectSpread({}, prevState), {}, {
134
+ externalWalletsVisibility: false,
135
+ modalVisibility: false,
136
+ currentPage: constants.PAGES.LOGIN
137
+ }));
138
+ closeModal();
139
+ };
140
+ const onCloseLoader = () => {
141
+ if (modalState.status === interfaces.MODAL_STATUS.CONNECTED) {
142
+ setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
143
+ modalVisibility: false,
144
+ externalWalletsVisibility: false
145
+ }));
146
+ }
147
+ if (modalState.status === interfaces.MODAL_STATUS.ERRORED) {
148
+ setModalState(_objectSpread(_objectSpread({}, modalState), {}, {
149
+ modalVisibility: true,
150
+ status: interfaces.MODAL_STATUS.INITIALIZED
151
+ }));
152
+ }
153
+ };
154
+ const showCloseIcon = react.useMemo(() => {
155
+ return modalState.status === interfaces.MODAL_STATUS.INITIALIZED || modalState.status === interfaces.MODAL_STATUS.CONNECTED || modalState.status === interfaces.MODAL_STATUS.ERRORED;
156
+ }, [modalState.status]);
157
+ react.useEffect(() => {
158
+ // TODO: maybe move this inside root
159
+ if (typeof modalState.externalWalletsConfig === "object") {
160
+ var _modalState$externalW;
161
+ const wcAvailable = (((_modalState$externalW = modalState.externalWalletsConfig[noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2]) === null || _modalState$externalW === void 0 ? void 0 : _modalState$externalW.showOnModal) || false) !== false;
162
+ if (wcAvailable && !modalState.walletConnectUri && typeof handleExternalWalletClick === "function") {
163
+ handleExternalWalletClick({
164
+ connector: noModal.WALLET_CONNECTORS.WALLET_CONNECT_V2
165
+ });
166
+ }
167
+ }
168
+ }, [modalState, handleExternalWalletClick]);
169
+ if (widgetType === noModal.WIDGET_TYPE.MODAL) {
170
+ return jsxRuntime.jsx(Modal, {
171
+ open: modalState.modalVisibility,
172
+ placement: "center",
173
+ padding: false,
174
+ showCloseIcon: showCloseIcon,
175
+ onClose: onCloseModal,
176
+ borderRadius: uiConfig.borderRadiusType,
177
+ children: modalState.modalVisibility && jsxRuntime.jsx(Root, {
178
+ appLogo: appLogo,
179
+ appName: appName,
180
+ chainNamespaces: chainNamespaces,
181
+ walletRegistry: walletRegistry,
182
+ showPasswordLessInput: showPasswordLessInput,
183
+ showExternalWalletButton: showExternalWalletButton,
184
+ handleSocialLoginClick: params => preHandleSocialWalletClick(params),
185
+ socialLoginsConfig: modalState.socialLoginsConfig,
186
+ areSocialLoginsVisible: areSocialLoginsVisible,
187
+ isEmailPrimary: isEmailPrimary,
188
+ isExternalPrimary: isExternalPrimary,
189
+ showExternalWalletPage: showExternalWalletPage,
190
+ handleExternalWalletBtnClick: handleExternalWalletBtnClick,
191
+ modalState: modalState,
192
+ preHandleExternalWalletClick: preHandleExternalWalletClick,
193
+ setModalState: setModalState,
194
+ onCloseLoader: onCloseLoader,
195
+ isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
196
+ isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
197
+ uiConfig: uiConfig
198
+ })
199
+ });
200
+ }
201
+ return jsxRuntime.jsx(Embed, {
202
+ open: modalState.modalVisibility,
203
+ padding: false,
204
+ onClose: onCloseModal,
205
+ borderRadius: uiConfig.borderRadiusType,
206
+ children: modalState.modalVisibility && jsxRuntime.jsx(Root, {
207
+ chainNamespaces: chainNamespaces,
208
+ walletRegistry: walletRegistry,
209
+ appLogo: appLogo,
210
+ appName: appName,
211
+ showPasswordLessInput: showPasswordLessInput,
212
+ showExternalWalletButton: showExternalWalletButton,
213
+ handleSocialLoginClick: params => preHandleSocialWalletClick(params),
214
+ socialLoginsConfig: modalState.socialLoginsConfig,
215
+ areSocialLoginsVisible: areSocialLoginsVisible,
216
+ isEmailPrimary: isEmailPrimary,
217
+ isExternalPrimary: isExternalPrimary,
218
+ showExternalWalletPage: showExternalWalletPage,
219
+ handleExternalWalletBtnClick: handleExternalWalletBtnClick,
220
+ modalState: modalState,
221
+ preHandleExternalWalletClick: preHandleExternalWalletClick,
222
+ setModalState: setModalState,
223
+ onCloseLoader: onCloseLoader,
224
+ isEmailPasswordLessLoginVisible: isEmailPasswordLessLoginVisible,
225
+ isSmsPasswordLessLoginVisible: isSmsPasswordLessLoginVisible,
226
+ uiConfig: uiConfig
227
+ })
228
+ });
229
+ }
230
+
231
+ module.exports = Widget;
@@ -7,10 +7,21 @@ function capitalizeFirstLetter(string) {
7
7
  }
8
8
  const restrictedLoginMethods = new Set([auth.AUTH_CONNECTION.CUSTOM, auth.AUTH_CONNECTION.PASSKEYS, auth.AUTH_CONNECTION.TELEGRAM, auth.AUTH_CONNECTION.AUTHENTICATOR]);
9
9
  const AUTH_PROVIDERS = Object.values(auth.AUTH_CONNECTION).filter(x => !restrictedLoginMethods.has(x));
10
- AUTH_PROVIDERS.reduce((acc, x) => {
10
+ const AUTH_PROVIDERS_NAMES = AUTH_PROVIDERS.reduce((acc, x) => {
11
11
  if (x === "email_passwordless") acc[x] = "Email";else if (x === "sms_passwordless") acc[x] = "Mobile";else acc[x] = capitalizeFirstLetter(x);
12
12
  return acc;
13
13
  }, {});
14
+ const PASSWORDLESS_BUILD_ENV_MAP = {
15
+ [auth.BUILD_ENV.DEVELOPMENT]: "http://localhost:3041/passwordless-service",
16
+ [auth.BUILD_ENV.STAGING]: "https://api.web3auth.io/passwordless-service",
17
+ [auth.BUILD_ENV.PRODUCTION]: "https://api.web3auth.io/passwordless-service",
18
+ [auth.BUILD_ENV.TESTING]: "https://api-develop.web3auth.io/passwordless-service"
19
+ };
20
+ const CAPTCHA_SITE_KEY = "d5f0c15c-eeda-4f9c-934a-d8e0348e83b2";
14
21
 
15
22
  exports.AUTH_PROVIDERS = AUTH_PROVIDERS;
23
+ exports.AUTH_PROVIDERS_NAMES = AUTH_PROVIDERS_NAMES;
24
+ exports.CAPTCHA_SITE_KEY = CAPTCHA_SITE_KEY;
25
+ exports.PASSWORDLESS_BUILD_ENV_MAP = PASSWORDLESS_BUILD_ENV_MAP;
16
26
  exports.capitalizeFirstLetter = capitalizeFirstLetter;
27
+ exports.restrictedLoginMethods = restrictedLoginMethods;
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ const PAGES = {
4
+ LOGIN: "login",
5
+ CONNECT_WALLET: "connect_wallet"};
6
+ const CONNECT_WALLET_PAGES = {
7
+ CONNECT_WALLET: "Connect Your Wallet",
8
+ SELECTED_WALLET: "Selected Wallet"
9
+ };
10
+ const DEFAULT_LOGO_LIGHT = "https://images.web3auth.io/web3auth-logo-w.svg"; // logo used on light mode
11
+ const DEFAULT_LOGO_DARK = "https://images.web3auth.io/web3auth-logo-w-light.svg"; // logo used on dark mode
12
+ const WALLET_CONNECT_LOGO = "https://images.web3auth.io/login-wallet-connect.svg";
13
+
14
+ exports.CONNECT_WALLET_PAGES = CONNECT_WALLET_PAGES;
15
+ exports.DEFAULT_LOGO_DARK = DEFAULT_LOGO_DARK;
16
+ exports.DEFAULT_LOGO_LIGHT = DEFAULT_LOGO_LIGHT;
17
+ exports.PAGES = PAGES;
18
+ exports.WALLET_CONNECT_LOGO = WALLET_CONNECT_LOGO;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var interfaces = require('../interfaces.js');
5
+
6
+ const RootContext = /*#__PURE__*/react.createContext({
7
+ bodyState: {
8
+ showWalletDetails: false,
9
+ walletDetails: null,
10
+ showMultiChainSelector: false
11
+ },
12
+ toast: {
13
+ message: "",
14
+ type: interfaces.TOAST_TYPE.SUCCESS
15
+ },
16
+ setBodyState: () => {},
17
+ setToast: () => {}
18
+ });
19
+
20
+ exports.RootContext = RootContext;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
3
+ var react = require('react');
4
4
 
5
- const ThemedContext = /*#__PURE__*/React.createContext({
5
+ const ThemedContext = /*#__PURE__*/react.createContext({
6
6
  isDark: true // default value
7
7
  });
8
8
 
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap\");.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.w3a-parent-container ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }\n/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.w3a-parent-container *,.w3a-parent-container :after,.w3a-parent-container :before{border:0 solid;box-sizing:border-box}.w3a-parent-container :after,.w3a-parent-container :before{--tw-content:\"\"}.w3a-parent-container :host,.w3a-parent-container html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}.w3a-parent-container body{line-height:inherit;margin:0}.w3a-parent-container hr{border-top-width:1px;color:inherit;height:0}.w3a-parent-container abbr:where([title]){text-decoration:underline dotted}.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6{font-size:inherit;font-weight:inherit}.w3a-parent-container a{color:inherit;text-decoration:inherit}.w3a-parent-container b,.w3a-parent-container strong{font-weight:bolder}.w3a-parent-container code,.w3a-parent-container kbd,.w3a-parent-container pre,.w3a-parent-container samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.w3a-parent-container small{font-size:80%}.w3a-parent-container sub,.w3a-parent-container sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.w3a-parent-container sub{bottom:-.25em}.w3a-parent-container sup{top:-.5em}.w3a-parent-container table{border-collapse:collapse;border-color:inherit;text-indent:0}.w3a-parent-container button,.w3a-parent-container input,.w3a-parent-container optgroup,.w3a-parent-container select,.w3a-parent-container textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.w3a-parent-container button,.w3a-parent-container select{text-transform:none}.w3a-parent-container button,.w3a-parent-container input:where([type=button]),.w3a-parent-container input:where([type=reset]),.w3a-parent-container input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}.w3a-parent-container :-moz-focusring{outline:auto}.w3a-parent-container :-moz-ui-invalid{box-shadow:none}.w3a-parent-container progress{vertical-align:initial}.w3a-parent-container ::-webkit-inner-spin-button,.w3a-parent-container ::-webkit-outer-spin-button{height:auto}.w3a-parent-container [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.w3a-parent-container ::-webkit-search-decoration{-webkit-appearance:none}.w3a-parent-container ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.w3a-parent-container summary{display:list-item}.w3a-parent-container blockquote,.w3a-parent-container dd,.w3a-parent-container dl,.w3a-parent-container figure,.w3a-parent-container h1,.w3a-parent-container h2,.w3a-parent-container h3,.w3a-parent-container h4,.w3a-parent-container h5,.w3a-parent-container h6,.w3a-parent-container hr,.w3a-parent-container p,.w3a-parent-container pre{margin:0}.w3a-parent-container fieldset{margin:0;padding:0}.w3a-parent-container legend{padding:0}.w3a-parent-container menu,.w3a-parent-container ol,.w3a-parent-container ul{list-style:none;margin:0;padding:0}.w3a-parent-container dialog{padding:0}.w3a-parent-container textarea{resize:vertical}.w3a-parent-container input::placeholder,.w3a-parent-container textarea::placeholder{color:#9ca3af;opacity:1}.w3a-parent-container [role=button],.w3a-parent-container button{cursor:pointer}.w3a-parent-container :disabled{cursor:default}.w3a-parent-container audio,.w3a-parent-container canvas,.w3a-parent-container embed,.w3a-parent-container iframe,.w3a-parent-container img,.w3a-parent-container object,.w3a-parent-container svg,.w3a-parent-container video{display:block;vertical-align:middle}.w3a-parent-container img,.w3a-parent-container video{height:auto;max-width:100%}.w3a-parent-container [hidden]:where(:not([hidden=until-found])){display:none}.w3a-parent-container{--app-on-primary:#fff;--app-primary-50:#ebf5ff;--app-primary-100:#e1effe;--app-primary-200:#c3ddfd;--app-primary-300:#a4cafe;--app-primary-400:#76a9fa;--app-primary-500:#3f83f8;--app-primary-600:#0346ff;--app-primary-700:#1a56db;--app-primary-800:#1e429f;--app-primary-900:#233876;--app-gray-50:#f9fafb;--app-gray-100:#f3f4f6;--app-gray-200:#e5e7eb;--app-gray-300:#d1d5db;--app-gray-400:#9ca3af;--app-gray-500:#6b7280;--app-gray-600:#4b5563;--app-gray-700:#374151;--app-gray-800:#1f2a37;--app-gray-900:#111928;--app-blue-50:#ebf5ff;--app-blue-100:#e1effe;--app-blue-200:#c3ddfd;--app-blue-300:#a4cafe;--app-blue-400:#76a9fa;--app-blue-500:#3f83f8;--app-blue-600:#0346ff;--app-blue-700:#1a56db;--app-blue-800:#1e429f;--app-blue-900:#233876;--app-red-50:#fdf2f2;--app-red-100:#fde8e8;--app-red-200:#fbd5d5;--app-red-300:#f8b4b4;--app-red-400:#f98080;--app-red-500:#f05252;--app-red-600:#e02424;--app-red-700:#c81e1e;--app-red-800:#9b1c1c;--app-red-900:#771d1d;--app-green-50:#f3faf7;--app-green-100:#def7ec;--app-green-200:#bcf0da;--app-green-300:#84e1bc;--app-green-400:#31c48d;--app-green-500:#0e9f6e;--app-green-600:#057a55;--app-green-700:#046c4e;--app-green-800:#03543f;--app-green-900:#014737;--app-yellow-50:#fdfdea;--app-yellow-100:#fdf6b2;--app-yellow-200:#fce96a;--app-yellow-300:#faca15;--app-yellow-400:#e3a008;--app-yellow-500:#c27803;--app-yellow-600:#9f580a;--app-yellow-700:#8e4b10;--app-yellow-800:#723b13;--app-yellow-900:#633112;--app-success:#30cca4;--app-warning:#fbc94a;--app-error:#fb4a61;--app-info:#d4d4d4;--app-white:#fff;--app-black:#000}.w3a-parent-container body{box-sizing:border-box;margin:0!important;padding:0!important}.w3a-parent-container{font-family:Inter;position:relative}.w3a-parent-container .w3a-parent-container>*{scrollbar-color:#e5e7eb!important}.w3a-parent-container .w3a-external-wallet-btn #external-wallet-count{display:block}.w3a-parent-container .w3a-external-wallet-btn #external-wallet-arrow,.w3a-parent-container .w3a-external-wallet-btn:hover>#external-wallet-count{display:none}.w3a-parent-container .w3a-external-wallet-btn:hover>#external-wallet-arrow{display:block}.w3a-parent-container .w3a-arrow>#login-arrow{display:none}.w3a-parent-container .w3a-arrow:hover>#login-arrow{display:block}.w3a-parent-container .w3a-img-login-group>img#active-login-img{display:none}.w3a-parent-container .w3a-img-login-group:hover>img#active-login-img,.w3a-parent-container .w3a-img-login-group>img#login-img{display:block}.w3a-parent-container .w3a--link-arrow>#device-link-arrow,.w3a-parent-container .w3a-img-login-group:hover>img#login-img{display:none}.w3a-parent-container .w3a--link-arrow:hover>#device-link-arrow{display:block}.w3a-parent-container .w3a--fixed{position:fixed}.w3a-parent-container .w3a--absolute{position:absolute}.w3a-parent-container .w3a--relative{position:relative}.w3a-parent-container .w3a--inset-x-4{left:1rem;right:1rem}.w3a-parent-container .w3a--bottom-2{bottom:.5rem}.w3a-parent-container .w3a--bottom-4{bottom:1rem}.w3a-parent-container .w3a--bottom-8{bottom:2rem}.w3a-parent-container .w3a--bottom-\\[100\\%\\]{bottom:100%}.w3a-parent-container .w3a--left-0{left:0}.w3a-parent-container .w3a--left-2{left:.5rem}.w3a-parent-container .w3a--left-\\[50\\%\\]{left:50%}.w3a-parent-container .w3a--right-4{right:1rem}.w3a-parent-container .w3a--right-6{right:1.5rem}.w3a-parent-container .w3a--top-0{top:0}.w3a-parent-container .w3a--top-4{top:1rem}.w3a-parent-container .w3a--top-8{top:2rem}.w3a-parent-container .w3a--top-\\[16px\\]{top:16px}.w3a-parent-container .w3a--top-\\[30px\\]{top:30px}.w3a-parent-container .w3a--z-10{z-index:10}.w3a-parent-container .w3a--z-20{z-index:20}.w3a-parent-container .w3a--z-50{z-index:50}.w3a-parent-container .w3a--z-\\[-1\\]{z-index:-1}.w3a-parent-container .w3a--z-\\[45\\]{z-index:45}.w3a-parent-container .w3a--z-\\[60\\]{z-index:60}.w3a-parent-container .w3a--mx-auto{margin-left:auto;margin-right:auto}.w3a-parent-container .w3a--my-4{margin-bottom:1rem;margin-top:1rem}.w3a-parent-container .w3a--my-6{margin-bottom:1.5rem;margin-top:1.5rem}.w3a-parent-container .-w3a--mt-10{margin-top:-2.5rem}.w3a-parent-container .-w3a--mt-2{margin-top:-.5rem}.w3a-parent-container .-w3a--mt-6{margin-top:-1.5rem}.w3a-parent-container .w3a--ml-0{margin-left:0}.w3a-parent-container .w3a--ml-2{margin-left:.5rem}.w3a-parent-container .w3a--ml-4{margin-left:1rem}.w3a-parent-container .w3a--ml-auto{margin-left:auto}.w3a-parent-container .w3a--mr-auto{margin-right:auto}.w3a-parent-container .w3a--mt-2{margin-top:.5rem}.w3a-parent-container .w3a--mt-3{margin-top:.75rem}.w3a-parent-container .w3a--mt-auto{margin-top:auto}.w3a-parent-container .w3a--block{display:block}.w3a-parent-container .w3a--flex{display:flex}.w3a-parent-container .w3a--inline-flex{display:inline-flex}.w3a-parent-container .w3a--grid{display:grid}.w3a-parent-container .w3a--contents{display:contents}.w3a-parent-container .w3a--hidden{display:none}.w3a-parent-container .w3a--size-5{height:1.25rem;width:1.25rem}.w3a-parent-container .w3a--size-\\[300px\\]{height:300px;width:300px}.w3a-parent-container .w3a--size-auto{height:auto;width:auto}.w3a-parent-container .w3a--size-full{height:100%;width:100%}.w3a-parent-container .w3a--h-0{height:0}.w3a-parent-container .w3a--h-12{height:3rem}.w3a-parent-container .w3a--h-4{height:1rem}.w3a-parent-container .w3a--h-\\[280px\\]{height:280px}.w3a-parent-container .w3a--h-\\[300px\\]{height:300px}.w3a-parent-container .w3a--h-\\[42px\\]{height:42px}.w3a-parent-container .w3a--h-\\[50px\\]{height:50px}.w3a-parent-container .w3a--h-auto{height:auto}.w3a-parent-container .w3a--h-full{height:100%}.w3a-parent-container .w3a--h-px{height:1px}.w3a-parent-container .w3a--h-screen{height:100vh}.w3a-parent-container .w3a--w-0{width:0}.w3a-parent-container .w3a--w-12{width:3rem}.w3a-parent-container .w3a--w-4\\/5{width:80%}.w3a-parent-container .w3a--w-\\[100px\\]{width:100px}.w3a-parent-container .w3a--w-\\[200px\\]{width:200px}.w3a-parent-container .w3a--w-\\[356px\\]{width:356px}.w3a-parent-container .w3a--w-\\[90\\%\\]{width:90%}.w3a-parent-container .w3a--w-\\[96\\%\\]{width:96%}.w3a-parent-container .w3a--w-auto{width:auto}.w3a-parent-container .w3a--w-full{width:100%}.w3a-parent-container .w3a--w-max{width:max-content}.w3a-parent-container .w3a--w-screen{width:100vw}.w3a-parent-container .w3a--flex-1{flex:1 1 0%}.w3a-parent-container .w3a--translate-y-0{--tw-translate-y:0px}.w3a-parent-container .w3a--translate-y-0,.w3a-parent-container .w3a--translate-y-\\[100vh\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--translate-y-\\[100vh\\]{--tw-translate-y:100vh}.w3a-parent-container .w3a--translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--animate-pulse{animation:w3a--pulse 2s cubic-bezier(.4,0,.6,1) infinite}.w3a-parent-container .w3a--cursor-not-allowed{cursor:not-allowed}.w3a-parent-container .w3a--cursor-pointer{cursor:pointer}.w3a-parent-container .w3a--appearance-none{appearance:none}.w3a-parent-container .w3a--auto-rows-min{grid-auto-rows:min-content}.w3a-parent-container .w3a--grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.w3a-parent-container .w3a--grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.w3a-parent-container .w3a--flex-col{flex-direction:column}.w3a-parent-container .w3a--items-start{align-items:flex-start}.w3a-parent-container .w3a--items-end{align-items:flex-end}.w3a-parent-container .w3a--items-center{align-items:center}.w3a-parent-container .\\!w3a--justify-start{justify-content:flex-start!important}.w3a-parent-container .w3a--justify-start{justify-content:flex-start}.w3a-parent-container .\\!w3a--justify-center{justify-content:center!important}.w3a-parent-container .w3a--justify-center{justify-content:center}.w3a-parent-container .\\!w3a--justify-between{justify-content:space-between!important}.w3a-parent-container .w3a--justify-between{justify-content:space-between}.w3a-parent-container .w3a--justify-items-start{justify-items:start}.w3a-parent-container .w3a--gap-2{gap:.5rem}.w3a-parent-container .w3a--gap-3{gap:.75rem}.w3a-parent-container .w3a--gap-x-1{column-gap:.25rem}.w3a-parent-container .w3a--gap-x-2{column-gap:.5rem}.w3a-parent-container .w3a--gap-x-6{column-gap:1.5rem}.w3a-parent-container .w3a--gap-y-1{row-gap:.25rem}.w3a-parent-container .w3a--gap-y-2{row-gap:.5rem}.w3a-parent-container .w3a--gap-y-4{row-gap:1rem}.w3a-parent-container .w3a--space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.w3a-parent-container .w3a--overflow-hidden{overflow:hidden}.w3a-parent-container .w3a--overflow-y-auto{overflow-y:auto}.w3a-parent-container .w3a--rounded{border-radius:.25rem}.w3a-parent-container .w3a--rounded-2xl{border-radius:1rem}.w3a-parent-container .w3a--rounded-3xl{border-radius:1.5rem}.w3a-parent-container .w3a--rounded-\\[30px\\]{border-radius:30px}.w3a-parent-container .w3a--rounded-full{border-radius:9999px}.w3a-parent-container .w3a--rounded-lg{border-radius:.5rem}.w3a-parent-container .w3a--rounded-md{border-radius:.375rem}.w3a-parent-container .w3a--rounded-none{border-radius:0}.w3a-parent-container .w3a--border{border-width:1px}.w3a-parent-container .\\!w3a--border-app-primary-600{border-color:var(--app-primary-600)!important}.w3a-parent-container .w3a--border-app-blue-200{border-color:var(--app-blue-200)}.w3a-parent-container .w3a--border-app-gray-100{border-color:var(--app-gray-100)}.w3a-parent-container .w3a--border-app-gray-200{border-color:var(--app-gray-200)}.w3a-parent-container .w3a--border-app-gray-300{border-color:var(--app-gray-300)}.w3a-parent-container .w3a--border-app-gray-400{border-color:var(--app-gray-400)}.w3a-parent-container .w3a--border-app-gray-800{border-color:var(--app-gray-800)}.w3a-parent-container .w3a--border-app-green-200{border-color:var(--app-green-200)}.w3a-parent-container .w3a--border-app-green-400{border-color:var(--app-green-400)}.w3a-parent-container .w3a--border-app-red-200{border-color:var(--app-red-200)}.w3a-parent-container .w3a--border-app-red-600{border-color:var(--app-red-600)}.w3a-parent-container .w3a--border-app-yellow-200{border-color:var(--app-yellow-200)}.w3a-parent-container .w3a--bg-app-blue-100{background-color:var(--app-blue-100)}.w3a-parent-container .w3a--bg-app-gray-100{background-color:var(--app-gray-100)}.w3a-parent-container .w3a--bg-app-gray-200{background-color:var(--app-gray-200)}.w3a-parent-container .w3a--bg-app-gray-300{background-color:var(--app-gray-300)}.w3a-parent-container .w3a--bg-app-gray-400{background-color:var(--app-gray-400)}.w3a-parent-container .w3a--bg-app-gray-50{background-color:var(--app-gray-50)}.w3a-parent-container .w3a--bg-app-gray-500{background-color:var(--app-gray-500)}.w3a-parent-container .w3a--bg-app-gray-800{background-color:var(--app-gray-800)}.w3a-parent-container .w3a--bg-app-green-100{background-color:var(--app-green-100)}.w3a-parent-container .w3a--bg-app-light-surface1{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-primary-100{background-color:var(--app-primary-100)}.w3a-parent-container .w3a--bg-app-red-100{background-color:var(--app-red-100)}.w3a-parent-container .w3a--bg-app-white{background-color:var(--app-white)}.w3a-parent-container .w3a--bg-app-yellow-100{background-color:var(--app-yellow-100)}.w3a-parent-container .w3a--bg-transparent{background-color:initial}.w3a-parent-container .w3a--object-contain{object-fit:contain}.w3a-parent-container .w3a--p-0{padding:0}.w3a-parent-container .w3a--p-2{padding:.5rem}.w3a-parent-container .w3a--p-3{padding:.75rem}.w3a-parent-container .w3a--p-4{padding:1rem}.w3a-parent-container .w3a--p-6{padding:1.5rem}.w3a-parent-container .w3a--px-1{padding-left:.25rem;padding-right:.25rem}.w3a-parent-container .w3a--px-2{padding-left:.5rem;padding-right:.5rem}.w3a-parent-container .w3a--px-2\\.5{padding-left:.625rem;padding-right:.625rem}.w3a-parent-container .w3a--px-3{padding-left:.75rem;padding-right:.75rem}.w3a-parent-container .w3a--px-4{padding-left:1rem;padding-right:1rem}.w3a-parent-container .w3a--px-5{padding-left:1.25rem;padding-right:1.25rem}.w3a-parent-container .w3a--px-\\[6px\\]{padding-left:6px;padding-right:6px}.w3a-parent-container .w3a--py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.w3a-parent-container .w3a--py-1{padding-bottom:.25rem;padding-top:.25rem}.w3a-parent-container .w3a--py-2{padding-bottom:.5rem;padding-top:.5rem}.w3a-parent-container .w3a--py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.w3a-parent-container .w3a--py-3{padding-bottom:.75rem;padding-top:.75rem}.w3a-parent-container .w3a--py-6{padding-bottom:1.5rem;padding-top:1.5rem}.w3a-parent-container .w3a--py-\\[3px\\]{padding-bottom:3px;padding-top:3px}.w3a-parent-container .w3a--pl-6{padding-left:1.5rem}.w3a-parent-container .w3a--pr-1\\.5{padding-right:.375rem}.w3a-parent-container .w3a--pt-6{padding-top:1.5rem}.w3a-parent-container .w3a--text-left{text-align:left}.w3a-parent-container .w3a--text-center{text-align:center}.w3a-parent-container .w3a--text-start{text-align:start}.w3a-parent-container .w3a--text-base{font-size:1rem;line-height:1.5rem}.w3a-parent-container .w3a--text-lg{font-size:1.125rem;line-height:1.75rem}.w3a-parent-container .w3a--text-sm{font-size:.875rem;line-height:1.25rem}.w3a-parent-container .w3a--text-xl{font-size:1.25rem;line-height:1.75rem}.w3a-parent-container .w3a--text-xs{font-size:.75rem;line-height:1rem}.w3a-parent-container .w3a--font-bold{font-weight:700}.w3a-parent-container .w3a--font-medium{font-weight:500}.w3a-parent-container .w3a--font-normal{font-weight:400}.w3a-parent-container .w3a--font-semibold{font-weight:600}.w3a-parent-container .w3a--uppercase{text-transform:uppercase}.w3a-parent-container .w3a--text-app-blue-900{color:var(--app-blue-900)}.w3a-parent-container .w3a--text-app-gray-100{color:var(--app-gray-100)}.w3a-parent-container .w3a--text-app-gray-300{color:var(--app-gray-300)}.w3a-parent-container .w3a--text-app-gray-400{color:var(--app-gray-400)}.w3a-parent-container .w3a--text-app-gray-500{color:var(--app-gray-500)}.w3a-parent-container .w3a--text-app-gray-700{color:var(--app-gray-700)}.w3a-parent-container .w3a--text-app-gray-900{color:var(--app-gray-900)}.w3a-parent-container .w3a--text-app-green-400{color:var(--app-green-400)}.w3a-parent-container .w3a--text-app-green-500{color:var(--app-green-500)}.w3a-parent-container .w3a--text-app-green-900{color:var(--app-green-900)}.w3a-parent-container .w3a--text-app-primary-600{color:var(--app-primary-600)}.w3a-parent-container .w3a--text-app-primary-800{color:var(--app-primary-800)}.w3a-parent-container .w3a--text-app-red-400{color:var(--app-red-400)}.w3a-parent-container .w3a--text-app-red-500{color:var(--app-red-500)}.w3a-parent-container .w3a--text-app-red-900{color:var(--app-red-900)}.w3a-parent-container .w3a--text-app-white{color:var(--app-white)}.w3a-parent-container .w3a--text-app-yellow-900{color:var(--app-yellow-900)}.w3a-parent-container .w3a--shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-2xl,.w3a-parent-container .w3a--shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.w3a-parent-container .w3a--shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--outline-none{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .w3a--transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--delay-100{transition-delay:.1s}.w3a-parent-container .w3a--delay-500{transition-delay:.5s}.w3a-parent-container .w3a--delay-700{transition-delay:.7s}.w3a-parent-container .w3a--duration-300{transition-duration:.3s}.w3a-parent-container .w3a--duration-500{transition-duration:.5s}.w3a-parent-container .w3a--duration-\\[400ms\\]{transition-duration:.4s}.w3a-parent-container .w3a--ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.w3a-parent-container .w3a--ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.w3a-parent-container .w3a--loader-logo-size{height:2.5rem;width:2.5rem}.w3a-parent-container .w3a--animate-circle{height:.75rem;width:.75rem}@keyframes w3a--pulse{50%{opacity:.5}}.w3a-parent-container .w3a--animate-circle{animation:w3a--pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:9999px}.w3a-parent-container .w3a--bottom-sheet-bg{background-color:var(--app-gray-600);opacity:.5}.w3a-parent-container .w3a--connected-logo{color:var(--app-green-500);height:4rem;width:4rem}.w3a-parent-container .w3a--connected-logo:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .w3a--error-logo{color:var(--app-red-500);height:4rem;width:4rem}.w3a-parent-container .w3a--error-logo:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .w3a--btn{align-items:center;appearance:none;border-color:var(--app-gray-200);border-width:1px;color:var(--app-gray-700);column-gap:.5rem;display:flex;font-size:1rem;font-weight:400;justify-content:center;line-height:1.5rem;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--btn:hover{--tw-translate-y:0.5px;--tw-shadow:0px 2px 8px 2px #e5e7eb;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-50);border-color:var(--app-gray-50);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .w3a--btn:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .w3a--btn:hover:is(.w3a--dark *){--tw-shadow:0px 2px 8px 2px #111928;--tw-shadow-colored:0px 2px 8px 2px var(--tw-shadow-color);background-color:var(--app-gray-800);border-color:var(--app-gray-800);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .w3a--input{align-items:center;border-color:var(--app-gray-200);border-width:1px;column-gap:.5rem;display:flex;justify-content:space-between;padding:.75rem 1.25rem;width:100%}.w3a-parent-container .w3a--input:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .w3a--icon-animation{animation:w3a--icon-move 1s ease-in-out infinite}@keyframes w3a--icon-move{0%{transform:translateX(0)}50%{transform:translateX(10px)}to{transform:translateX(0)}}.w3a-parent-container .w3a--modal-curtain{background-color:initial;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity 50ms ease-in;z-index:1}.w3a-parent-container .first-letter\\:w3a--capitalize:first-letter{text-transform:capitalize}.w3a-parent-container .placeholder\\:w3a--text-xs::placeholder{font-size:.75rem;line-height:1rem}.w3a-parent-container .placeholder\\:w3a--text-app-gray-400::placeholder{color:var(--app-gray-400)}.w3a-parent-container .hover\\:w3a--translate-y-\\[0\\.5px\\]:hover{--tw-translate-y:0.5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.w3a-parent-container .hover\\:w3a--border-app-gray-50:hover{border-color:var(--app-gray-50)}.w3a-parent-container .hover\\:w3a--bg-app-gray-200:hover{background-color:var(--app-gray-200)}.w3a-parent-container .hover\\:w3a--bg-app-white:hover{background-color:var(--app-white)}.w3a-parent-container .hover\\:w3a--text-app-gray-900:hover{color:var(--app-gray-900)}.w3a-parent-container .hover\\:w3a--shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.w3a-parent-container .active\\:w3a--outline-none:active,.w3a-parent-container .focus\\:w3a--outline-none:focus{outline:2px solid #0000;outline-offset:2px}.w3a-parent-container .dark\\:w3a--block:is(.w3a--dark *){display:block}.w3a-parent-container .dark\\:w3a--hidden:is(.w3a--dark *){display:none}.w3a-parent-container .dark\\:w3a--border:is(.w3a--dark *){border-width:1px}.w3a-parent-container .dark\\:w3a--border-app-gray-300:is(.w3a--dark *){border-color:var(--app-gray-300)}.w3a-parent-container .dark\\:w3a--border-app-gray-500:is(.w3a--dark *){border-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--border-app-gray-600:is(.w3a--dark *){border-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--border-app-gray-700:is(.w3a--dark *){border-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--border-app-gray-800:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--border-app-green-500:is(.w3a--dark *){border-color:var(--app-green-500)}.w3a-parent-container .dark\\:w3a--border-app-primary-400:is(.w3a--dark *){border-color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--border-app-primary-500:is(.w3a--dark *){border-color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--border-app-red-500:is(.w3a--dark *){border-color:var(--app-red-500)}.w3a-parent-container .dark\\:w3a--bg-app-dark-surface-main:is(.w3a--dark *){background-color:var(--app-gray-900)}.w3a-parent-container .dark\\:w3a--bg-app-gray-200:is(.w3a--dark *){background-color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--bg-app-gray-400:is(.w3a--dark *){background-color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--bg-app-gray-500:is(.w3a--dark *){background-color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--bg-app-gray-600:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:w3a--bg-app-gray-700:is(.w3a--dark *){background-color:var(--app-gray-700)}.w3a-parent-container .dark\\:w3a--bg-app-gray-800:is(.w3a--dark *){background-color:var(--app-gray-800)}.w3a-parent-container .dark\\:w3a--bg-transparent:is(.w3a--dark *){background-color:initial}.w3a-parent-container .dark\\:w3a--text-app-gray-200:is(.w3a--dark *){color:var(--app-gray-200)}.w3a-parent-container .dark\\:w3a--text-app-gray-300:is(.w3a--dark *){color:var(--app-gray-300)}.w3a-parent-container .dark\\:w3a--text-app-gray-400:is(.w3a--dark *){color:var(--app-gray-400)}.w3a-parent-container .dark\\:w3a--text-app-gray-500:is(.w3a--dark *){color:var(--app-gray-500)}.w3a-parent-container .dark\\:w3a--text-app-green-400:is(.w3a--dark *){color:var(--app-green-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-400:is(.w3a--dark *){color:var(--app-primary-400)}.w3a-parent-container .dark\\:w3a--text-app-primary-500:is(.w3a--dark *){color:var(--app-primary-500)}.w3a-parent-container .dark\\:w3a--text-app-red-400:is(.w3a--dark *){color:var(--app-red-400)}.w3a-parent-container .dark\\:w3a--text-app-white:is(.w3a--dark *){color:var(--app-white)}.w3a-parent-container .dark\\:placeholder\\:w3a--text-app-gray-500:is(.w3a--dark *)::placeholder{color:var(--app-gray-500)}.w3a-parent-container .dark\\:hover\\:w3a--border-app-gray-800:hover:is(.w3a--dark *){border-color:var(--app-gray-800)}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-600:hover:is(.w3a--dark *){background-color:var(--app-gray-600)}.w3a-parent-container .dark\\:hover\\:w3a--bg-app-gray-700:hover:is(.w3a--dark *){background-color:var(--app-gray-700)}@media (min-width:640px){.w3a-parent-container .sm\\:w3a--left-8{left:2rem}.w3a-parent-container .sm\\:w3a--right-8{right:2rem}.w3a-parent-container .sm\\:w3a--justify-start{justify-content:flex-start}.w3a-parent-container .sm\\:w3a--justify-end{justify-content:flex-end}.w3a-parent-container .sm\\:w3a--shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media(min-width:375px){.w3a-parent-container .\\[\\@media\\(min-width\\:375px\\)\\]\\:w3a--w-\\[393px\\]{width:393px}}";
6
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
@@ -0,0 +1,117 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var httpHelpers = require('@toruslabs/http-helpers');
5
+ var auth = require('@web3auth/auth');
6
+ var noModal = require('@web3auth/no-modal');
7
+ var config = require('../config.js');
8
+ var utils = require('../utils.js');
9
+
10
+ class PasswordlessHandler {
11
+ constructor(params) {
12
+ _defineProperty(this, "authBaseApiUrl", `${config.PASSWORDLESS_BUILD_ENV_MAP[auth.BUILD_ENV.TESTING]}/api/v3/auth`);
13
+ _defineProperty(this, "passwordlessParams", void 0);
14
+ _defineProperty(this, "trackingIdentifier", void 0);
15
+ if (!params.authConnection) throw noModal.WalletInitializationError.invalidParams("authConnection is required");
16
+ if (!params.web3authClientId) throw noModal.WalletInitializationError.invalidParams("web3authClientId is required");
17
+ if (!params.loginHint) throw noModal.WalletInitializationError.invalidParams("loginHint is required");
18
+ if (!params.network) throw noModal.WalletInitializationError.invalidParams("network is required");
19
+ this.passwordlessParams = params;
20
+ }
21
+ get name() {
22
+ if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS) return "Email";
23
+ if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.SMS_PASSWORDLESS) return "Mobile";
24
+ throw noModal.WalletInitializationError.invalidParams("Invalid authConnection");
25
+ }
26
+ get connection() {
27
+ if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS) return "email";
28
+ if (this.passwordlessParams.authConnection === auth.AUTH_CONNECTION.SMS_PASSWORDLESS) return "sms";
29
+ throw noModal.WalletInitializationError.invalidParams("Invalid authConnection");
30
+ }
31
+ get trackingId() {
32
+ return this.trackingIdentifier;
33
+ }
34
+ get sessionStorageAvailable() {
35
+ return auth.storageAvailable("sessionStorage");
36
+ }
37
+ get whiteLabelParams() {
38
+ var _ref;
39
+ const {
40
+ uiConfig
41
+ } = this.passwordlessParams;
42
+ if (!uiConfig) return {};
43
+ const {
44
+ appName,
45
+ appUrl,
46
+ defaultLanguage,
47
+ mode,
48
+ logoLight,
49
+ logoDark,
50
+ theme
51
+ } = uiConfig;
52
+ const finalLogo = (_ref = mode === "dark" ? logoDark : logoLight) !== null && _ref !== void 0 ? _ref : "";
53
+ return {
54
+ mode: mode !== null && mode !== void 0 ? mode : "light",
55
+ name: appName !== null && appName !== void 0 ? appName : "",
56
+ url: appUrl !== null && appUrl !== void 0 ? appUrl : "",
57
+ language: defaultLanguage !== null && defaultLanguage !== void 0 ? defaultLanguage : "en",
58
+ logo: finalLogo.includes(".svg") ? "" : finalLogo,
59
+ theme: theme !== null && theme !== void 0 ? theme : {}
60
+ };
61
+ }
62
+ set trackingId(value) {
63
+ this.trackingIdentifier = value;
64
+ }
65
+ async start(params) {
66
+ try {
67
+ const result = await httpHelpers.post(`${this.authBaseApiUrl}/passwordless/start`, params);
68
+ if (result && result.success) {
69
+ var _result$data;
70
+ this.trackingId = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.trackingId;
71
+ if (this.sessionStorageAvailable) window.sessionStorage.setItem("trackingId", this.trackingId);
72
+ }
73
+ return result;
74
+ } catch (e) {
75
+ return this.handleError(e);
76
+ }
77
+ }
78
+ async verify(params) {
79
+ try {
80
+ const result = await httpHelpers.post(`${this.authBaseApiUrl}/passwordless/verify`, params);
81
+ if (result.success) {
82
+ if (this.sessionStorageAvailable) window.sessionStorage.removeItem("trackingId");
83
+ return {
84
+ success: true,
85
+ data: {
86
+ id_token: result.id_token
87
+ }
88
+ };
89
+ }
90
+ return {
91
+ success: false,
92
+ error: result.message
93
+ };
94
+ } catch (e) {
95
+ return this.handleError(e);
96
+ }
97
+ }
98
+ async handleError(e) {
99
+ let error;
100
+ if (e.status === 429) {
101
+ error = "passwordless.error-too-many-requests";
102
+ } else {
103
+ try {
104
+ const err = await e.json();
105
+ error = err.error_code ? utils.getErrorMessages(err.error_code) : err.message;
106
+ } catch {
107
+ error = "passwordless.something-wrong-error";
108
+ }
109
+ }
110
+ return {
111
+ success: false,
112
+ error: error
113
+ };
114
+ }
115
+ }
116
+
117
+ exports.PasswordlessHandler = PasswordlessHandler;
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var auth = require('@web3auth/auth');
5
+ var AbstractHandler = require('./AbstractHandler.js');
6
+
7
+ class EmailPasswordlessHandler extends AbstractHandler.PasswordlessHandler {
8
+ constructor(params) {
9
+ var _window$sessionStorag;
10
+ super(params);
11
+ _defineProperty(this, "mailSent", void 0);
12
+ this.mailSent = false;
13
+ if (this.sessionStorageAvailable) this.trackingId = (_window$sessionStorag = window.sessionStorage.getItem("trackingId")) !== null && _window$sessionStorag !== void 0 ? _window$sessionStorag : undefined;
14
+ }
15
+ async sendVerificationCode() {
16
+ const {
17
+ loginHint,
18
+ network,
19
+ web3authClientId
20
+ } = this.passwordlessParams;
21
+ const finalParams = {
22
+ client_id: web3authClientId,
23
+ web3auth_client_id: web3authClientId,
24
+ connection: this.connection,
25
+ login_hint: loginHint,
26
+ tracking_id: this.trackingId,
27
+ whitelabel: this.whiteLabelParams,
28
+ version: "",
29
+ network,
30
+ flow_type: auth.EMAIL_FLOW.code
31
+ };
32
+ return super.start(finalParams);
33
+ }
34
+ async verifyCode(code) {
35
+ const {
36
+ loginHint,
37
+ network,
38
+ web3authClientId
39
+ } = this.passwordlessParams;
40
+ const params = {
41
+ client_id: web3authClientId,
42
+ login_hint: loginHint,
43
+ code,
44
+ connection: "email",
45
+ tracking_id: this.trackingId,
46
+ version: "",
47
+ network,
48
+ flow_type: auth.EMAIL_FLOW.code
49
+ };
50
+ return super.verify(params);
51
+ }
52
+ }
53
+
54
+ module.exports = EmailPasswordlessHandler;
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var noModal = require('@web3auth/no-modal');
4
+ var AbstractHandler = require('./AbstractHandler.js');
5
+
6
+ class SmsPasswordlessHandler extends AbstractHandler.PasswordlessHandler {
7
+ constructor(params) {
8
+ super(params);
9
+ if (this.sessionStorageAvailable) {
10
+ var _window$sessionStorag;
11
+ this.trackingId = (_window$sessionStorag = window.sessionStorage.getItem("trackingId")) !== null && _window$sessionStorag !== void 0 ? _window$sessionStorag : undefined;
12
+ }
13
+ }
14
+ async sendVerificationCode(params) {
15
+ var _params$captchaToken;
16
+ const {
17
+ loginHint,
18
+ network,
19
+ web3authClientId
20
+ } = this.passwordlessParams;
21
+ const captchaToken = (_params$captchaToken = params === null || params === void 0 ? void 0 : params.captchaToken) !== null && _params$captchaToken !== void 0 ? _params$captchaToken : "";
22
+ if (!captchaToken) {
23
+ throw noModal.WalletLoginError.connectionError("Captcha token is required");
24
+ }
25
+ const finalParams = {
26
+ client_id: web3authClientId,
27
+ web3auth_client_id: web3authClientId,
28
+ connection: this.connection,
29
+ login_hint: loginHint,
30
+ tracking_id: this.trackingId,
31
+ whitelabel: this.whiteLabelParams,
32
+ version: "",
33
+ network,
34
+ captcha_token: captchaToken
35
+ };
36
+ return super.start(finalParams);
37
+ }
38
+ async verifyCode(code) {
39
+ const {
40
+ loginHint,
41
+ network,
42
+ web3authClientId
43
+ } = this.passwordlessParams;
44
+ const params = {
45
+ client_id: web3authClientId,
46
+ login_hint: loginHint,
47
+ code,
48
+ connection: this.connection,
49
+ tracking_id: this.trackingId,
50
+ version: "",
51
+ network
52
+ };
53
+ return super.verify(params);
54
+ }
55
+ }
56
+
57
+ module.exports = SmsPasswordlessHandler;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var auth = require('@web3auth/auth');
4
+ var noModal = require('@web3auth/no-modal');
5
+ var EmailPasswordlessHandler = require('./EmailPasswordlessHandler.js');
6
+ var SmsPasswordlessHandler = require('./SmsPasswordlessHandler.js');
7
+
8
+ const createPasswordlessHandler = (authConnection, params) => {
9
+ switch (authConnection) {
10
+ case auth.AUTH_CONNECTION.EMAIL_PASSWORDLESS:
11
+ return new EmailPasswordlessHandler(params);
12
+ case auth.AUTH_CONNECTION.SMS_PASSWORDLESS:
13
+ return new SmsPasswordlessHandler(params);
14
+ default:
15
+ throw noModal.WalletInitializationError.invalidParams(`Unsupported auth connection: ${authConnection}`);
16
+ }
17
+ };
18
+
19
+ exports.createPasswordlessHandler = createPasswordlessHandler;