@0xkey-io/react-wallet-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/LICENSE +201 -0
  2. package/README.MD +116 -0
  3. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +307 -0
  4. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
  5. package/dist/components/auth/Action.d.ts +10 -0
  6. package/dist/components/auth/Action.d.ts.map +1 -0
  7. package/dist/components/auth/Action.js +76 -0
  8. package/dist/components/auth/Action.js.map +1 -0
  9. package/dist/components/auth/Action.mjs +97 -0
  10. package/dist/components/auth/Action.mjs.map +1 -0
  11. package/dist/components/auth/Email.d.ts +6 -0
  12. package/dist/components/auth/Email.d.ts.map +1 -0
  13. package/dist/components/auth/Email.js +77 -0
  14. package/dist/components/auth/Email.js.map +1 -0
  15. package/dist/components/auth/Email.mjs +98 -0
  16. package/dist/components/auth/Email.mjs.map +1 -0
  17. package/dist/components/auth/OAuth.d.ts +13 -0
  18. package/dist/components/auth/OAuth.d.ts.map +1 -0
  19. package/dist/components/auth/OAuth.js +63 -0
  20. package/dist/components/auth/OAuth.js.map +1 -0
  21. package/dist/components/auth/OAuth.mjs +68 -0
  22. package/dist/components/auth/OAuth.mjs.map +1 -0
  23. package/dist/components/auth/OTP.d.ts +21 -0
  24. package/dist/components/auth/OTP.d.ts.map +1 -0
  25. package/dist/components/auth/OTP.js +218 -0
  26. package/dist/components/auth/OTP.js.map +1 -0
  27. package/dist/components/auth/OTP.mjs +301 -0
  28. package/dist/components/auth/OTP.mjs.map +1 -0
  29. package/dist/components/auth/OrSeparator.d.ts +2 -0
  30. package/dist/components/auth/OrSeparator.d.ts.map +1 -0
  31. package/dist/components/auth/OrSeparator.js +20 -0
  32. package/dist/components/auth/OrSeparator.js.map +1 -0
  33. package/dist/components/auth/OrSeparator.mjs +18 -0
  34. package/dist/components/auth/OrSeparator.mjs.map +1 -0
  35. package/dist/components/auth/Passkey.d.ts +7 -0
  36. package/dist/components/auth/Passkey.d.ts.map +1 -0
  37. package/dist/components/auth/Passkey.js +34 -0
  38. package/dist/components/auth/Passkey.js.map +1 -0
  39. package/dist/components/auth/Passkey.mjs +30 -0
  40. package/dist/components/auth/Passkey.mjs.map +1 -0
  41. package/dist/components/auth/Phone.d.ts +6 -0
  42. package/dist/components/auth/Phone.d.ts.map +1 -0
  43. package/dist/components/auth/Phone.js +67 -0
  44. package/dist/components/auth/Phone.js.map +1 -0
  45. package/dist/components/auth/Phone.mjs +92 -0
  46. package/dist/components/auth/Phone.mjs.map +1 -0
  47. package/dist/components/auth/Wallet.d.ts +34 -0
  48. package/dist/components/auth/Wallet.d.ts.map +1 -0
  49. package/dist/components/auth/Wallet.js +517 -0
  50. package/dist/components/auth/Wallet.js.map +1 -0
  51. package/dist/components/auth/Wallet.mjs +618 -0
  52. package/dist/components/auth/Wallet.mjs.map +1 -0
  53. package/dist/components/auth/index.d.ts +9 -0
  54. package/dist/components/auth/index.d.ts.map +1 -0
  55. package/dist/components/auth/index.js +457 -0
  56. package/dist/components/auth/index.js.map +1 -0
  57. package/dist/components/auth/index.mjs +672 -0
  58. package/dist/components/auth/index.mjs.map +1 -0
  59. package/dist/components/design/Buttons.d.ts +29 -0
  60. package/dist/components/design/Buttons.d.ts.map +1 -0
  61. package/dist/components/design/Buttons.js +87 -0
  62. package/dist/components/design/Buttons.js.map +1 -0
  63. package/dist/components/design/Buttons.mjs +79 -0
  64. package/dist/components/design/Buttons.mjs.map +1 -0
  65. package/dist/components/design/Failure.d.ts +9 -0
  66. package/dist/components/design/Failure.d.ts.map +1 -0
  67. package/dist/components/design/Failure.js +33 -0
  68. package/dist/components/design/Failure.js.map +1 -0
  69. package/dist/components/design/Failure.mjs +34 -0
  70. package/dist/components/design/Failure.mjs.map +1 -0
  71. package/dist/components/design/Inputs.d.ts +9 -0
  72. package/dist/components/design/Inputs.d.ts.map +1 -0
  73. package/dist/components/design/Inputs.js +135 -0
  74. package/dist/components/design/Inputs.js.map +1 -0
  75. package/dist/components/design/Inputs.mjs +133 -0
  76. package/dist/components/design/Inputs.mjs.map +1 -0
  77. package/dist/components/design/Lottie/Dynamic.d.ts +2 -0
  78. package/dist/components/design/Lottie/Dynamic.d.ts.map +1 -0
  79. package/dist/components/design/Lottie/Dynamic.js +9 -0
  80. package/dist/components/design/Lottie/Dynamic.js.map +1 -0
  81. package/dist/components/design/Lottie/Dynamic.mjs +24 -0
  82. package/dist/components/design/Lottie/Dynamic.mjs.map +1 -0
  83. package/dist/components/design/Lottie/Wrapper.d.ts +8 -0
  84. package/dist/components/design/Lottie/Wrapper.d.ts.map +1 -0
  85. package/dist/components/design/Lottie/Wrapper.js +26 -0
  86. package/dist/components/design/Lottie/Wrapper.js.map +1 -0
  87. package/dist/components/design/Lottie/Wrapper.mjs +42 -0
  88. package/dist/components/design/Lottie/Wrapper.mjs.map +1 -0
  89. package/dist/components/design/Spinners.d.ts +9 -0
  90. package/dist/components/design/Spinners.d.ts.map +1 -0
  91. package/dist/components/design/Spinners.js +38 -0
  92. package/dist/components/design/Spinners.js.map +1 -0
  93. package/dist/components/design/Spinners.mjs +37 -0
  94. package/dist/components/design/Spinners.mjs.map +1 -0
  95. package/dist/components/design/Success.d.ts +8 -0
  96. package/dist/components/design/Success.d.ts.map +1 -0
  97. package/dist/components/design/Success.js +82 -0
  98. package/dist/components/design/Success.js.map +1 -0
  99. package/dist/components/design/Success.mjs +86 -0
  100. package/dist/components/design/Success.mjs.map +1 -0
  101. package/dist/components/design/Svg.d.ts +13 -0
  102. package/dist/components/design/Svg.d.ts.map +1 -0
  103. package/dist/components/design/Svg.js +165 -0
  104. package/dist/components/design/Svg.js.map +1 -0
  105. package/dist/components/design/Svg.mjs +161 -0
  106. package/dist/components/design/Svg.mjs.map +1 -0
  107. package/dist/components/export/Export.d.ts +13 -0
  108. package/dist/components/export/Export.d.ts.map +1 -0
  109. package/dist/components/export/Export.js +169 -0
  110. package/dist/components/export/Export.js.map +1 -0
  111. package/dist/components/export/Export.mjs +213 -0
  112. package/dist/components/export/Export.mjs.map +1 -0
  113. package/dist/components/export/ExportWarning.d.ts +15 -0
  114. package/dist/components/export/ExportWarning.d.ts.map +1 -0
  115. package/dist/components/export/ExportWarning.js +141 -0
  116. package/dist/components/export/ExportWarning.js.map +1 -0
  117. package/dist/components/export/ExportWarning.mjs +174 -0
  118. package/dist/components/export/ExportWarning.mjs.map +1 -0
  119. package/dist/components/import/Import.d.ts +20 -0
  120. package/dist/components/import/Import.d.ts.map +1 -0
  121. package/dist/components/import/Import.js +290 -0
  122. package/dist/components/import/Import.js.map +1 -0
  123. package/dist/components/import/Import.mjs +422 -0
  124. package/dist/components/import/Import.mjs.map +1 -0
  125. package/dist/components/onramp/OnRamp.d.ts +14 -0
  126. package/dist/components/onramp/OnRamp.d.ts.map +1 -0
  127. package/dist/components/onramp/OnRamp.js +61 -0
  128. package/dist/components/onramp/OnRamp.js.map +1 -0
  129. package/dist/components/onramp/OnRamp.mjs +79 -0
  130. package/dist/components/onramp/OnRamp.mjs.map +1 -0
  131. package/dist/components/send-transaction/SendTransaction.d.ts +12 -0
  132. package/dist/components/send-transaction/SendTransaction.d.ts.map +1 -0
  133. package/dist/components/send-transaction/SendTransaction.js +65 -0
  134. package/dist/components/send-transaction/SendTransaction.js.map +1 -0
  135. package/dist/components/send-transaction/SendTransaction.mjs +89 -0
  136. package/dist/components/send-transaction/SendTransaction.mjs.map +1 -0
  137. package/dist/components/send-transaction/helpers.d.ts +4 -0
  138. package/dist/components/send-transaction/helpers.d.ts.map +1 -0
  139. package/dist/components/send-transaction/helpers.js +37 -0
  140. package/dist/components/send-transaction/helpers.js.map +1 -0
  141. package/dist/components/send-transaction/helpers.mjs +34 -0
  142. package/dist/components/send-transaction/helpers.mjs.map +1 -0
  143. package/dist/components/sign/Message.d.ts +18 -0
  144. package/dist/components/sign/Message.d.ts.map +1 -0
  145. package/dist/components/sign/Message.js +132 -0
  146. package/dist/components/sign/Message.js.map +1 -0
  147. package/dist/components/sign/Message.mjs +148 -0
  148. package/dist/components/sign/Message.mjs.map +1 -0
  149. package/dist/components/user/ConnectWallet.d.ts +8 -0
  150. package/dist/components/user/ConnectWallet.d.ts.map +1 -0
  151. package/dist/components/user/ConnectWallet.js +114 -0
  152. package/dist/components/user/ConnectWallet.js.map +1 -0
  153. package/dist/components/user/ConnectWallet.mjs +194 -0
  154. package/dist/components/user/ConnectWallet.mjs.map +1 -0
  155. package/dist/components/user/RemoveEmail.d.ts +12 -0
  156. package/dist/components/user/RemoveEmail.d.ts.map +1 -0
  157. package/dist/components/user/RemoveEmail.js +105 -0
  158. package/dist/components/user/RemoveEmail.js.map +1 -0
  159. package/dist/components/user/RemoveEmail.mjs +124 -0
  160. package/dist/components/user/RemoveEmail.mjs.map +1 -0
  161. package/dist/components/user/RemoveOAuthProvider.d.ts +12 -0
  162. package/dist/components/user/RemoveOAuthProvider.d.ts.map +1 -0
  163. package/dist/components/user/RemoveOAuthProvider.js +110 -0
  164. package/dist/components/user/RemoveOAuthProvider.js.map +1 -0
  165. package/dist/components/user/RemoveOAuthProvider.mjs +131 -0
  166. package/dist/components/user/RemoveOAuthProvider.mjs.map +1 -0
  167. package/dist/components/user/RemovePasskey.d.ts +12 -0
  168. package/dist/components/user/RemovePasskey.d.ts.map +1 -0
  169. package/dist/components/user/RemovePasskey.js +114 -0
  170. package/dist/components/user/RemovePasskey.js.map +1 -0
  171. package/dist/components/user/RemovePasskey.mjs +135 -0
  172. package/dist/components/user/RemovePasskey.mjs.map +1 -0
  173. package/dist/components/user/RemovePhoneNumber.d.ts +12 -0
  174. package/dist/components/user/RemovePhoneNumber.d.ts.map +1 -0
  175. package/dist/components/user/RemovePhoneNumber.js +105 -0
  176. package/dist/components/user/RemovePhoneNumber.js.map +1 -0
  177. package/dist/components/user/RemovePhoneNumber.mjs +124 -0
  178. package/dist/components/user/RemovePhoneNumber.mjs.map +1 -0
  179. package/dist/components/user/UpdateEmail.d.ts +12 -0
  180. package/dist/components/user/UpdateEmail.d.ts.map +1 -0
  181. package/dist/components/user/UpdateEmail.js +154 -0
  182. package/dist/components/user/UpdateEmail.js.map +1 -0
  183. package/dist/components/user/UpdateEmail.mjs +197 -0
  184. package/dist/components/user/UpdateEmail.mjs.map +1 -0
  185. package/dist/components/user/UpdatePhoneNumber.d.ts +12 -0
  186. package/dist/components/user/UpdatePhoneNumber.d.ts.map +1 -0
  187. package/dist/components/user/UpdatePhoneNumber.js +151 -0
  188. package/dist/components/user/UpdatePhoneNumber.js.map +1 -0
  189. package/dist/components/user/UpdatePhoneNumber.mjs +198 -0
  190. package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -0
  191. package/dist/components/user/UpdateUserName.d.ts +13 -0
  192. package/dist/components/user/UpdateUserName.d.ts.map +1 -0
  193. package/dist/components/user/UpdateUserName.js +113 -0
  194. package/dist/components/user/UpdateUserName.js.map +1 -0
  195. package/dist/components/user/UpdateUserName.mjs +139 -0
  196. package/dist/components/user/UpdateUserName.mjs.map +1 -0
  197. package/dist/components/verify/Verify.d.ts +9 -0
  198. package/dist/components/verify/Verify.d.ts.map +1 -0
  199. package/dist/components/verify/Verify.js +121 -0
  200. package/dist/components/verify/Verify.js.map +1 -0
  201. package/dist/components/verify/Verify.mjs +149 -0
  202. package/dist/components/verify/Verify.mjs.map +1 -0
  203. package/dist/index.d.ts +25 -0
  204. package/dist/index.d.ts.map +1 -0
  205. package/dist/index.js +74 -0
  206. package/dist/index.js.map +1 -0
  207. package/dist/index.mjs +8 -0
  208. package/dist/index.mjs.map +1 -0
  209. package/dist/providers/ZeroXKeyProvider.d.ts +9 -0
  210. package/dist/providers/ZeroXKeyProvider.d.ts.map +1 -0
  211. package/dist/providers/ZeroXKeyProvider.js +36 -0
  212. package/dist/providers/ZeroXKeyProvider.js.map +1 -0
  213. package/dist/providers/ZeroXKeyProvider.mjs +34 -0
  214. package/dist/providers/ZeroXKeyProvider.mjs.map +1 -0
  215. package/dist/providers/client/Hook.d.ts +4 -0
  216. package/dist/providers/client/Hook.d.ts.map +1 -0
  217. package/dist/providers/client/Hook.js +15 -0
  218. package/dist/providers/client/Hook.js.map +1 -0
  219. package/dist/providers/client/Hook.mjs +13 -0
  220. package/dist/providers/client/Hook.mjs.map +1 -0
  221. package/dist/providers/client/Provider.d.ts +39 -0
  222. package/dist/providers/client/Provider.d.ts.map +1 -0
  223. package/dist/providers/client/Provider.js +3934 -0
  224. package/dist/providers/client/Provider.js.map +1 -0
  225. package/dist/providers/client/Provider.mjs +6895 -0
  226. package/dist/providers/client/Provider.mjs.map +1 -0
  227. package/dist/providers/client/Types.d.ts +711 -0
  228. package/dist/providers/client/Types.d.ts.map +1 -0
  229. package/dist/providers/client/Types.js +10 -0
  230. package/dist/providers/client/Types.js.map +1 -0
  231. package/dist/providers/client/Types.mjs +8 -0
  232. package/dist/providers/client/Types.mjs.map +1 -0
  233. package/dist/providers/index.d.ts +5 -0
  234. package/dist/providers/index.d.ts.map +1 -0
  235. package/dist/providers/modal/Hook.d.ts +4 -0
  236. package/dist/providers/modal/Hook.d.ts.map +1 -0
  237. package/dist/providers/modal/Hook.js +15 -0
  238. package/dist/providers/modal/Hook.js.map +1 -0
  239. package/dist/providers/modal/Hook.mjs +13 -0
  240. package/dist/providers/modal/Hook.mjs.map +1 -0
  241. package/dist/providers/modal/Provider.d.ts +27 -0
  242. package/dist/providers/modal/Provider.d.ts.map +1 -0
  243. package/dist/providers/modal/Provider.js +48 -0
  244. package/dist/providers/modal/Provider.js.map +1 -0
  245. package/dist/providers/modal/Provider.mjs +68 -0
  246. package/dist/providers/modal/Provider.mjs.map +1 -0
  247. package/dist/providers/modal/Root.d.ts +7 -0
  248. package/dist/providers/modal/Root.d.ts.map +1 -0
  249. package/dist/providers/modal/Root.js +345 -0
  250. package/dist/providers/modal/Root.js.map +1 -0
  251. package/dist/providers/modal/Root.mjs +352 -0
  252. package/dist/providers/modal/Root.mjs.map +1 -0
  253. package/dist/providers/theme/Overrides.d.ts +18 -0
  254. package/dist/providers/theme/Overrides.d.ts.map +1 -0
  255. package/dist/providers/theme/Overrides.js +35 -0
  256. package/dist/providers/theme/Overrides.js.map +1 -0
  257. package/dist/providers/theme/Overrides.mjs +37 -0
  258. package/dist/providers/theme/Overrides.mjs.map +1 -0
  259. package/dist/styles.css +1 -0
  260. package/dist/tests/oauth-test.d.ts +2 -0
  261. package/dist/tests/oauth-test.d.ts.map +1 -0
  262. package/dist/tests/timers-test.d.ts +2 -0
  263. package/dist/tests/timers-test.d.ts.map +1 -0
  264. package/dist/tests/utils-test.d.ts +2 -0
  265. package/dist/tests/utils-test.d.ts.map +1 -0
  266. package/dist/typedoc-entry/index.d.ts +5 -0
  267. package/dist/typedoc-entry/index.d.ts.map +1 -0
  268. package/dist/types/base.d.ts +178 -0
  269. package/dist/types/base.d.ts.map +1 -0
  270. package/dist/types/base.js +55 -0
  271. package/dist/types/base.js.map +1 -0
  272. package/dist/types/base.mjs +50 -0
  273. package/dist/types/base.mjs.map +1 -0
  274. package/dist/types/method-types.d.ts +258 -0
  275. package/dist/types/method-types.d.ts.map +1 -0
  276. package/dist/utils/oauth/completion.d.ts +132 -0
  277. package/dist/utils/oauth/completion.d.ts.map +1 -0
  278. package/dist/utils/oauth/completion.js +136 -0
  279. package/dist/utils/oauth/completion.js.map +1 -0
  280. package/dist/utils/oauth/completion.mjs +176 -0
  281. package/dist/utils/oauth/completion.mjs.map +1 -0
  282. package/dist/utils/oauth/config.d.ts +34 -0
  283. package/dist/utils/oauth/config.d.ts.map +1 -0
  284. package/dist/utils/oauth/config.js +69 -0
  285. package/dist/utils/oauth/config.js.map +1 -0
  286. package/dist/utils/oauth/config.mjs +54 -0
  287. package/dist/utils/oauth/config.mjs.map +1 -0
  288. package/dist/utils/oauth/helpers.d.ts +13 -0
  289. package/dist/utils/oauth/helpers.d.ts.map +1 -0
  290. package/dist/utils/oauth/helpers.js +38 -0
  291. package/dist/utils/oauth/helpers.js.map +1 -0
  292. package/dist/utils/oauth/helpers.mjs +35 -0
  293. package/dist/utils/oauth/helpers.mjs.map +1 -0
  294. package/dist/utils/oauth/index.d.ts +7 -0
  295. package/dist/utils/oauth/index.d.ts.map +1 -0
  296. package/dist/utils/oauth/pkce.d.ts +14 -0
  297. package/dist/utils/oauth/pkce.d.ts.map +1 -0
  298. package/dist/utils/oauth/pkce.js +48 -0
  299. package/dist/utils/oauth/pkce.js.map +1 -0
  300. package/dist/utils/oauth/pkce.mjs +85 -0
  301. package/dist/utils/oauth/pkce.mjs.map +1 -0
  302. package/dist/utils/oauth/storage.d.ts +48 -0
  303. package/dist/utils/oauth/storage.d.ts.map +1 -0
  304. package/dist/utils/oauth/storage.js +87 -0
  305. package/dist/utils/oauth/storage.js.map +1 -0
  306. package/dist/utils/oauth/storage.mjs +78 -0
  307. package/dist/utils/oauth/storage.mjs.map +1 -0
  308. package/dist/utils/oauth/url.d.ts +94 -0
  309. package/dist/utils/oauth/url.d.ts.map +1 -0
  310. package/dist/utils/oauth/url.js +224 -0
  311. package/dist/utils/oauth/url.js.map +1 -0
  312. package/dist/utils/oauth/url.mjs +230 -0
  313. package/dist/utils/oauth/url.mjs.map +1 -0
  314. package/dist/utils/timers.d.ts +73 -0
  315. package/dist/utils/timers.d.ts.map +1 -0
  316. package/dist/utils/timers.js +133 -0
  317. package/dist/utils/timers.js.map +1 -0
  318. package/dist/utils/timers.mjs +142 -0
  319. package/dist/utils/timers.mjs.map +1 -0
  320. package/dist/utils/utils.d.ts +40 -0
  321. package/dist/utils/utils.d.ts.map +1 -0
  322. package/dist/utils/utils.js +116 -0
  323. package/dist/utils/utils.js.map +1 -0
  324. package/dist/utils/utils.mjs +164 -0
  325. package/dist/utils/utils.mjs.map +1 -0
  326. package/package.json +91 -0
