@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.
- package/LICENSE +201 -0
- package/README.MD +116 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +307 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
- package/dist/components/auth/Action.d.ts +10 -0
- package/dist/components/auth/Action.d.ts.map +1 -0
- package/dist/components/auth/Action.js +76 -0
- package/dist/components/auth/Action.js.map +1 -0
- package/dist/components/auth/Action.mjs +97 -0
- package/dist/components/auth/Action.mjs.map +1 -0
- package/dist/components/auth/Email.d.ts +6 -0
- package/dist/components/auth/Email.d.ts.map +1 -0
- package/dist/components/auth/Email.js +77 -0
- package/dist/components/auth/Email.js.map +1 -0
- package/dist/components/auth/Email.mjs +98 -0
- package/dist/components/auth/Email.mjs.map +1 -0
- package/dist/components/auth/OAuth.d.ts +13 -0
- package/dist/components/auth/OAuth.d.ts.map +1 -0
- package/dist/components/auth/OAuth.js +63 -0
- package/dist/components/auth/OAuth.js.map +1 -0
- package/dist/components/auth/OAuth.mjs +68 -0
- package/dist/components/auth/OAuth.mjs.map +1 -0
- package/dist/components/auth/OTP.d.ts +21 -0
- package/dist/components/auth/OTP.d.ts.map +1 -0
- package/dist/components/auth/OTP.js +218 -0
- package/dist/components/auth/OTP.js.map +1 -0
- package/dist/components/auth/OTP.mjs +301 -0
- package/dist/components/auth/OTP.mjs.map +1 -0
- package/dist/components/auth/OrSeparator.d.ts +2 -0
- package/dist/components/auth/OrSeparator.d.ts.map +1 -0
- package/dist/components/auth/OrSeparator.js +20 -0
- package/dist/components/auth/OrSeparator.js.map +1 -0
- package/dist/components/auth/OrSeparator.mjs +18 -0
- package/dist/components/auth/OrSeparator.mjs.map +1 -0
- package/dist/components/auth/Passkey.d.ts +7 -0
- package/dist/components/auth/Passkey.d.ts.map +1 -0
- package/dist/components/auth/Passkey.js +34 -0
- package/dist/components/auth/Passkey.js.map +1 -0
- package/dist/components/auth/Passkey.mjs +30 -0
- package/dist/components/auth/Passkey.mjs.map +1 -0
- package/dist/components/auth/Phone.d.ts +6 -0
- package/dist/components/auth/Phone.d.ts.map +1 -0
- package/dist/components/auth/Phone.js +67 -0
- package/dist/components/auth/Phone.js.map +1 -0
- package/dist/components/auth/Phone.mjs +92 -0
- package/dist/components/auth/Phone.mjs.map +1 -0
- package/dist/components/auth/Wallet.d.ts +34 -0
- package/dist/components/auth/Wallet.d.ts.map +1 -0
- package/dist/components/auth/Wallet.js +517 -0
- package/dist/components/auth/Wallet.js.map +1 -0
- package/dist/components/auth/Wallet.mjs +618 -0
- package/dist/components/auth/Wallet.mjs.map +1 -0
- package/dist/components/auth/index.d.ts +9 -0
- package/dist/components/auth/index.d.ts.map +1 -0
- package/dist/components/auth/index.js +457 -0
- package/dist/components/auth/index.js.map +1 -0
- package/dist/components/auth/index.mjs +672 -0
- package/dist/components/auth/index.mjs.map +1 -0
- package/dist/components/design/Buttons.d.ts +29 -0
- package/dist/components/design/Buttons.d.ts.map +1 -0
- package/dist/components/design/Buttons.js +87 -0
- package/dist/components/design/Buttons.js.map +1 -0
- package/dist/components/design/Buttons.mjs +79 -0
- package/dist/components/design/Buttons.mjs.map +1 -0
- package/dist/components/design/Failure.d.ts +9 -0
- package/dist/components/design/Failure.d.ts.map +1 -0
- package/dist/components/design/Failure.js +33 -0
- package/dist/components/design/Failure.js.map +1 -0
- package/dist/components/design/Failure.mjs +34 -0
- package/dist/components/design/Failure.mjs.map +1 -0
- package/dist/components/design/Inputs.d.ts +9 -0
- package/dist/components/design/Inputs.d.ts.map +1 -0
- package/dist/components/design/Inputs.js +135 -0
- package/dist/components/design/Inputs.js.map +1 -0
- package/dist/components/design/Inputs.mjs +133 -0
- package/dist/components/design/Inputs.mjs.map +1 -0
- package/dist/components/design/Lottie/Dynamic.d.ts +2 -0
- package/dist/components/design/Lottie/Dynamic.d.ts.map +1 -0
- package/dist/components/design/Lottie/Dynamic.js +9 -0
- package/dist/components/design/Lottie/Dynamic.js.map +1 -0
- package/dist/components/design/Lottie/Dynamic.mjs +24 -0
- package/dist/components/design/Lottie/Dynamic.mjs.map +1 -0
- package/dist/components/design/Lottie/Wrapper.d.ts +8 -0
- package/dist/components/design/Lottie/Wrapper.d.ts.map +1 -0
- package/dist/components/design/Lottie/Wrapper.js +26 -0
- package/dist/components/design/Lottie/Wrapper.js.map +1 -0
- package/dist/components/design/Lottie/Wrapper.mjs +42 -0
- package/dist/components/design/Lottie/Wrapper.mjs.map +1 -0
- package/dist/components/design/Spinners.d.ts +9 -0
- package/dist/components/design/Spinners.d.ts.map +1 -0
- package/dist/components/design/Spinners.js +38 -0
- package/dist/components/design/Spinners.js.map +1 -0
- package/dist/components/design/Spinners.mjs +37 -0
- package/dist/components/design/Spinners.mjs.map +1 -0
- package/dist/components/design/Success.d.ts +8 -0
- package/dist/components/design/Success.d.ts.map +1 -0
- package/dist/components/design/Success.js +82 -0
- package/dist/components/design/Success.js.map +1 -0
- package/dist/components/design/Success.mjs +86 -0
- package/dist/components/design/Success.mjs.map +1 -0
- package/dist/components/design/Svg.d.ts +13 -0
- package/dist/components/design/Svg.d.ts.map +1 -0
- package/dist/components/design/Svg.js +165 -0
- package/dist/components/design/Svg.js.map +1 -0
- package/dist/components/design/Svg.mjs +161 -0
- package/dist/components/design/Svg.mjs.map +1 -0
- package/dist/components/export/Export.d.ts +13 -0
- package/dist/components/export/Export.d.ts.map +1 -0
- package/dist/components/export/Export.js +169 -0
- package/dist/components/export/Export.js.map +1 -0
- package/dist/components/export/Export.mjs +213 -0
- package/dist/components/export/Export.mjs.map +1 -0
- package/dist/components/export/ExportWarning.d.ts +15 -0
- package/dist/components/export/ExportWarning.d.ts.map +1 -0
- package/dist/components/export/ExportWarning.js +141 -0
- package/dist/components/export/ExportWarning.js.map +1 -0
- package/dist/components/export/ExportWarning.mjs +174 -0
- package/dist/components/export/ExportWarning.mjs.map +1 -0
- package/dist/components/import/Import.d.ts +20 -0
- package/dist/components/import/Import.d.ts.map +1 -0
- package/dist/components/import/Import.js +290 -0
- package/dist/components/import/Import.js.map +1 -0
- package/dist/components/import/Import.mjs +422 -0
- package/dist/components/import/Import.mjs.map +1 -0
- package/dist/components/onramp/OnRamp.d.ts +14 -0
- package/dist/components/onramp/OnRamp.d.ts.map +1 -0
- package/dist/components/onramp/OnRamp.js +61 -0
- package/dist/components/onramp/OnRamp.js.map +1 -0
- package/dist/components/onramp/OnRamp.mjs +79 -0
- package/dist/components/onramp/OnRamp.mjs.map +1 -0
- package/dist/components/send-transaction/SendTransaction.d.ts +12 -0
- package/dist/components/send-transaction/SendTransaction.d.ts.map +1 -0
- package/dist/components/send-transaction/SendTransaction.js +65 -0
- package/dist/components/send-transaction/SendTransaction.js.map +1 -0
- package/dist/components/send-transaction/SendTransaction.mjs +89 -0
- package/dist/components/send-transaction/SendTransaction.mjs.map +1 -0
- package/dist/components/send-transaction/helpers.d.ts +4 -0
- package/dist/components/send-transaction/helpers.d.ts.map +1 -0
- package/dist/components/send-transaction/helpers.js +37 -0
- package/dist/components/send-transaction/helpers.js.map +1 -0
- package/dist/components/send-transaction/helpers.mjs +34 -0
- package/dist/components/send-transaction/helpers.mjs.map +1 -0
- package/dist/components/sign/Message.d.ts +18 -0
- package/dist/components/sign/Message.d.ts.map +1 -0
- package/dist/components/sign/Message.js +132 -0
- package/dist/components/sign/Message.js.map +1 -0
- package/dist/components/sign/Message.mjs +148 -0
- package/dist/components/sign/Message.mjs.map +1 -0
- package/dist/components/user/ConnectWallet.d.ts +8 -0
- package/dist/components/user/ConnectWallet.d.ts.map +1 -0
- package/dist/components/user/ConnectWallet.js +114 -0
- package/dist/components/user/ConnectWallet.js.map +1 -0
- package/dist/components/user/ConnectWallet.mjs +194 -0
- package/dist/components/user/ConnectWallet.mjs.map +1 -0
- package/dist/components/user/RemoveEmail.d.ts +12 -0
- package/dist/components/user/RemoveEmail.d.ts.map +1 -0
- package/dist/components/user/RemoveEmail.js +105 -0
- package/dist/components/user/RemoveEmail.js.map +1 -0
- package/dist/components/user/RemoveEmail.mjs +124 -0
- package/dist/components/user/RemoveEmail.mjs.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.d.ts +12 -0
- package/dist/components/user/RemoveOAuthProvider.d.ts.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.js +110 -0
- package/dist/components/user/RemoveOAuthProvider.js.map +1 -0
- package/dist/components/user/RemoveOAuthProvider.mjs +131 -0
- package/dist/components/user/RemoveOAuthProvider.mjs.map +1 -0
- package/dist/components/user/RemovePasskey.d.ts +12 -0
- package/dist/components/user/RemovePasskey.d.ts.map +1 -0
- package/dist/components/user/RemovePasskey.js +114 -0
- package/dist/components/user/RemovePasskey.js.map +1 -0
- package/dist/components/user/RemovePasskey.mjs +135 -0
- package/dist/components/user/RemovePasskey.mjs.map +1 -0
- package/dist/components/user/RemovePhoneNumber.d.ts +12 -0
- package/dist/components/user/RemovePhoneNumber.d.ts.map +1 -0
- package/dist/components/user/RemovePhoneNumber.js +105 -0
- package/dist/components/user/RemovePhoneNumber.js.map +1 -0
- package/dist/components/user/RemovePhoneNumber.mjs +124 -0
- package/dist/components/user/RemovePhoneNumber.mjs.map +1 -0
- package/dist/components/user/UpdateEmail.d.ts +12 -0
- package/dist/components/user/UpdateEmail.d.ts.map +1 -0
- package/dist/components/user/UpdateEmail.js +154 -0
- package/dist/components/user/UpdateEmail.js.map +1 -0
- package/dist/components/user/UpdateEmail.mjs +197 -0
- package/dist/components/user/UpdateEmail.mjs.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.d.ts +12 -0
- package/dist/components/user/UpdatePhoneNumber.d.ts.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.js +151 -0
- package/dist/components/user/UpdatePhoneNumber.js.map +1 -0
- package/dist/components/user/UpdatePhoneNumber.mjs +198 -0
- package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -0
- package/dist/components/user/UpdateUserName.d.ts +13 -0
- package/dist/components/user/UpdateUserName.d.ts.map +1 -0
- package/dist/components/user/UpdateUserName.js +113 -0
- package/dist/components/user/UpdateUserName.js.map +1 -0
- package/dist/components/user/UpdateUserName.mjs +139 -0
- package/dist/components/user/UpdateUserName.mjs.map +1 -0
- package/dist/components/verify/Verify.d.ts +9 -0
- package/dist/components/verify/Verify.d.ts.map +1 -0
- package/dist/components/verify/Verify.js +121 -0
- package/dist/components/verify/Verify.js.map +1 -0
- package/dist/components/verify/Verify.mjs +149 -0
- package/dist/components/verify/Verify.mjs.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8 -0
- package/dist/index.mjs.map +1 -0
- package/dist/providers/ZeroXKeyProvider.d.ts +9 -0
- package/dist/providers/ZeroXKeyProvider.d.ts.map +1 -0
- package/dist/providers/ZeroXKeyProvider.js +36 -0
- package/dist/providers/ZeroXKeyProvider.js.map +1 -0
- package/dist/providers/ZeroXKeyProvider.mjs +34 -0
- package/dist/providers/ZeroXKeyProvider.mjs.map +1 -0
- package/dist/providers/client/Hook.d.ts +4 -0
- package/dist/providers/client/Hook.d.ts.map +1 -0
- package/dist/providers/client/Hook.js +15 -0
- package/dist/providers/client/Hook.js.map +1 -0
- package/dist/providers/client/Hook.mjs +13 -0
- package/dist/providers/client/Hook.mjs.map +1 -0
- package/dist/providers/client/Provider.d.ts +39 -0
- package/dist/providers/client/Provider.d.ts.map +1 -0
- package/dist/providers/client/Provider.js +3934 -0
- package/dist/providers/client/Provider.js.map +1 -0
- package/dist/providers/client/Provider.mjs +6895 -0
- package/dist/providers/client/Provider.mjs.map +1 -0
- package/dist/providers/client/Types.d.ts +711 -0
- package/dist/providers/client/Types.d.ts.map +1 -0
- package/dist/providers/client/Types.js +10 -0
- package/dist/providers/client/Types.js.map +1 -0
- package/dist/providers/client/Types.mjs +8 -0
- package/dist/providers/client/Types.mjs.map +1 -0
- package/dist/providers/index.d.ts +5 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/modal/Hook.d.ts +4 -0
- package/dist/providers/modal/Hook.d.ts.map +1 -0
- package/dist/providers/modal/Hook.js +15 -0
- package/dist/providers/modal/Hook.js.map +1 -0
- package/dist/providers/modal/Hook.mjs +13 -0
- package/dist/providers/modal/Hook.mjs.map +1 -0
- package/dist/providers/modal/Provider.d.ts +27 -0
- package/dist/providers/modal/Provider.d.ts.map +1 -0
- package/dist/providers/modal/Provider.js +48 -0
- package/dist/providers/modal/Provider.js.map +1 -0
- package/dist/providers/modal/Provider.mjs +68 -0
- package/dist/providers/modal/Provider.mjs.map +1 -0
- package/dist/providers/modal/Root.d.ts +7 -0
- package/dist/providers/modal/Root.d.ts.map +1 -0
- package/dist/providers/modal/Root.js +345 -0
- package/dist/providers/modal/Root.js.map +1 -0
- package/dist/providers/modal/Root.mjs +352 -0
- package/dist/providers/modal/Root.mjs.map +1 -0
- package/dist/providers/theme/Overrides.d.ts +18 -0
- package/dist/providers/theme/Overrides.d.ts.map +1 -0
- package/dist/providers/theme/Overrides.js +35 -0
- package/dist/providers/theme/Overrides.js.map +1 -0
- package/dist/providers/theme/Overrides.mjs +37 -0
- package/dist/providers/theme/Overrides.mjs.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/tests/oauth-test.d.ts +2 -0
- package/dist/tests/oauth-test.d.ts.map +1 -0
- package/dist/tests/timers-test.d.ts +2 -0
- package/dist/tests/timers-test.d.ts.map +1 -0
- package/dist/tests/utils-test.d.ts +2 -0
- package/dist/tests/utils-test.d.ts.map +1 -0
- package/dist/typedoc-entry/index.d.ts +5 -0
- package/dist/typedoc-entry/index.d.ts.map +1 -0
- package/dist/types/base.d.ts +178 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +55 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/base.mjs +50 -0
- package/dist/types/base.mjs.map +1 -0
- package/dist/types/method-types.d.ts +258 -0
- package/dist/types/method-types.d.ts.map +1 -0
- package/dist/utils/oauth/completion.d.ts +132 -0
- package/dist/utils/oauth/completion.d.ts.map +1 -0
- package/dist/utils/oauth/completion.js +136 -0
- package/dist/utils/oauth/completion.js.map +1 -0
- package/dist/utils/oauth/completion.mjs +176 -0
- package/dist/utils/oauth/completion.mjs.map +1 -0
- package/dist/utils/oauth/config.d.ts +34 -0
- package/dist/utils/oauth/config.d.ts.map +1 -0
- package/dist/utils/oauth/config.js +69 -0
- package/dist/utils/oauth/config.js.map +1 -0
- package/dist/utils/oauth/config.mjs +54 -0
- package/dist/utils/oauth/config.mjs.map +1 -0
- package/dist/utils/oauth/helpers.d.ts +13 -0
- package/dist/utils/oauth/helpers.d.ts.map +1 -0
- package/dist/utils/oauth/helpers.js +38 -0
- package/dist/utils/oauth/helpers.js.map +1 -0
- package/dist/utils/oauth/helpers.mjs +35 -0
- package/dist/utils/oauth/helpers.mjs.map +1 -0
- package/dist/utils/oauth/index.d.ts +7 -0
- package/dist/utils/oauth/index.d.ts.map +1 -0
- package/dist/utils/oauth/pkce.d.ts +14 -0
- package/dist/utils/oauth/pkce.d.ts.map +1 -0
- package/dist/utils/oauth/pkce.js +48 -0
- package/dist/utils/oauth/pkce.js.map +1 -0
- package/dist/utils/oauth/pkce.mjs +85 -0
- package/dist/utils/oauth/pkce.mjs.map +1 -0
- package/dist/utils/oauth/storage.d.ts +48 -0
- package/dist/utils/oauth/storage.d.ts.map +1 -0
- package/dist/utils/oauth/storage.js +87 -0
- package/dist/utils/oauth/storage.js.map +1 -0
- package/dist/utils/oauth/storage.mjs +78 -0
- package/dist/utils/oauth/storage.mjs.map +1 -0
- package/dist/utils/oauth/url.d.ts +94 -0
- package/dist/utils/oauth/url.d.ts.map +1 -0
- package/dist/utils/oauth/url.js +224 -0
- package/dist/utils/oauth/url.js.map +1 -0
- package/dist/utils/oauth/url.mjs +230 -0
- package/dist/utils/oauth/url.mjs.map +1 -0
- package/dist/utils/timers.d.ts +73 -0
- package/dist/utils/timers.d.ts.map +1 -0
- package/dist/utils/timers.js +133 -0
- package/dist/utils/timers.js.map +1 -0
- package/dist/utils/timers.mjs +142 -0
- package/dist/utils/timers.mjs.map +1 -0
- package/dist/utils/utils.d.ts +40 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +116 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/utils/utils.mjs +164 -0
- package/dist/utils/utils.mjs.map +1 -0
- 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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"}
|