@turnkey/react-wallet-kit 2.0.1 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/index.d.ts.map +1 -1
- package/dist/components/auth/index.js +7 -57
- package/dist/components/auth/index.js.map +1 -1
- package/dist/components/auth/index.mjs +16 -132
- package/dist/components/auth/index.mjs.map +1 -1
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts +10 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.js +204 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.js.map +1 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs +253 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.d.ts +8 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.js +58 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.js.map +1 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.mjs +80 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts +10 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js +117 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +151 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.d.ts +18 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.d.ts.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.js +233 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.js.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.mjs +323 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.mjs.map +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts +11 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.js +200 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.js.map +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs +251 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/QRCodeDisplay.d.ts +8 -0
- package/dist/components/auth/wallet/QRCodeDisplay.d.ts.map +1 -0
- package/dist/components/auth/wallet/QRCodeDisplay.js +37 -0
- package/dist/components/auth/wallet/QRCodeDisplay.js.map +1 -0
- package/dist/components/auth/wallet/QRCodeDisplay.mjs +33 -0
- package/dist/components/auth/wallet/QRCodeDisplay.mjs.map +1 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts +8 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.js +253 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.js.map +1 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs +299 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletAuthButton.d.ts +6 -0
- package/dist/components/auth/wallet/WalletAuthButton.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletAuthButton.js +33 -0
- package/dist/components/auth/wallet/WalletAuthButton.js.map +1 -0
- package/dist/components/auth/wallet/WalletAuthButton.mjs +47 -0
- package/dist/components/auth/wallet/WalletAuthButton.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletButton.d.ts +16 -0
- package/dist/components/auth/wallet/WalletButton.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletButton.js +79 -0
- package/dist/components/auth/wallet/WalletButton.js.map +1 -0
- package/dist/components/auth/wallet/WalletButton.mjs +84 -0
- package/dist/components/auth/wallet/WalletButton.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.d.ts +2 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.js +22 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.js.map +1 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.mjs +20 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.d.ts +12 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.js +79 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.js.map +1 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.mjs +102 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletConnectFlow.d.ts +21 -0
- package/dist/components/auth/wallet/WalletConnectFlow.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletConnectFlow.js +163 -0
- package/dist/components/auth/wallet/WalletConnectFlow.js.map +1 -0
- package/dist/components/auth/wallet/WalletConnectFlow.mjs +310 -0
- package/dist/components/auth/wallet/WalletConnectFlow.mjs.map +1 -0
- package/dist/components/auth/wallet/constants.d.ts +6 -0
- package/dist/components/auth/wallet/constants.d.ts.map +1 -0
- package/dist/components/auth/wallet/constants.js +14 -0
- package/dist/components/auth/wallet/constants.js.map +1 -0
- package/dist/components/auth/wallet/constants.mjs +8 -0
- package/dist/components/auth/wallet/constants.mjs.map +1 -0
- package/dist/components/auth/wallet/utils.d.ts +4 -0
- package/dist/components/auth/wallet/utils.d.ts.map +1 -0
- package/dist/components/auth/wallet/utils.js +9 -0
- package/dist/components/auth/wallet/utils.js.map +1 -0
- package/dist/components/auth/wallet/utils.mjs +7 -0
- package/dist/components/auth/wallet/utils.mjs.map +1 -0
- package/dist/components/design/Buttons.d.ts +1 -0
- package/dist/components/design/Buttons.d.ts.map +1 -1
- package/dist/components/design/Buttons.js +2 -0
- package/dist/components/design/Buttons.js.map +1 -1
- package/dist/components/design/Buttons.mjs +2 -0
- package/dist/components/design/Buttons.mjs.map +1 -1
- package/dist/components/design/ConnectedIndicator.d.ts +6 -0
- package/dist/components/design/ConnectedIndicator.d.ts.map +1 -0
- package/dist/components/design/ConnectedIndicator.js +20 -0
- package/dist/components/design/ConnectedIndicator.js.map +1 -0
- package/dist/components/design/ConnectedIndicator.mjs +17 -0
- package/dist/components/design/ConnectedIndicator.mjs.map +1 -0
- package/dist/components/design/Inputs.d.ts +7 -0
- package/dist/components/design/Inputs.d.ts.map +1 -1
- package/dist/components/design/Inputs.js +37 -0
- package/dist/components/design/Inputs.js.map +1 -1
- package/dist/components/design/Inputs.mjs +39 -2
- package/dist/components/design/Inputs.mjs.map +1 -1
- package/dist/components/design/Svg.d.ts +1 -0
- package/dist/components/design/Svg.d.ts.map +1 -1
- package/dist/components/user/ConnectWallet.d.ts +1 -1
- package/dist/components/user/ConnectWallet.d.ts.map +1 -1
- package/dist/components/user/ConnectWallet.js +6 -100
- package/dist/components/user/ConnectWallet.js.map +1 -1
- package/dist/components/user/ConnectWallet.mjs +5 -183
- package/dist/components/user/ConnectWallet.mjs.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/providers/WalletConnectProvider.d.ts +23 -0
- package/dist/providers/WalletConnectProvider.d.ts.map +1 -0
- package/dist/providers/WalletConnectProvider.js +72 -0
- package/dist/providers/WalletConnectProvider.js.map +1 -0
- package/dist/providers/WalletConnectProvider.mjs +93 -0
- package/dist/providers/WalletConnectProvider.mjs.map +1 -0
- package/dist/providers/client/Provider.d.ts.map +1 -1
- package/dist/providers/client/Provider.js +5 -2
- package/dist/providers/client/Provider.js.map +1 -1
- package/dist/providers/client/Provider.mjs +5 -2
- package/dist/providers/client/Provider.mjs.map +1 -1
- package/dist/providers/modal/Provider.d.ts +5 -1
- package/dist/providers/modal/Provider.d.ts.map +1 -1
- package/dist/providers/modal/Provider.js.map +1 -1
- package/dist/providers/modal/Provider.mjs.map +1 -1
- package/dist/providers/modal/Root.d.ts.map +1 -1
- package/dist/providers/modal/Root.js +2 -0
- package/dist/providers/modal/Root.js.map +1 -1
- package/dist/providers/modal/Root.mjs +2 -0
- package/dist/providers/modal/Root.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/base.d.ts +6 -0
- package/dist/types/base.d.ts.map +1 -1
- package/dist/types/base.js +7 -0
- package/dist/types/base.js.map +1 -1
- package/dist/types/base.mjs +8 -1
- package/dist/types/base.mjs.map +1 -1
- package/dist/utils/utils.d.ts +2 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +5 -0
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/utils.mjs +7 -1
- package/dist/utils/utils.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/components/auth/Wallet.d.ts +0 -34
- package/dist/components/auth/Wallet.d.ts.map +0 -1
- package/dist/components/auth/Wallet.js +0 -514
- package/dist/components/auth/Wallet.js.map +0 -1
- package/dist/components/auth/Wallet.mjs +0 -615
- package/dist/components/auth/Wallet.mjs.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { ActionButton } from '../../design/Buttons.mjs';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { useModal } from '../../../providers/modal/Hook.mjs';
|
|
7
|
+
|
|
8
|
+
function DisconnectWalletScreen(props) {
|
|
9
|
+
var _provider$info$icon;
|
|
10
|
+
var provider = props.provider,
|
|
11
|
+
onDisconnect = props.onDisconnect;
|
|
12
|
+
var _useModal = useModal(),
|
|
13
|
+
isMobile = _useModal.isMobile;
|
|
14
|
+
var _useState = useState(false),
|
|
15
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
16
|
+
isLoading = _useState2[0],
|
|
17
|
+
setIsLoading = _useState2[1];
|
|
18
|
+
var _useState3 = useState(false),
|
|
19
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
20
|
+
hasError = _useState4[0],
|
|
21
|
+
setHasError = _useState4[1];
|
|
22
|
+
var handleDisconnect = /*#__PURE__*/function () {
|
|
23
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
24
|
+
return _regenerator().w(function (_context) {
|
|
25
|
+
while (1) switch (_context.p = _context.n) {
|
|
26
|
+
case 0:
|
|
27
|
+
setIsLoading(true);
|
|
28
|
+
setHasError(false);
|
|
29
|
+
_context.p = 1;
|
|
30
|
+
_context.n = 2;
|
|
31
|
+
return onDisconnect(provider);
|
|
32
|
+
case 2:
|
|
33
|
+
_context.n = 4;
|
|
34
|
+
break;
|
|
35
|
+
case 3:
|
|
36
|
+
_context.p = 3;
|
|
37
|
+
_context.v;
|
|
38
|
+
setHasError(true);
|
|
39
|
+
case 4:
|
|
40
|
+
_context.p = 4;
|
|
41
|
+
setIsLoading(false);
|
|
42
|
+
return _context.f(4);
|
|
43
|
+
case 5:
|
|
44
|
+
return _context.a(2);
|
|
45
|
+
}
|
|
46
|
+
}, _callee, null, [[1, 3, 4, 5]]);
|
|
47
|
+
}));
|
|
48
|
+
return function handleDisconnect() {
|
|
49
|
+
return _ref.apply(this, arguments);
|
|
50
|
+
};
|
|
51
|
+
}();
|
|
52
|
+
return jsxs("div", {
|
|
53
|
+
className: clsx("mt-8", isMobile ? "w-full" : "w-96"),
|
|
54
|
+
children: [jsxs("div", {
|
|
55
|
+
className: "mt-6 mb-5 flex flex-col items-center gap-3",
|
|
56
|
+
children: [jsx("img", {
|
|
57
|
+
src: (_provider$info$icon = provider.info.icon) !== null && _provider$info$icon !== void 0 ? _provider$info$icon : "",
|
|
58
|
+
className: "size-14 rounded-full"
|
|
59
|
+
}), jsx("div", {
|
|
60
|
+
className: clsx("text-2xl font-bold text-center", hasError && "text-danger-light dark:text-danger-dark"),
|
|
61
|
+
children: hasError ? "You can't disconnect this wallet!" : "Disconnect ".concat(provider.info.name)
|
|
62
|
+
}), jsx("div", {
|
|
63
|
+
className: "text-icon-text-light dark:text-icon-text-dark text-center !p-0",
|
|
64
|
+
children: hasError ? "Try disconnecting directly from the ".concat(provider.info.name, " app") : "You can always connect this wallet again later."
|
|
65
|
+
})]
|
|
66
|
+
}), jsx("div", {
|
|
67
|
+
className: "flex my-2 mt-0",
|
|
68
|
+
children: jsx(ActionButton, {
|
|
69
|
+
onClick: handleDisconnect,
|
|
70
|
+
loading: isLoading,
|
|
71
|
+
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"),
|
|
72
|
+
spinnerClassName: "text-primary-danger-text-light dark:text-primary-danger-text-dark",
|
|
73
|
+
children: "Disconnect Wallet"
|
|
74
|
+
})
|
|
75
|
+
})]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { DisconnectWalletScreen };
|
|
80
|
+
//# sourceMappingURL=DisconnectWalletScreen.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisconnectWalletScreen.mjs","sources":["../../../../src/components/auth/wallet/DisconnectWalletScreen.tsx"],"sourcesContent":[null],"names":["DisconnectWalletScreen","props","_provider$info$icon","provider","onDisconnect","_useModal","useModal","isMobile","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","hasError","setHasError","handleDisconnect","_ref","_asyncToGenerator","_regenerator","m","_callee","w","_context","p","n","v","f","a","apply","arguments","_jsxs","className","clsx","children","_jsx","src","info","icon","concat","name","ActionButton","onClick","loading","spinnerClassName"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WalletProvider } from "@turnkey/core";
|
|
2
|
+
interface ExternalWalletChainSelectorProps {
|
|
3
|
+
providers: WalletProvider[];
|
|
4
|
+
onSelect: (provider: WalletProvider) => Promise<void>;
|
|
5
|
+
/** When provided, connected providers show disconnect UI and this handler is called on click. */
|
|
6
|
+
onDisconnect?: ((provider: WalletProvider) => Promise<void>) | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare function ExternalWalletChainSelector(props: ExternalWalletChainSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ExternalWalletChainSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalWalletChainSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/ExternalWalletChainSelector.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOpD,UAAU,gCAAgC;IACxC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,iGAAiG;IACjG,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CAC1E;AACD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gCAAgC,2CAsIxC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
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 reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
7
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var clsx = require('clsx');
|
|
10
|
+
var core = require('@turnkey/core');
|
|
11
|
+
var Hook$1 = require('../../../providers/modal/Hook.js');
|
|
12
|
+
var Hook = require('../../../providers/client/Hook.js');
|
|
13
|
+
var ConnectedIndicator = require('../../design/ConnectedIndicator.js');
|
|
14
|
+
var utils = require('./utils.js');
|
|
15
|
+
|
|
16
|
+
function ExternalWalletChainSelector(props) {
|
|
17
|
+
const {
|
|
18
|
+
providers,
|
|
19
|
+
onSelect,
|
|
20
|
+
onDisconnect
|
|
21
|
+
} = props;
|
|
22
|
+
const {
|
|
23
|
+
walletProviders
|
|
24
|
+
} = Hook.useTurnkey();
|
|
25
|
+
const {
|
|
26
|
+
isMobile,
|
|
27
|
+
popPage
|
|
28
|
+
} = Hook$1.useModal();
|
|
29
|
+
const [loadingProvider, setLoadingProvider] = react.useState();
|
|
30
|
+
// we find matching providers in current state, matching by wallet identity
|
|
31
|
+
// (rdns preferred, name as fallback) in addition to interfaceType + namespace
|
|
32
|
+
// to avoid picking a different wallet that happens to support the same chain
|
|
33
|
+
const currentProviders = providers.map(inputProvider => walletProviders.find(p => p.interfaceType === inputProvider.interfaceType && p.chainInfo.namespace === inputProvider.chainInfo.namespace && (p.info.rdns && inputProvider.info.rdns ? p.info.rdns === inputProvider.info.rdns : p.info.name === inputProvider.info.name))).filter(p => p !== undefined);
|
|
34
|
+
// if no providers are found then that means that the user entered this screen
|
|
35
|
+
// while WalletConnect was still initializing, and then it failed to initialize
|
|
36
|
+
react.useEffect(() => {
|
|
37
|
+
if (currentProviders.length === 0) {
|
|
38
|
+
popPage();
|
|
39
|
+
}
|
|
40
|
+
}, [currentProviders.length, popPage]);
|
|
41
|
+
const shouldShowDisconnect = onDisconnect !== undefined;
|
|
42
|
+
const handleSelect = async provider => {
|
|
43
|
+
setLoadingProvider(provider);
|
|
44
|
+
if (utils.canDisconnect(provider, shouldShowDisconnect)) {
|
|
45
|
+
await onDisconnect(provider);
|
|
46
|
+
} else {
|
|
47
|
+
await onSelect(provider);
|
|
48
|
+
}
|
|
49
|
+
setLoadingProvider(undefined);
|
|
50
|
+
};
|
|
51
|
+
return jsxRuntime.jsxs("div", {
|
|
52
|
+
className: clsx("flex flex-col w-72 gap-4 mt-11 items-center justify-center", isMobile ? "w-full" : "w-72"),
|
|
53
|
+
children: [jsxRuntime.jsx("img", {
|
|
54
|
+
src: providers[0]?.info.icon,
|
|
55
|
+
className: "size-14 rounded-full"
|
|
56
|
+
}), jsxRuntime.jsxs("span", {
|
|
57
|
+
className: "text-sm text-center text-icon-text-light dark:text-icon-text-dark",
|
|
58
|
+
children: [providers[0]?.info.name ?? "This wallet provider", " supports multiple chains. Select which chain you would like to use."]
|
|
59
|
+
}), jsxRuntime.jsx("div", {
|
|
60
|
+
className: "w-full flex flex-col gap-2",
|
|
61
|
+
children: currentProviders.map(p => {
|
|
62
|
+
const [isHovering, setIsHovering] = react.useState(false);
|
|
63
|
+
return jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
64
|
+
loading: loadingProvider === p,
|
|
65
|
+
loadingText: "Preparing...",
|
|
66
|
+
onClick: () => handleSelect(p),
|
|
67
|
+
...(!isMobile && {
|
|
68
|
+
// This looks weird on mobile since there's no hover state
|
|
69
|
+
onMouseEnter: () => setIsHovering(true),
|
|
70
|
+
onMouseLeave: () => setIsHovering(false)
|
|
71
|
+
}),
|
|
72
|
+
className: "relative overflow-hidden flex items-center justify-start gap-2 w-full text-inherit bg-button-light dark:bg-button-dark",
|
|
73
|
+
children: [core.isEthereumProvider(p) ? jsxRuntime.jsxs("div", {
|
|
74
|
+
className: "relative",
|
|
75
|
+
children: [jsxRuntime.jsx(Svg.EthereumLogo, {
|
|
76
|
+
className: "size-5"
|
|
77
|
+
}), utils.canDisconnect(p, shouldShowDisconnect) && jsxRuntime.jsx(ConnectedIndicator.ConnectedIndicator, {
|
|
78
|
+
isPinging: true
|
|
79
|
+
})]
|
|
80
|
+
}) : core.isSolanaProvider(p) ? jsxRuntime.jsxs("div", {
|
|
81
|
+
className: "relative",
|
|
82
|
+
children: [jsxRuntime.jsx(Svg.SolanaLogo, {
|
|
83
|
+
className: "size-5"
|
|
84
|
+
}), utils.canDisconnect(p, shouldShowDisconnect) && jsxRuntime.jsx(ConnectedIndicator.ConnectedIndicator, {
|
|
85
|
+
isPinging: true
|
|
86
|
+
})]
|
|
87
|
+
}) :
|
|
88
|
+
// we should never reach here
|
|
89
|
+
// if we do then it means we forgot to update the auth component after adding a new chain
|
|
90
|
+
jsxRuntime.jsx("div", {
|
|
91
|
+
className: "relative",
|
|
92
|
+
children: jsxRuntime.jsx("span", {
|
|
93
|
+
className: "size-5 flex items-center justify-center rounded bg-gray-300 dark:bg-gray-700",
|
|
94
|
+
children: "?"
|
|
95
|
+
})
|
|
96
|
+
}), jsxRuntime.jsxs("div", {
|
|
97
|
+
className: "flex flex-col items-start",
|
|
98
|
+
children: [core.isEthereumProvider(p) ? "EVM" : core.isSolanaProvider(p) ? "Solana" :
|
|
99
|
+
// we should never reach here
|
|
100
|
+
// if we do then it means we forgot to update the auth component after adding a new chain
|
|
101
|
+
`?`, utils.canDisconnect(p, shouldShowDisconnect) && jsxRuntime.jsxs("span", {
|
|
102
|
+
className: "text-xs text-icon-text-light dark:text-icon-text-dark",
|
|
103
|
+
children: ["Connected: ", p.connectedAddresses[0]?.slice(0, 4), "...", p.connectedAddresses[0]?.slice(-3)]
|
|
104
|
+
})]
|
|
105
|
+
}), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
106
|
+
className: clsx(`absolute transition-all duration-200`, isHovering ? "right-4" : "-right-4", utils.canDisconnect(p, shouldShowDisconnect) ? "text-danger-light dark:text-danger-dark" : "text-icon-text-light dark:text-icon-text-dark"),
|
|
107
|
+
size: utils.canDisconnect(p, shouldShowDisconnect) ? "lg" : "1x",
|
|
108
|
+
icon: utils.canDisconnect(p, shouldShowDisconnect) ? freeSolidSvgIcons.faClose : freeSolidSvgIcons.faChevronRight
|
|
109
|
+
})]
|
|
110
|
+
}, p.chainInfo.namespace);
|
|
111
|
+
})
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
exports.ExternalWalletChainSelector = ExternalWalletChainSelector;
|
|
117
|
+
//# sourceMappingURL=ExternalWalletChainSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalWalletChainSelector.js","sources":["../../../../src/components/auth/wallet/ExternalWalletChainSelector.tsx"],"sourcesContent":[null],"names":["ExternalWalletChainSelector","props","providers","onSelect","onDisconnect","walletProviders","useTurnkey","isMobile","popPage","useModal","loadingProvider","setLoadingProvider","useState","currentProviders","map","inputProvider","find","p","interfaceType","chainInfo","namespace","info","rdns","name","filter","undefined","useEffect","length","shouldShowDisconnect","handleSelect","provider","canDisconnect","_jsxs","className","clsx","children","_jsx","src","icon","isHovering","setIsHovering","ActionButton","loading","loadingText","onClick","onMouseEnter","onMouseLeave","isEthereumProvider","EthereumLogo","ConnectedIndicator","isPinging","isSolanaProvider","SolanaLogo","connectedAddresses","slice","FontAwesomeIcon","size","faClose","faChevronRight"],"mappings":";;;;;;;;;;;;;;;AAmBM,SAAUA,2BAA2BA,CACzCC,KAAuC,EAAA;EAEvC,MAAM;IAAEC,SAAS;IAAEC,QAAQ;AAAEC,IAAAA;AAAY,GAAE,GAAGH,KAAK;EAEnD,MAAM;AAAEI,IAAAA;GAAiB,GAAGC,eAAU,EAAE;EACxC,MAAM;IAAEC,QAAQ;AAAEC,IAAAA;GAAS,GAAGC,eAAQ,EAAE;EAExC,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,cAAQ,EAAkB;AAExE;AACA;AACA;AACA,EAAA,MAAMC,gBAAgB,GAAGX,SAAS,CAC/BY,GAAG,CAAEC,aAAa,IACjBV,eAAe,CAACW,IAAI,CACjBC,CAAC,IACAA,CAAC,CAACC,aAAa,KAAKH,aAAa,CAACG,aAAa,IAC/CD,CAAC,CAACE,SAAS,CAACC,SAAS,KAAKL,aAAa,CAACI,SAAS,CAACC,SAAS,KAC1DH,CAAC,CAACI,IAAI,CAACC,IAAI,IAAIP,aAAa,CAACM,IAAI,CAACC,IAAI,GACnCL,CAAC,CAACI,IAAI,CAACC,IAAI,KAAKP,aAAa,CAACM,IAAI,CAACC,IAAI,GACvCL,CAAC,CAACI,IAAI,CAACE,IAAI,KAAKR,aAAa,CAACM,IAAI,CAACE,IAAI,CAAC,CAC/C,CACF,CACAC,MAAM,CAAEP,CAAC,IAA0BA,CAAC,KAAKQ,SAAS,CAAC;AAEtD;AACA;AACAC,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAIb,gBAAgB,CAACc,MAAM,KAAK,CAAC,EAAE;AACjCnB,MAAAA,OAAO,EAAE;AACX,IAAA;EACF,CAAC,EAAE,CAACK,gBAAgB,CAACc,MAAM,EAAEnB,OAAO,CAAC,CAAC;AAEtC,EAAA,MAAMoB,oBAAoB,GAAGxB,YAAY,KAAKqB,SAAS;AAEvD,EAAA,MAAMI,YAAY,GAAG,MAAOC,QAAwB,IAAI;IACtDnB,kBAAkB,CAACmB,QAAQ,CAAC;AAC5B,IAAA,IAAIC,mBAAa,CAACD,QAAQ,EAAEF,oBAAoB,CAAC,EAAE;MACjD,MAAMxB,YAAa,CAAC0B,QAAQ,CAAC;AAC/B,IAAA,CAAC,MAAM;MACL,MAAM3B,QAAQ,CAAC2B,QAAQ,CAAC;AAC1B,IAAA;IACAnB,kBAAkB,CAACc,SAAS,CAAC;EAC/B,CAAC;EAED,OACEO,eAAA,CAAA,KAAA,EAAA;IACEC,SAAS,EAAEC,IAAI,CACb,4DAA4D,EAC5D3B,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAA4B,IAAAA,QAAA,EAAA,CAEDC,cAAA,CAAA,KAAA,EAAA;MAAKC,GAAG,EAAEnC,SAAS,CAAC,CAAC,CAAC,EAAEmB,IAAI,CAACiB,IAAI;AAAEL,MAAAA,SAAS,EAAC;AAAsB,KAAA,CAAG,EACtED,eAAA,CAAA,MAAA,EAAA;AAAMC,MAAAA,SAAS,EAAC,mEAAmE;AAAAE,MAAAA,QAAA,EAAA,CAChFjC,SAAS,CAAC,CAAC,CAAC,EAAEmB,IAAI,CAACE,IAAI,IAAI,sBAAsB,EACjD,sEAAsE;AAAA,KAAA,CAClE,EACPa,cAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,4BAA4B;AAAAE,MAAAA,QAAA,EACxCtB,gBAAgB,CAACC,GAAG,CAAEG,CAAC,IAAI;QAC1B,MAAM,CAACsB,UAAU,EAAEC,aAAa,CAAC,GAAG5B,cAAQ,CAAC,KAAK,CAAC;QACnD,OACEoB,eAAA,CAACS,oBAAY,EAAA;UAEXC,OAAO,EAAEhC,eAAe,KAAKO,CAAC;AAC9B0B,UAAAA,WAAW,EAAC,cAAc;AAC1BC,UAAAA,OAAO,EAAEA,MAAMf,YAAY,CAACZ,CAAC,CAAC;UAAA,IACzB,CAACV,QAAQ,IAAI;AAChB;AACAsC,YAAAA,YAAY,EAAEA,MAAML,aAAa,CAAC,IAAI,CAAC;AACvCM,YAAAA,YAAY,EAAEA,MAAMN,aAAa,CAAC,KAAK;AACxC,WAAA,CAAC;AACFP,UAAAA,SAAS,EAAC,wHAAwH;UAAAE,QAAA,EAAA,CAEjIY,uBAAkB,CAAC9B,CAAC,CAAC,GACpBe,eAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,UAAU;uBACvBG,cAAA,CAACY,gBAAY,EAAA;AAACf,cAAAA,SAAS,EAAC;AAAQ,aAAA,CAAG,EAClCF,mBAAa,CAACd,CAAC,EAAEW,oBAAoB,CAAC,IACrCQ,cAAA,CAACa,qCAAkB;AAACC,cAAAA,SAAS,EAAA;AAAA,aAAA,CAC9B;WAAA,CACG,GACJC,qBAAgB,CAAClC,CAAC,CAAC,GACrBe,eAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,UAAU;AAAAE,YAAAA,QAAA,EAAA,CACvBC,eAACgB,cAAU,EAAA;AAACnB,cAAAA,SAAS,EAAC;AAAQ,aAAA,CAAG,EAChCF,mBAAa,CAACd,CAAC,EAAEW,oBAAoB,CAAC,IACrCQ,cAAA,CAACa,qCAAkB,EAAA;AAACC,cAAAA,SAAS,EAAA;AAAA,aAAA,CAC9B;YACG;AAEN;AACA;UACAd,cAAA,CAAA,KAAA,EAAA;AAAKH,YAAAA,SAAS,EAAC,UAAU;AAAAE,YAAAA,QAAA,EACvBC;AAAMH,cAAAA,SAAS,EAAC,8EAA8E;AAAAE,cAAAA,QAAA,EAAA;aAAA;AAEvF,WAAA,CAEV,EAEDH,eAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,2BAA2B;uBACvCc,uBAAkB,CAAC9B,CAAC,CAAC,GAClB,KAAK,GACLkC,qBAAgB,CAAClC,CAAC,CAAC,GACjB,QAAQ;AACR;AACA;YACA,CAAA,CAAA,CAAG,EACRc,mBAAa,CAACd,CAAC,EAAEW,oBAAoB,CAAC,IACrCI,eAAA,CAAA,MAAA,EAAA;AAAMC,cAAAA,SAAS,EAAC,uDAAuD;wCACzDhB,CAAC,CAACoC,kBAAkB,CAAC,CAAC,CAAC,EAAEC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA,KAAA,EAC/CrC,CAAC,CAACoC,kBAAkB,CAAC,CAAC,CAAC,EAAEC,KAAK,CAAC,EAAE,CAAC;cAEtC;AAAA,WAAA,CACG,EAENlB,cAAA,CAACmB,gCAAe,EAAA;YACdtB,SAAS,EAAEC,IAAI,CACb,CAAA,oCAAA,CAAsC,EACtCK,UAAU,GAAG,SAAS,GAAG,UAAU,EACnCR,mBAAa,CAACd,CAAC,EAAEW,oBAAoB,CAAC,GAClC,yCAAyC,GACzC,+CAA+C,CACpD;YACD4B,IAAI,EAAEzB,mBAAa,CAACd,CAAC,EAAEW,oBAAoB,CAAC,GAAG,IAAI,GAAG,IAAI;YAC1DU,IAAI,EACFP,mBAAa,CAACd,CAAC,EAAEW,oBAAoB,CAAC,GAClC6B,yBAAO,GACPC;AAAc,WAAA,CAEpB;AAAA,SAAA,EAjEGzC,CAAC,CAACE,SAAS,CAACC,SAAS,CAkEb;MAEnB,CAAC;AAAC,KAAA,CACE;AAAA,GAAA,CACF;AAEV;;;;"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { ActionButton } from '../../design/Buttons.mjs';
|
|
4
|
+
import { EthereumLogo, SolanaLogo } from '../../design/Svg.mjs';
|
|
5
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
6
|
+
import { faClose, faChevronRight } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import { useState, useEffect } from 'react';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import { isEthereumProvider, isSolanaProvider } from '@turnkey/core';
|
|
10
|
+
import { useModal } from '../../../providers/modal/Hook.mjs';
|
|
11
|
+
import { useTurnkey } from '../../../providers/client/Hook.mjs';
|
|
12
|
+
import { ConnectedIndicator } from '../../design/ConnectedIndicator.mjs';
|
|
13
|
+
import { canDisconnect } from './utils.mjs';
|
|
14
|
+
|
|
15
|
+
function ExternalWalletChainSelector(props) {
|
|
16
|
+
var _providers$, _providers$0$info$nam, _providers$2;
|
|
17
|
+
var providers = props.providers,
|
|
18
|
+
onSelect = props.onSelect,
|
|
19
|
+
onDisconnect = props.onDisconnect;
|
|
20
|
+
var _useTurnkey = useTurnkey(),
|
|
21
|
+
walletProviders = _useTurnkey.walletProviders;
|
|
22
|
+
var _useModal = useModal(),
|
|
23
|
+
isMobile = _useModal.isMobile,
|
|
24
|
+
popPage = _useModal.popPage;
|
|
25
|
+
var _useState = useState(),
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
+
loadingProvider = _useState2[0],
|
|
28
|
+
setLoadingProvider = _useState2[1];
|
|
29
|
+
// we find matching providers in current state, matching by wallet identity
|
|
30
|
+
// (rdns preferred, name as fallback) in addition to interfaceType + namespace
|
|
31
|
+
// to avoid picking a different wallet that happens to support the same chain
|
|
32
|
+
var currentProviders = providers.map(function (inputProvider) {
|
|
33
|
+
return walletProviders.find(function (p) {
|
|
34
|
+
return p.interfaceType === inputProvider.interfaceType && p.chainInfo.namespace === inputProvider.chainInfo.namespace && (p.info.rdns && inputProvider.info.rdns ? p.info.rdns === inputProvider.info.rdns : p.info.name === inputProvider.info.name);
|
|
35
|
+
});
|
|
36
|
+
}).filter(function (p) {
|
|
37
|
+
return p !== undefined;
|
|
38
|
+
});
|
|
39
|
+
// if no providers are found then that means that the user entered this screen
|
|
40
|
+
// while WalletConnect was still initializing, and then it failed to initialize
|
|
41
|
+
useEffect(function () {
|
|
42
|
+
if (currentProviders.length === 0) {
|
|
43
|
+
popPage();
|
|
44
|
+
}
|
|
45
|
+
}, [currentProviders.length, popPage]);
|
|
46
|
+
var shouldShowDisconnect = onDisconnect !== undefined;
|
|
47
|
+
var handleSelect = /*#__PURE__*/function () {
|
|
48
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(provider) {
|
|
49
|
+
return _regenerator().w(function (_context) {
|
|
50
|
+
while (1) switch (_context.n) {
|
|
51
|
+
case 0:
|
|
52
|
+
setLoadingProvider(provider);
|
|
53
|
+
if (!canDisconnect(provider, shouldShowDisconnect)) {
|
|
54
|
+
_context.n = 2;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
_context.n = 1;
|
|
58
|
+
return onDisconnect(provider);
|
|
59
|
+
case 1:
|
|
60
|
+
_context.n = 3;
|
|
61
|
+
break;
|
|
62
|
+
case 2:
|
|
63
|
+
_context.n = 3;
|
|
64
|
+
return onSelect(provider);
|
|
65
|
+
case 3:
|
|
66
|
+
setLoadingProvider(undefined);
|
|
67
|
+
case 4:
|
|
68
|
+
return _context.a(2);
|
|
69
|
+
}
|
|
70
|
+
}, _callee);
|
|
71
|
+
}));
|
|
72
|
+
return function handleSelect(_x) {
|
|
73
|
+
return _ref.apply(this, arguments);
|
|
74
|
+
};
|
|
75
|
+
}();
|
|
76
|
+
return jsxs("div", {
|
|
77
|
+
className: clsx("flex flex-col w-72 gap-4 mt-11 items-center justify-center", isMobile ? "w-full" : "w-72"),
|
|
78
|
+
children: [jsx("img", {
|
|
79
|
+
src: (_providers$ = providers[0]) === null || _providers$ === void 0 ? void 0 : _providers$.info.icon,
|
|
80
|
+
className: "size-14 rounded-full"
|
|
81
|
+
}), jsxs("span", {
|
|
82
|
+
className: "text-sm text-center text-icon-text-light dark:text-icon-text-dark",
|
|
83
|
+
children: [(_providers$0$info$nam = (_providers$2 = providers[0]) === null || _providers$2 === void 0 ? void 0 : _providers$2.info.name) !== null && _providers$0$info$nam !== void 0 ? _providers$0$info$nam : "This wallet provider", " supports multiple chains. Select which chain you would like to use."]
|
|
84
|
+
}), jsx("div", {
|
|
85
|
+
className: "w-full flex flex-col gap-2",
|
|
86
|
+
children: currentProviders.map(function (p) {
|
|
87
|
+
var _p$connectedAddresses, _p$connectedAddresses2;
|
|
88
|
+
var _useState3 = useState(false),
|
|
89
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
90
|
+
isHovering = _useState4[0],
|
|
91
|
+
setIsHovering = _useState4[1];
|
|
92
|
+
return jsxs(ActionButton, _objectSpread2(_objectSpread2({
|
|
93
|
+
loading: loadingProvider === p,
|
|
94
|
+
loadingText: "Preparing...",
|
|
95
|
+
onClick: function onClick() {
|
|
96
|
+
return handleSelect(p);
|
|
97
|
+
}
|
|
98
|
+
}, !isMobile && {
|
|
99
|
+
// This looks weird on mobile since there's no hover state
|
|
100
|
+
onMouseEnter: function onMouseEnter() {
|
|
101
|
+
return setIsHovering(true);
|
|
102
|
+
},
|
|
103
|
+
onMouseLeave: function onMouseLeave() {
|
|
104
|
+
return setIsHovering(false);
|
|
105
|
+
}
|
|
106
|
+
}), {}, {
|
|
107
|
+
className: "relative overflow-hidden flex items-center justify-start gap-2 w-full text-inherit bg-button-light dark:bg-button-dark",
|
|
108
|
+
children: [isEthereumProvider(p) ? jsxs("div", {
|
|
109
|
+
className: "relative",
|
|
110
|
+
children: [jsx(EthereumLogo, {
|
|
111
|
+
className: "size-5"
|
|
112
|
+
}), canDisconnect(p, shouldShowDisconnect) && jsx(ConnectedIndicator, {
|
|
113
|
+
isPinging: true
|
|
114
|
+
})]
|
|
115
|
+
}) : isSolanaProvider(p) ? jsxs("div", {
|
|
116
|
+
className: "relative",
|
|
117
|
+
children: [jsx(SolanaLogo, {
|
|
118
|
+
className: "size-5"
|
|
119
|
+
}), canDisconnect(p, shouldShowDisconnect) && jsx(ConnectedIndicator, {
|
|
120
|
+
isPinging: true
|
|
121
|
+
})]
|
|
122
|
+
}) :
|
|
123
|
+
// we should never reach here
|
|
124
|
+
// if we do then it means we forgot to update the auth component after adding a new chain
|
|
125
|
+
jsx("div", {
|
|
126
|
+
className: "relative",
|
|
127
|
+
children: jsx("span", {
|
|
128
|
+
className: "size-5 flex items-center justify-center rounded bg-gray-300 dark:bg-gray-700",
|
|
129
|
+
children: "?"
|
|
130
|
+
})
|
|
131
|
+
}), jsxs("div", {
|
|
132
|
+
className: "flex flex-col items-start",
|
|
133
|
+
children: [isEthereumProvider(p) ? "EVM" : isSolanaProvider(p) ? "Solana" : // we should never reach here
|
|
134
|
+
// if we do then it means we forgot to update the auth component after adding a new chain
|
|
135
|
+
"?", canDisconnect(p, shouldShowDisconnect) && jsxs("span", {
|
|
136
|
+
className: "text-xs text-icon-text-light dark:text-icon-text-dark",
|
|
137
|
+
children: ["Connected: ", (_p$connectedAddresses = p.connectedAddresses[0]) === null || _p$connectedAddresses === void 0 ? void 0 : _p$connectedAddresses.slice(0, 4), "...", (_p$connectedAddresses2 = p.connectedAddresses[0]) === null || _p$connectedAddresses2 === void 0 ? void 0 : _p$connectedAddresses2.slice(-3)]
|
|
138
|
+
})]
|
|
139
|
+
}), jsx(FontAwesomeIcon, {
|
|
140
|
+
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"),
|
|
141
|
+
size: canDisconnect(p, shouldShowDisconnect) ? "lg" : "1x",
|
|
142
|
+
icon: canDisconnect(p, shouldShowDisconnect) ? faClose : faChevronRight
|
|
143
|
+
})]
|
|
144
|
+
}), p.chainInfo.namespace);
|
|
145
|
+
})
|
|
146
|
+
})]
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export { ExternalWalletChainSelector };
|
|
151
|
+
//# sourceMappingURL=ExternalWalletChainSelector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalWalletChainSelector.mjs","sources":["../../../../src/components/auth/wallet/ExternalWalletChainSelector.tsx"],"sourcesContent":[null],"names":["ExternalWalletChainSelector","props","_providers$","_providers$0$info$nam","_providers$2","providers","onSelect","onDisconnect","_useTurnkey","useTurnkey","walletProviders","_useModal","useModal","isMobile","popPage","_useState","useState","_useState2","_slicedToArray","loadingProvider","setLoadingProvider","currentProviders","map","inputProvider","find","p","interfaceType","chainInfo","namespace","info","rdns","name","filter","undefined","useEffect","length","shouldShowDisconnect","handleSelect","_ref","_asyncToGenerator","_regenerator","m","_callee","provider","w","_context","n","canDisconnect","a","_x","apply","arguments","_jsxs","className","clsx","children","_jsx","src","icon","_p$connectedAddresses","_p$connectedAddresses2","_useState3","_useState4","isHovering","setIsHovering","ActionButton","_objectSpread","loading","loadingText","onClick","onMouseEnter","onMouseLeave","isEthereumProvider","EthereumLogo","ConnectedIndicator","isPinging","isSolanaProvider","SolanaLogo","connectedAddresses","slice","FontAwesomeIcon","size","faClose","faChevronRight"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type WalletAccount } from "@turnkey/core";
|
|
2
|
+
import { WalletSelectorMode } from "../../../types/base";
|
|
3
|
+
export { WalletSelectorMode } from "../../../types/base";
|
|
4
|
+
interface AuthModeProps {
|
|
5
|
+
mode: WalletSelectorMode.Auth;
|
|
6
|
+
/** Session key for the auth flow */
|
|
7
|
+
sessionKey?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
interface ConnectModeProps {
|
|
10
|
+
mode: WalletSelectorMode.Connect;
|
|
11
|
+
/** Called when a wallet is successfully connected or disconnected */
|
|
12
|
+
onSuccess: (type: "connect" | "disconnect", account: WalletAccount) => void;
|
|
13
|
+
/** Duration to show success page (ms). If 0 or undefined, closes immediately */
|
|
14
|
+
successPageDuration?: number | undefined;
|
|
15
|
+
}
|
|
16
|
+
export type ExternalWalletSelectorProps = AuthModeProps | ConnectModeProps;
|
|
17
|
+
export declare function ExternalWalletSelector(props: ExternalWalletSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=ExternalWalletSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalWalletSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/ExternalWalletSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,UAAU,aAAa;IACrB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAC9B,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;IACjC,qEAAqE;IACrE,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5E,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE3E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAqQxE"}
|