@@ -0,0 +1,517 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var Buttons = require('../design/Buttons.js');
5
+ var Svg = require('../design/Svg.js');
6
+ var Spinners = require('../design/Spinners.js');
7
+ var reactFontawesome = require('@fortawesome/react-fontawesome');
8
+ var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
9
+ var react = require('react');
10
+ var clsx = require('clsx');
11
+ var qrcode_react = require('qrcode.react');
12
+ var Success = require('../design/Success.js');
13
+ var core = require('@0xkey-io/core');
14
+ var Hook = require('../../providers/modal/Hook.js');
15
+ var Hook$1 = require('../../providers/client/Hook.js');
16
+ var utils = require('../../utils/utils.js');
17
+
18
+ function WalletAuthButton(props) {
19
+ const {
20
+ onContinue
21
+ } = props;
22
+ const [isLoading, setIsLoading] = react.useState(false);
23
+ const handleContinue = async () => {
24
+ setIsLoading(true);
25
+ try {
26
+ await Promise.resolve(onContinue());
27
+ } finally {
28
+ setIsLoading(false);
29
+ }
30
+ };
31
+ return jsxRuntime.jsx("div", {
32
+ className: "flex flex-col w-full",
33
+ children: jsxRuntime.jsxs(Buttons.ActionButton, {
34
+ name: "wallet-auth-button",
35
+ onClick: handleContinue,
36
+ loading: isLoading,
37
+ className: "flex h-10 w-full items-center justify-center gap-2 border-modal-background-dark/15 bg-button-light py-2.5 text-sm text-inherit dark:border-modal-background-light/20 dark:bg-button-dark dark:text-white",
38
+ children: [jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
39
+ icon: freeSolidSvgIcons.faWallet,
40
+ className: "shrink-0"
41
+ }), "Continue with wallet"]
42
+ })
43
+ });
44
+ }
45
+ const canDisconnect = (provider, shouldShowDisconnect) => {
46
+ return shouldShowDisconnect && provider.connectedAddresses && provider.connectedAddresses.length > 0;
47
+ };
48
+ function ExternalWalletChainSelector(props) {
49
+ const {
50
+ providers,
51
+ onSelect,
52
+ onDisconnect
53
+ } = props;
54
+ const {
55
+ walletProviders
56
+ } = Hook$1.useZeroXKey();
57
+ const {
58
+ isMobile,
59
+ popPage
60
+ } = Hook.useModal();
61
+ // we find matching providers in current state
62
+ const currentProviders = providers.map(inputProvider => walletProviders.find(p => p.interfaceType === inputProvider.interfaceType && p.chainInfo.namespace === inputProvider.chainInfo.namespace)).filter(p => p !== undefined);
63
+ // if no providers are found then that means that the user entered this screen
64
+ // while WalletConnect was still initializing, and then it failed to initialize
65
+ react.useEffect(() => {
66
+ if (currentProviders.length === 0) {
67
+ popPage();
68
+ }
69
+ }, [currentProviders.length, popPage]);
70
+ const shouldShowDisconnect = onDisconnect !== undefined;
71
+ const handleSelect = provider => {
72
+ if (canDisconnect(provider, shouldShowDisconnect)) {
73
+ onDisconnect(provider);
74
+ } else {
75
+ onSelect(provider);
76
+ }
77
+ };
78
+ return jsxRuntime.jsxs("div", {
79
+ className: clsx("flex flex-col w-72 gap-4 mt-11 items-center justify-center", isMobile ? "w-full" : "w-72"),
80
+ children: [jsxRuntime.jsx("img", {
81
+ src: providers[0]?.info.icon,
82
+ className: "size-14 rounded-full"
83
+ }), jsxRuntime.jsxs("span", {
84
+ className: "text-sm text-center text-icon-text-light dark:text-icon-text-dark",
85
+ children: [providers[0]?.info.name ?? "This wallet provider", " supports multiple chains. Select which chain you would like to use."]
86
+ }), jsxRuntime.jsx("div", {
87
+ className: "w-full flex flex-col gap-2",
88
+ children: providers.map(p => {
89
+ const [isHovering, setIsHovering] = react.useState(false);
90
+ return jsxRuntime.jsxs(Buttons.ActionButton, {
91
+ onClick: () => handleSelect(p),
92
+ onMouseEnter: () => setIsHovering(true),
93
+ onMouseLeave: () => setIsHovering(false),
94
+ className: "relative overflow-hidden flex items-center justify-start gap-2 w-full text-inherit bg-button-light dark:bg-button-dark",
95
+ children: [core.isEthereumProvider(p) ? jsxRuntime.jsxs("div", {
96
+ className: "relative",
97
+ children: [jsxRuntime.jsx(Svg.EthereumLogo, {
98
+ className: "size-5"
99
+ }), canDisconnect(p, shouldShowDisconnect) && jsxRuntime.jsx(ConnectedIndicator, {
100
+ isPinging: true
101
+ })]
102
+ }) : core.isSolanaProvider(p) ? jsxRuntime.jsxs("div", {
103
+ className: "relative",
104
+ children: [jsxRuntime.jsx(Svg.SolanaLogo, {
105
+ className: "size-5"
106
+ }), canDisconnect(p, shouldShowDisconnect) && jsxRuntime.jsx(ConnectedIndicator, {
107
+ isPinging: true
108
+ })]
109
+ }) :
110
+ // we should never reach here
111
+ // if we do then it means we forgot to update the auth component after adding a new chain
112
+ jsxRuntime.jsx("div", {
113
+ className: "relative",
114
+ children: jsxRuntime.jsx("span", {
115
+ className: "size-5 flex items-center justify-center rounded bg-gray-300 dark:bg-gray-700",
116
+ children: "?"
117
+ })
118
+ }), jsxRuntime.jsxs("div", {
119
+ className: "flex flex-col items-start",
120
+ children: [core.isEthereumProvider(p) ? "EVM" : core.isSolanaProvider(p) ? "Solana" :
121
+ // we should never reach here
122
+ // if we do then it means we forgot to update the auth component after adding a new chain
123
+ `?`, canDisconnect(p, shouldShowDisconnect) && jsxRuntime.jsxs("span", {
124
+ className: "text-xs text-icon-text-light dark:text-icon-text-dark",
125
+ children: ["Connected: ", p.connectedAddresses[0]?.slice(0, 4), "...", p.connectedAddresses[0]?.slice(-3)]
126
+ })]
127
+ }), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
128
+ className: clsx(`absolute transition-all duration-200`, isHovering ? "right-4" : "-right-4", canDisconnect(p, shouldShowDisconnect) ? "text-danger-light dark:text-danger-dark" : "text-icon-text-light dark:text-icon-text-dark"),
129
+ size: canDisconnect(p, shouldShowDisconnect) ? "lg" : "1x",
130
+ icon: canDisconnect(p, shouldShowDisconnect) ? freeSolidSvgIcons.faClose : freeSolidSvgIcons.faChevronRight
131
+ })]
132
+ }, p.chainInfo.namespace);
133
+ })
134
+ })]
135
+ });
136
+ }
137
+ function ExternalWalletSelector(props) {
138
+ const {
139
+ onDisconnect,
140
+ onSelect
141
+ } = props;
142
+ const {
143
+ pushPage,
144
+ popPage,
145
+ isMobile
146
+ } = Hook.useModal();
147
+ const {
148
+ walletProviders
149
+ } = Hook$1.useZeroXKey();
150
+ const shouldShowDisconnect = onDisconnect !== undefined;
151
+ // Group providers by name
152
+ const grouped = walletProviders.reduce((acc, provider) => {
153
+ const name = provider.info.name;
154
+ if (!acc[name]) acc[name] = [];
155
+ acc[name].push(provider);
156
+ return acc;
157
+ }, {});
158
+ const handleSelectGroup = group => {
159
+ if (group.length === 1) {
160
+ if (canDisconnect(group[0], shouldShowDisconnect)) {
161
+ onDisconnect(group[0]);
162
+ } else {
163
+ onSelect(group[0]);
164
+ }
165
+ } else {
166
+ pushPage({
167
+ key: `Select chain`,
168
+ content: jsxRuntime.jsx(ExternalWalletChainSelector, {
169
+ providers: group,
170
+ onDisconnect: onDisconnect,
171
+ onSelect: onSelect
172
+ })
173
+ });
174
+ }
175
+ };
176
+ react.useEffect(() => {
177
+ // Don't show the selector if there's only one wallet provider
178
+ const groupedValues = Object.values(grouped);
179
+ if (groupedValues.length === 1) {
180
+ popPage(); // Remove this page from the stack so user doesn't get stuck in an infinite loop when pressing back
181
+ handleSelectGroup(groupedValues[0]);
182
+ }
183
+ }, [grouped]);
184
+ return Object.keys(grouped).length === 0 ? jsxRuntime.jsxs("div", {
185
+ className: clsx("flex flex-col h-40 mt-4 gap-2 justify-center items-center text-xs text-center text-icon-text-light dark:text-icon-text-dark", isMobile ? "w-full" : "w-72"),
186
+ children: [jsxRuntime.jsx("span", {
187
+ className: "text-sm font-medium",
188
+ children: "No wallet providers available."
189
+ }), jsxRuntime.jsx("span", {
190
+ children: "Only wallets supporting EIP-1193 (Ethereum) or the Solana wallet standard are supported."
191
+ })]
192
+ }) : jsxRuntime.jsx("div", {
193
+ className: clsx("w-72 min-h-42 max-h-64 mt-12 overflow-y-auto zeroxkey-scrollbar p-0.5", isMobile ? "w-full" : "w-72"),
194
+ children: jsxRuntime.jsx("div", {
195
+ className: "flex flex-col gap-2",
196
+ children: Object.entries(grouped).map(([name, group]) => {
197
+ const [isHovering, setIsHovering] = react.useState(false);
198
+ const first = group[0];
199
+ return jsxRuntime.jsxs(Buttons.ActionButton, {
200
+ onMouseEnter: () => setIsHovering(true),
201
+ onMouseLeave: () => setIsHovering(false),
202
+ onClick: () => handleSelectGroup(group),
203
+ className: "relative flex items-center justify-between w-full text-inherit bg-button-light dark:bg-button-dark overflow-hidden",
204
+ children: [jsxRuntime.jsxs("div", {
205
+ className: "flex items-center gap-2 overflow-hidden",
206
+ children: [jsxRuntime.jsx("img", {
207
+ src: first?.info.icon,
208
+ alt: first?.info.name,
209
+ className: "size-6 rounded-full"
210
+ }), first?.info.name]
211
+ }), jsxRuntime.jsx("div", {
212
+ className: clsx(`flex items-center transition-all gap-1`),
213
+ children: group.map((c, idx) => {
214
+ let Logo;
215
+ if (core.isEthereumProvider(c)) {
216
+ Logo = Svg.EthereumLogo;
217
+ } else if (core.isSolanaProvider(c)) {
218
+ Logo = Svg.SolanaLogo;
219
+ } else {
220
+ // we should never reach here
221
+ // if we do then it means we forgot to update the auth component after adding a new chain
222
+ throw new Error(`Unsupported provider namespace. Expected Ethereum or Solana.`);
223
+ }
224
+ const delay = 50 + idx * 30; // Staggered delay: leftmost has largest
225
+ return jsxRuntime.jsxs("div", {
226
+ style: {
227
+ transitionDelay: `${delay}ms`
228
+ },
229
+ className: clsx("relative", "size-4", "transition-all duration-200", isHovering ? "-translate-x-8" : "translate-x-0"),
230
+ children: [jsxRuntime.jsx(Logo, {
231
+ className: "size-4"
232
+ }), canDisconnect(c, shouldShowDisconnect) && jsxRuntime.jsx(ConnectedIndicator, {
233
+ isPinging: isHovering
234
+ })]
235
+ }, c.chainInfo.namespace);
236
+ })
237
+ }), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
238
+ className: clsx(`absolute transition-all duration-200`, isHovering ? "right-4" : "-right-4", group.length === 1 && canDisconnect(group[0], shouldShowDisconnect) ? "text-danger-light dark:text-danger-dark" : "text-icon-text-light dark:text-icon-text-dark"),
239
+ size: group.length === 1 && canDisconnect(group[0], shouldShowDisconnect) ? "lg" : "1x",
240
+ icon: group.length === 1 && canDisconnect(group[0], shouldShowDisconnect) ? freeSolidSvgIcons.faClose : freeSolidSvgIcons.faChevronRight
241
+ })]
242
+ }, name);
243
+ })
244
+ })
245
+ });
246
+ }
247
+ function DisconnectWalletScreen(props) {
248
+ const {
249
+ provider,
250
+ onDisconnect
251
+ } = props;
252
+ const {
253
+ isMobile
254
+ } = Hook.useModal();
255
+ const [isLoading, setIsLoading] = react.useState(false);
256
+ const [hasError, setHasError] = react.useState(false);
257
+ const handleDisconnect = async () => {
258
+ setIsLoading(true);
259
+ setHasError(false);
260
+ try {
261
+ await onDisconnect(provider);
262
+ } catch (err) {
263
+ setHasError(true);
264
+ } finally {
265
+ setIsLoading(false);
266
+ }
267
+ };
268
+ return jsxRuntime.jsxs("div", {
269
+ className: clsx("mt-8", isMobile ? "w-full" : "w-96"),
270
+ children: [jsxRuntime.jsxs("div", {
271
+ className: "mt-6 mb-5 flex flex-col items-center gap-3",
272
+ children: [jsxRuntime.jsx("img", {
273
+ src: provider.info.icon ?? "",
274
+ className: "size-14 rounded-full"
275
+ }), jsxRuntime.jsx("div", {
276
+ className: clsx("text-2xl font-bold text-center", hasError && "text-danger-light dark:text-danger-dark"),
277
+ children: hasError ? "You can't disconnect this wallet!" : `Disconnect ${provider.info.name}`
278
+ }), jsxRuntime.jsx("div", {
279
+ className: "text-icon-text-light dark:text-icon-text-dark text-center !p-0",
280
+ children: hasError ? `Try disconnecting directly from the ${provider.info.name} app` : "You can always connect this wallet again later."
281
+ })]
282
+ }), jsxRuntime.jsx("div", {
283
+ className: "flex my-2 mt-0",
284
+ children: jsxRuntime.jsx(Buttons.ActionButton, {
285
+ onClick: handleDisconnect,
286
+ loading: isLoading,
287
+ className: clsx("w-full max-w-md bg-danger-light dark:bg-danger-dark text-primary-text-light dark:text-primary-text-dark", hasError && "animate-shake opacity-50"),
288
+ spinnerClassName: "text-primary-danger-text-light dark:text-primary-danger-text-dark",
289
+ children: "Disconnect Wallet"
290
+ })
291
+ })]
292
+ });
293
+ }
294
+ function ConnectedIndicator(props) {
295
+ const {
296
+ isPinging = false
297
+ } = props;
298
+ return jsxRuntime.jsxs("div", {
299
+ className: "flex absolute top-[-2px] right-0",
300
+ children: [isPinging && jsxRuntime.jsx("div", {
301
+ className: "absolute animate-ping size-[6px] bg-success-light dark:bg-success-dark rounded-full border border-modal-background-light dark:border-modal-background-dark"
302
+ }), jsxRuntime.jsx("div", {
303
+ className: "size-[6px] bg-success-light dark:bg-success-dark rounded-full border border-modal-background-light dark:border-modal-background-dark"
304
+ })]
305
+ });
306
+ }
307
+ function QRCodeDisplay(props) {
308
+ const {
309
+ uri,
310
+ icon,
311
+ isLoading
312
+ } = props;
313
+ return jsxRuntime.jsxs("div", {
314
+ className: "relative inline-block",
315
+ children: [jsxRuntime.jsx(qrcode_react.QRCodeSVG, {
316
+ className: clsx("block border border-modal-background-dark/20 dark:border-modal-background-light/20", "shadow-[0_0_42px] shadow-primary-light/50 dark:shadow-[0_0_42px] dark:shadow-primary-dark/50", isLoading && "blur-sm"),
317
+ value: uri,
318
+ imageSettings: {
319
+ src: icon,
320
+ width: 24,
321
+ height: 24,
322
+ excavate: true
323
+ },
324
+ size: 200
325
+ }), isLoading && jsxRuntime.jsx("div", {
326
+ className: "absolute inset-0 flex items-center justify-center",
327
+ children: jsxRuntime.jsx(Spinners.Spinner, {
328
+ className: "size-12",
329
+ strokeWidth: 2
330
+ })
331
+ })]
332
+ });
333
+ }
334
+ function WalletConnectScreen(props) {
335
+ const {
336
+ provider: inputProvider,
337
+ onAction,
338
+ onDisconnect,
339
+ successPageDuration
340
+ } = props;
341
+ const {
342
+ pushPage,
343
+ popPages,
344
+ closeModal,
345
+ isMobile
346
+ } = Hook.useModal();
347
+ const {
348
+ walletProviders
349
+ } = Hook$1.useZeroXKey();
350
+ const [isDisconnecting, setIsDisconnecting] = react.useState(false);
351
+ const [isConnecting, setIsConnecting] = react.useState(false);
352
+ const [disconnectError, setDisconnectError] = react.useState(false);
353
+ const [showConnectedScreen, setShowConnectedScreen] = react.useState(inputProvider.connectedAddresses?.length > 0);
354
+ const [showCopied, setShowCopied] = react.useState(false);
355
+ // Use a ref to track the latest provider for use in callbacks
356
+ const latestProviderRef = react.useRef(null);
357
+ // Find the current provider state
358
+ const provider = walletProviders.find(p => p.interfaceType === inputProvider.interfaceType && p.chainInfo.namespace === inputProvider.chainInfo.namespace);
359
+ // if provider is not found then that means that the user entered this screen
360
+ // while WalletConnect was still initializing, and then it failed to initialize
361
+ react.useEffect(() => {
362
+ if (!provider) {
363
+ // we have to go back two pages here since thats the screen
364
+ // we get wallet providers from state
365
+ popPages(2);
366
+ }
367
+ }, [provider, popPages]);
368
+ const connectedAccount = provider?.connectedAddresses?.[0] ?? null;
369
+ // Initial connection effect
370
+ react.useEffect(() => {
371
+ if (provider) {
372
+ latestProviderRef.current = provider;
373
+ // we don't try to connect if WalletConnect is still initializing or we are already connecting
374
+ if (!isConnecting && !provider.isLoading) {
375
+ setShowConnectedScreen(provider.connectedAddresses?.length > 0);
376
+ runAction(provider);
377
+ }
378
+ }
379
+ }, [provider]);
380
+ // Handle the connection action - uses the ref to get latest provider
381
+ const runAction = utils.useDebouncedCallback(async targetProvider => {
382
+ setIsConnecting(true);
383
+ try {
384
+ await onAction(targetProvider);
385
+ pushPage({
386
+ key: "Connect Success",
387
+ content: jsxRuntime.jsx(Success.SuccessPage, {
388
+ text: "Successfully connected to WalletConnect!",
389
+ onComplete: closeModal,
390
+ duration: successPageDuration
391
+ }),
392
+ preventBack: true,
393
+ showTitle: false
394
+ });
395
+ } catch {
396
+ // noop
397
+ } finally {
398
+ setIsConnecting(false);
399
+ }
400
+ }, 100);
401
+ const handleCopy = () => {
402
+ setShowCopied(true);
403
+ navigator.clipboard.writeText(`${provider?.uri}`);
404
+ setTimeout(() => {
405
+ setShowCopied(false);
406
+ }, 1500);
407
+ };
408
+ // Handle disconnection - uses the ref to get the correct provider after state update
409
+ const handleDisconnect = async () => {
410
+ setIsDisconnecting(true);
411
+ setDisconnectError(false);
412
+ try {
413
+ // Use the current provider from ref for disconnect
414
+ await onDisconnect?.(latestProviderRef.current);
415
+ } catch (err) {
416
+ console.error("Error disconnecting wallet:", err);
417
+ setDisconnectError(true);
418
+ } finally {
419
+ setIsDisconnecting(false);
420
+ setShowConnectedScreen(false);
421
+ }
422
+ };
423
+ return jsxRuntime.jsx("div", {
424
+ className: "p-3 flex flex-col items-center",
425
+ children: showConnectedScreen ? jsxRuntime.jsxs("div", {
426
+ className: clsx("mt-8 flex flex-col items-center gap-3", isMobile ? "w-full" : "w-96"),
427
+ children: [jsxRuntime.jsxs("div", {
428
+ className: "w-full justify-between flex items-center flex-1",
429
+ children: [jsxRuntime.jsx("div", {
430
+ className: clsx("flex items-center justify-center bg-icon-background-light dark:bg-icon-background-dark rounded-full p-2 text-icon-text-light dark:text-icon-text-dark", isMobile ? "size-18" : "size-24"),
431
+ children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
432
+ icon: freeSolidSvgIcons.faMobileScreen,
433
+ size: isMobile ? "3x" : "4x"
434
+ })
435
+ }), jsxRuntime.jsxs("div", {
436
+ className: "flex flex-row items-center justify-center space-x-2.5 font-medium text-icon-text-light dark:text-icon-text-dark",
437
+ children: [jsxRuntime.jsxs("div", {
438
+ className: "flex items-center justify-center",
439
+ children: [jsxRuntime.jsx("img", {
440
+ className: "size-5",
441
+ src: provider?.info.icon,
442
+ alt: "Wallet connect logo"
443
+ }), jsxRuntime.jsx("img", {
444
+ className: "size-5 absolute animate-ping",
445
+ src: provider?.info.icon,
446
+ alt: "Wallet connect logo"
447
+ })]
448
+ }), jsxRuntime.jsxs("span", {
449
+ children: [connectedAccount?.slice(0, 3), "...", connectedAccount?.slice(-3)]
450
+ })]
451
+ }), jsxRuntime.jsx("div", {
452
+ className: clsx("flex items-center justify-center bg-icon-background-light dark:bg-icon-background-dark rounded-full p-2 text-icon-text-light dark:text-icon-text-dark", isMobile ? "size-18" : "size-24"),
453
+ children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
454
+ icon: freeSolidSvgIcons.faLaptop,
455
+ size: isMobile ? "3x" : "4x"
456
+ })
457
+ })]
458
+ }), jsxRuntime.jsx("div", {
459
+ className: clsx("flex flex-row items-center mt-5 text-2xl font-bold text-center"),
460
+ children: "Already connected"
461
+ }), jsxRuntime.jsxs("div", {
462
+ className: "text-icon-text-light dark:text-icon-text-dark text-center text-xs flex flex-col space-y-2 !p-0",
463
+ children: [jsxRuntime.jsx("span", {
464
+ children: "Please open the wallet app on your phone to sign the message."
465
+ }), isDisconnecting ? jsxRuntime.jsx("span", {
466
+ className: "text-danger-light dark:text-danger-dark opacity-50",
467
+ children: "Disconnecting..."
468
+ }) : disconnectError ? jsxRuntime.jsx("span", {
469
+ className: "text-danger-light dark:text-danger-dark opacity-50",
470
+ children: "Error disconnecting wallet."
471
+ }) : jsxRuntime.jsxs("span", {
472
+ children: ["Need to connect a different wallet?", " ", jsxRuntime.jsx("span", {
473
+ className: "text-danger-light dark:text-danger-dark cursor-pointer underline",
474
+ onClick: handleDisconnect,
475
+ children: "Disconnect"
476
+ }), " ", "this wallet first."]
477
+ })]
478
+ })]
479
+ }) : jsxRuntime.jsxs("div", {
480
+ className: clsx("mt-8 flex flex-col items-center gap-3", isMobile ? "w-full" : "w-96"),
481
+ children: [jsxRuntime.jsx(QRCodeDisplay, {
482
+ uri: provider?.isLoading ? "https://www.0xkey.com/" : provider?.uri ?? "",
483
+ icon: provider?.info.icon ?? "",
484
+ isLoading: !!provider?.isLoading
485
+ }), jsxRuntime.jsxs(Buttons.BaseButton, {
486
+ onClick: handleCopy,
487
+ className: clsx("text-xs font-semibold bg-transparent border-none text-icon-text-light dark:text-icon-text-dark", "flex flex-row items-center gap-x-2 px-3 py-2 rounded-full transition-all", "hover:bg-icon-background-light dark:hover:bg-icon-background-dark active:scale-95", provider?.isLoading && "invisible pointer-events-none"),
488
+ children: [jsxRuntime.jsx("span", {
489
+ children: "Copy link"
490
+ }), jsxRuntime.jsxs("div", {
491
+ className: "relative",
492
+ children: [jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
493
+ icon: showCopied ? freeSolidSvgIcons.faCheck : freeSolidSvgIcons.faCopy,
494
+ className: clsx("transition-colors", showCopied ? "text-success-light dark:text-success-dark" : "text-icon-text-light dark:text-icon-text-dark")
495
+ }), showCopied && jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
496
+ icon: freeSolidSvgIcons.faCheck,
497
+ className: "absolute inset-0 m-auto text-success-light dark:text-success-dark animate-ping"
498
+ })]
499
+ })]
500
+ }), jsxRuntime.jsx("div", {
501
+ className: clsx("text-2xl font-bold text-center"),
502
+ children: provider?.isLoading ? "Initializing WalletConnect..." : "Use your phone"
503
+ }), jsxRuntime.jsx("div", {
504
+ className: "text-icon-text-light dark:text-icon-text-dark text-center !p-0",
505
+ children: provider?.isLoading ? "Preparing your connection. This will only take a moment." : "Scan this QR code with your WalletConnect-compatible wallet to connect"
506
+ })]
507
+ })
508
+ });
509
+ }
510
+
511
+ exports.ConnectedIndicator = ConnectedIndicator;
512
+ exports.DisconnectWalletScreen = DisconnectWalletScreen;
513
+ exports.ExternalWalletChainSelector = ExternalWalletChainSelector;
514
+ exports.ExternalWalletSelector = ExternalWalletSelector;
515
+ exports.WalletAuthButton = WalletAuthButton;
516
+ exports.WalletConnectScreen = WalletConnectScreen;
517
+ //# sourceMappingURL=Wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Wallet.js","sources":["../../../src/components/auth/Wallet.tsx"],"sourcesContent":[null],"names":["WalletAuthButton","props","onContinue","isLoading","setIsLoading","useState","handleContinue","Promise","resolve","_jsx","className","_jsxs","ActionButton","name","onClick","loading","FontAwesomeIcon","icon","faWallet","canDisconnect","provider","shouldShowDisconnect","connectedAddresses","length","ExternalWalletChainSelector","providers","onSelect","onDisconnect","walletProviders","useZeroXKey","isMobile","popPage","useModal","currentProviders","map","inputProvider","find","p","interfaceType","chainInfo","namespace","filter","undefined","useEffect","handleSelect","clsx","children","src","info","isHovering","setIsHovering","onMouseEnter","onMouseLeave","isEthereumProvider","EthereumLogo","ConnectedIndicator","isPinging","isSolanaProvider","SolanaLogo","slice","size","faClose","faChevronRight","ExternalWalletSelector","pushPage","grouped","reduce","acc","push","handleSelectGroup","group","key","content","groupedValues","Object","values","keys","entries","first","alt","c","idx","Logo","Error","delay","style","transitionDelay","DisconnectWalletScreen","hasError","setHasError","handleDisconnect","err","spinnerClassName","QRCodeDisplay","uri","QRCode","value","imageSettings","width","height","excavate","Spinner","strokeWidth","WalletConnectScreen","onAction","successPageDuration","popPages","closeModal","isDisconnecting","setIsDisconnecting","isConnecting","setIsConnecting","disconnectError","setDisconnectError","showConnectedScreen","setShowConnectedScreen","showCopied","setShowCopied","latestProviderRef","useRef","connectedAccount","current","runAction","useDebouncedCallback","targetProvider","SuccessPage","text","onComplete","duration","preventBack","showTitle","handleCopy","navigator","clipboard","writeText","setTimeout","console","error","faMobileScreen","faLaptop","BaseButton","faCheck","faCopy"],"mappings":"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"}