thirdweb 5.80.1-nightly-ce3e850fdbf34911e20919ecc2674e4a63f08fa3-20241226000321 → 5.80.1-nightly-7293dfa2ff346b761eadb45acc95dc83369bcedd-20241227000333
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/cjs/react/web/ui/ConnectWallet/ConnectButton.js +11 -0
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +59 -16
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js +48 -24
- package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
- package/dist/cjs/react/web/ui/components/ChainActiveDot.js +20 -0
- package/dist/cjs/react/web/ui/components/ChainActiveDot.js.map +1 -0
- package/dist/cjs/react/web/ui/components/ChainIcon.js +24 -29
- package/dist/cjs/react/web/ui/components/ChainIcon.js.map +1 -1
- package/dist/cjs/react/web/ui/components/fallbackChainIcon.js +9 -0
- package/dist/cjs/react/web/ui/components/fallbackChainIcon.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Chain/icon.js +44 -28
- package/dist/cjs/react/web/ui/prebuilt/Chain/icon.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +11 -0
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +59 -17
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js +45 -21
- package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
- package/dist/esm/react/web/ui/components/ChainActiveDot.js +17 -0
- package/dist/esm/react/web/ui/components/ChainActiveDot.js.map +1 -0
- package/dist/esm/react/web/ui/components/ChainIcon.js +22 -28
- package/dist/esm/react/web/ui/components/ChainIcon.js.map +1 -1
- package/dist/esm/react/web/ui/components/fallbackChainIcon.js +6 -0
- package/dist/esm/react/web/ui/components/fallbackChainIcon.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Chain/icon.js +42 -28
- package/dist/esm/react/web/ui/prebuilt/Chain/icon.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +5 -0
- package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +11 -0
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +34 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts +46 -1
- package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/ChainActiveDot.d.ts +10 -0
- package/dist/types/react/web/ui/components/ChainActiveDot.d.ts.map +1 -0
- package/dist/types/react/web/ui/components/ChainIcon.d.ts +8 -0
- package/dist/types/react/web/ui/components/ChainIcon.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/fallbackChainIcon.d.ts +6 -0
- package/dist/types/react/web/ui/components/fallbackChainIcon.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Chain/icon.d.ts +18 -0
- package/dist/types/react/web/ui/prebuilt/Chain/icon.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/react/core/hooks/connection/ConnectButtonProps.ts +6 -0
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +11 -0
- package/src/react/web/ui/ConnectWallet/Details.test.tsx +55 -0
- package/src/react/web/ui/ConnectWallet/Details.tsx +176 -98
- package/src/react/web/ui/ConnectWallet/NetworkSelector.test.tsx +189 -0
- package/src/react/web/ui/ConnectWallet/NetworkSelector.tsx +117 -76
- package/src/react/web/ui/components/ChainActiveDot.tsx +17 -0
- package/src/react/web/ui/components/ChainIcon.test.tsx +60 -0
- package/src/react/web/ui/components/ChainIcon.tsx +27 -31
- package/src/react/web/ui/components/fallbackChainIcon.ts +6 -0
- package/src/react/web/ui/prebuilt/Chain/icon.test.tsx +150 -0
- package/src/react/web/ui/prebuilt/Chain/icon.tsx +53 -31
- package/src/version.ts +1 -1
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ChainActiveDot = void 0;
|
4
|
+
const elements_js_1 = require("../design-system/elements.js");
|
5
|
+
/**
|
6
|
+
* The greet dot that is placed at the corner of the chain icon -
|
7
|
+
* indicating that the chain is currently active (connected to)
|
8
|
+
* @internal
|
9
|
+
*/
|
10
|
+
exports.ChainActiveDot = (0, elements_js_1.StyledDiv)({
|
11
|
+
width: "28%",
|
12
|
+
height: "28%",
|
13
|
+
borderRadius: "50%",
|
14
|
+
position: "absolute",
|
15
|
+
bottom: 0,
|
16
|
+
right: 0,
|
17
|
+
backgroundColor: "#00d395",
|
18
|
+
boxShadow: "0 0 0 2px var(--bg)",
|
19
|
+
});
|
20
|
+
//# sourceMappingURL=ChainActiveDot.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ChainActiveDot.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/components/ChainActiveDot.tsx"],"names":[],"mappings":";;;AAAA,8DAAyD;AAEzD;;;;GAIG;AACU,QAAA,cAAc,GAAmB,IAAA,uBAAS,EAAC;IACtD,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,eAAe,EAAE,SAAS;IAC1B,SAAS,EAAE,qBAAqB;CACjC,CAAC,CAAC"}
|
@@ -1,47 +1,42 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ChainIcon = void 0;
|
3
|
+
exports.getSrcChainIcon = exports.ChainIcon = void 0;
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
5
|
const ipfs_js_1 = require("../../../../utils/ipfs.js");
|
6
|
-
const
|
6
|
+
const ChainActiveDot_js_1 = require("./ChainActiveDot.js");
|
7
7
|
const Img_js_1 = require("./Img.js");
|
8
8
|
const basic_js_1 = require("./basic.js");
|
9
|
-
const
|
9
|
+
const fallbackChainIcon_js_1 = require("./fallbackChainIcon.js");
|
10
10
|
/**
|
11
|
+
* This component (file) will eventually be replaced with the ChainIcon prebuilt version.
|
11
12
|
* @internal
|
12
13
|
*/
|
13
14
|
const ChainIcon = (props) => {
|
14
|
-
const getSrc = () => {
|
15
|
-
const url = props.chainIconUrl;
|
16
|
-
if (!url) {
|
17
|
-
return fallbackChainIcon;
|
18
|
-
}
|
19
|
-
try {
|
20
|
-
return (0, ipfs_js_1.resolveScheme)({
|
21
|
-
uri: url,
|
22
|
-
client: props.client,
|
23
|
-
});
|
24
|
-
}
|
25
|
-
catch {
|
26
|
-
return fallbackChainIcon;
|
27
|
-
}
|
28
|
-
};
|
29
15
|
return ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { style: {
|
30
16
|
position: "relative",
|
31
17
|
display: "flex",
|
32
18
|
flexShrink: 0,
|
33
19
|
alignItems: "center",
|
34
|
-
}, children: [(0, jsx_runtime_1.jsx)(Img_js_1.Img, { src:
|
20
|
+
}, children: [(0, jsx_runtime_1.jsx)(Img_js_1.Img, { src: (0, exports.getSrcChainIcon)(props), width: props.size, height: props.size, fallbackImage: fallbackChainIcon_js_1.fallbackChainIcon, client: props.client }), props.active && ((0, jsx_runtime_1.jsx)(ChainActiveDot_js_1.ChainActiveDot, { className: "tw-chain-active-dot-legacy-chain-icon" }))] }));
|
35
21
|
};
|
36
22
|
exports.ChainIcon = ChainIcon;
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
23
|
+
/**
|
24
|
+
* @internal
|
25
|
+
*/
|
26
|
+
const getSrcChainIcon = (props) => {
|
27
|
+
const url = props.chainIconUrl;
|
28
|
+
if (!url) {
|
29
|
+
return fallbackChainIcon_js_1.fallbackChainIcon;
|
30
|
+
}
|
31
|
+
try {
|
32
|
+
return (0, ipfs_js_1.resolveScheme)({
|
33
|
+
uri: url,
|
34
|
+
client: props.client,
|
35
|
+
});
|
36
|
+
}
|
37
|
+
catch {
|
38
|
+
return fallbackChainIcon_js_1.fallbackChainIcon;
|
39
|
+
}
|
40
|
+
};
|
41
|
+
exports.getSrcChainIcon = getSrcChainIcon;
|
47
42
|
//# sourceMappingURL=ChainIcon.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChainIcon.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/components/ChainIcon.tsx"],"names":[],"mappings":";;;;AACA,uDAA0D;AAC1D,
|
1
|
+
{"version":3,"file":"ChainIcon.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/components/ChainIcon.tsx"],"names":[],"mappings":";;;;AACA,uDAA0D;AAC1D,2DAAqD;AACrD,qCAA+B;AAC/B,yCAAuC;AACvC,iEAA2D;AAE3D;;;GAGG;AACI,MAAM,SAAS,GAOjB,CAAC,KAAK,EAAE,EAAE;IACb,OAAO,CACL,wBAAC,oBAAS,IACR,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,QAAQ;SACrB,aAED,uBAAC,YAAG,IACF,GAAG,EAAE,IAAA,uBAAe,EAAC,KAAK,CAAC,EAC3B,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,MAAM,EAAE,KAAK,CAAC,IAAI,EAClB,aAAa,EAAE,wCAAiB,EAChC,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,EACD,KAAK,CAAC,MAAM,IAAI,CACf,uBAAC,kCAAc,IAAC,SAAS,EAAC,uCAAuC,GAAG,CACrE,IACS,CACb,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,SAAS,aA6BpB;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,CAAC,KAG/B,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,wCAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAA,uBAAa,EAAC;YACnB,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,wCAAiB,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.fallbackChainIcon = void 0;
|
4
|
+
/**
|
5
|
+
* The dummy image to be used in case the chain icon does not exist
|
6
|
+
* @internal
|
7
|
+
*/
|
8
|
+
exports.fallbackChainIcon = "data:image/svg+xml;charset=UTF-8,%3csvg width='15' height='14' viewBox='0 0 15 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M7 8.04238e-07C5.1435 8.04238e-07 3.36301 0.737501 2.05025 2.05025C0.7375 3.36301 0 5.1435 0 7C0 7.225 -1.52737e-07 7.445 0.0349998 7.665C0.16385 9.0151 0.68213 10.2988 1.52686 11.3598C2.37158 12.4209 3.50637 13.2137 4.79326 13.642C6.0801 14.0702 7.4637 14.1153 8.7758 13.7719C10.0879 13.4285 11.2719 12.7113 12.184 11.7075C13.0961 10.7038 13.6969 9.4567 13.9135 8.1178C14.1301 6.7789 13.9531 5.406 13.4039 4.16587C12.8548 2.92574 11.9573 1.87184 10.8204 1.13228C9.6835 0.392721 8.3563 -0.000649196 7 8.04238e-07ZM7 1C8.581 1.00137 10.0975 1.62668 11.22 2.74V3.24C9.2438 2.55991 7.0956 2.56872 5.125 3.265C4.96758 3.1116 4.76997 3.00586 4.555 2.96H4.43C4.37 2.75 4.315 2.54 4.27 2.325C4.225 2.11 4.2 1.92 4.175 1.715C5.043 1.24658 6.0137 1.00091 7 1ZM5.5 3.935C7.3158 3.32693 9.2838 3.34984 11.085 4C10.8414 5.2703 10.3094 6.4677 9.53 7.5C9.312 7.4077 9.0707 7.3855 8.8395 7.4366C8.6083 7.4877 8.3988 7.6094 8.24 7.785C8.065 7.685 7.89 7.585 7.74 7.47C6.7307 6.7966 5.8877 5.9023 5.275 4.855C5.374 4.73221 5.4461 4.58996 5.4866 4.43749C5.5271 4.28502 5.5351 4.12575 5.51 3.97L5.5 3.935ZM3.5 2.135C3.5 2.24 3.53 2.35 3.55 2.455C3.595 2.675 3.655 2.89 3.715 3.105C3.52353 3.21838 3.36943 3.38531 3.2717 3.58522C3.17397 3.78513 3.13688 4.00927 3.165 4.23C2.37575 4.7454 1.67078 5.3795 1.075 6.11C1.19455 5.3189 1.47112 4.55966 1.88843 3.87701C2.30575 3.19437 2.85539 2.60208 3.505 2.135H3.5ZM3.5 9.99C3.30481 10.0555 3.13037 10.1714 2.9943 10.3259C2.85822 10.4804 2.76533 10.6681 2.725 10.87H2.405C1.59754 9.9069 1.1146 8.7136 1.025 7.46L1.08 7.365C1.70611 6.3942 2.52463 5.562 3.485 4.92C3.62899 5.0704 3.81094 5.179 4.01162 5.2345C4.2123 5.2899 4.42423 5.2901 4.625 5.235C5.2938 6.3652 6.208 7.3306 7.3 8.06C7.505 8.195 7.715 8.32 7.925 8.44C7.9082 8.6312 7.9391 8.8237 8.015 9C7.1 9.7266 6.0445 10.256 4.915 10.555C4.78401 10.3103 4.57028 10.1201 4.31199 10.0184C4.05369 9.9167 3.76766 9.9102 3.505 10L3.5 9.99ZM7 12.99C5.9831 12.9903 4.98307 12.7304 4.095 12.235L4.235 12.205C4.43397 12.1397 4.61176 12.0222 4.74984 11.8648C4.88792 11.7074 4.98122 11.5158 5.02 11.31C6.2985 10.984 7.4921 10.3872 8.52 9.56C8.7642 9.7027 9.0525 9.75 9.3295 9.6927C9.6064 9.6355 9.8524 9.4778 10.02 9.25C10.7254 9.4334 11.4511 9.5275 12.18 9.53H12.445C11.9626 10.5673 11.1938 11.4451 10.2291 12.0599C9.2643 12.6747 8.144 13.0009 7 13V12.99ZM10.255 8.54C10.2545 8.3304 10.1975 8.1249 10.09 7.945C10.9221 6.8581 11.5012 5.5991 11.785 4.26C12.035 4.37667 12.2817 4.50667 12.525 4.65C13.0749 5.9495 13.1493 7.4012 12.735 8.75C11.9049 8.8142 11.0698 8.7484 10.26 8.555L10.255 8.54Z' fill='%23646D7A'/%3e%3c/svg%3e";
|
9
|
+
//# sourceMappingURL=fallbackChainIcon.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fallbackChainIcon.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/components/fallbackChainIcon.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,iBAAiB,GAC5B,+qFAA+qF,CAAC"}
|
@@ -2,6 +2,8 @@
|
|
2
2
|
"use client";
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
4
4
|
exports.ChainIcon = ChainIcon;
|
5
|
+
exports.fetchChainIcon = fetchChainIcon;
|
6
|
+
exports.getQueryKeys = getQueryKeys;
|
5
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
8
|
const react_query_1 = require("@tanstack/react-query");
|
7
9
|
const utils_js_1 = require("../../../../../chains/utils.js");
|
@@ -67,34 +69,8 @@ const provider_js_1 = require("./provider.js");
|
|
67
69
|
function ChainIcon({ iconResolver, loadingComponent, fallbackComponent, queryOptions, client, ...restProps }) {
|
68
70
|
const { chain } = (0, provider_js_1.useChainContext)();
|
69
71
|
const iconQuery = (0, react_query_1.useQuery)({
|
70
|
-
queryKey:
|
71
|
-
|
72
|
-
chain.id,
|
73
|
-
{
|
74
|
-
resolver: typeof iconResolver === "string"
|
75
|
-
? iconResolver
|
76
|
-
: typeof iconResolver === "function"
|
77
|
-
? (0, function_id_js_1.getFunctionId)(iconResolver)
|
78
|
-
: undefined,
|
79
|
-
},
|
80
|
-
],
|
81
|
-
queryFn: async () => {
|
82
|
-
if (typeof iconResolver === "string") {
|
83
|
-
return iconResolver;
|
84
|
-
}
|
85
|
-
if (typeof iconResolver === "function") {
|
86
|
-
return iconResolver();
|
87
|
-
}
|
88
|
-
// Check if the chain object already has "icon"
|
89
|
-
if (chain.icon?.url) {
|
90
|
-
return (0, ipfs_js_1.resolveScheme)({ uri: chain.icon.url, client });
|
91
|
-
}
|
92
|
-
const possibleUrl = await (0, utils_js_1.getChainMetadata)(chain).then((data) => data.icon?.url);
|
93
|
-
if (!possibleUrl) {
|
94
|
-
throw new Error("Failed to resolve icon for chain");
|
95
|
-
}
|
96
|
-
return (0, ipfs_js_1.resolveScheme)({ uri: possibleUrl, client });
|
97
|
-
},
|
72
|
+
queryKey: getQueryKeys({ chainId: chain.id, iconResolver }),
|
73
|
+
queryFn: async () => fetchChainIcon({ chain, client, iconResolver }),
|
98
74
|
...queryOptions,
|
99
75
|
});
|
100
76
|
if (iconQuery.isLoading) {
|
@@ -105,4 +81,44 @@ function ChainIcon({ iconResolver, loadingComponent, fallbackComponent, queryOpt
|
|
105
81
|
}
|
106
82
|
return (0, jsx_runtime_1.jsx)("img", { src: iconQuery.data, ...restProps, alt: restProps.alt });
|
107
83
|
}
|
84
|
+
/**
|
85
|
+
* @internal Exported for tests only
|
86
|
+
*/
|
87
|
+
async function fetchChainIcon(props) {
|
88
|
+
const { chain, client, iconResolver } = props;
|
89
|
+
if (typeof iconResolver === "string") {
|
90
|
+
return iconResolver;
|
91
|
+
}
|
92
|
+
if (typeof iconResolver === "function") {
|
93
|
+
return iconResolver();
|
94
|
+
}
|
95
|
+
// Check if the chain object already has "icon"
|
96
|
+
if (chain.icon?.url) {
|
97
|
+
return (0, ipfs_js_1.resolveScheme)({ uri: chain.icon.url, client });
|
98
|
+
}
|
99
|
+
const possibleUrl = await (0, utils_js_1.getChainMetadata)(chain)
|
100
|
+
.then((data) => data.icon?.url)
|
101
|
+
.catch(() => undefined);
|
102
|
+
if (!possibleUrl) {
|
103
|
+
throw new Error("Failed to resolve icon for chain");
|
104
|
+
}
|
105
|
+
return (0, ipfs_js_1.resolveScheme)({ uri: possibleUrl, client });
|
106
|
+
}
|
107
|
+
/**
|
108
|
+
* @internal
|
109
|
+
*/
|
110
|
+
function getQueryKeys(props) {
|
111
|
+
const { chainId, iconResolver } = props;
|
112
|
+
return [
|
113
|
+
"_internal_chain_icon_",
|
114
|
+
chainId,
|
115
|
+
{
|
116
|
+
resolver: typeof iconResolver === "string"
|
117
|
+
? iconResolver
|
118
|
+
: typeof iconResolver === "function"
|
119
|
+
? (0, function_id_js_1.getFunctionId)(iconResolver)
|
120
|
+
: undefined,
|
121
|
+
},
|
122
|
+
];
|
123
|
+
}
|
108
124
|
//# sourceMappingURL=icon.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Chain/icon.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Chain/icon.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAmHb,8BAwBC;AAKD,wCAuBC;AAKD,oCAiBC;;AA3LD,uDAAuE;AAGvE,6DAAkE;AAElE,wEAAoE;AACpE,0DAA6D;AAC7D,+CAAgD;AAkDhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,SAAgB,SAAS,CAAC,EACxB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,GAAG,SAAS,EACG;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,6BAAe,GAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAA,sBAAQ,EAAC;QACzB,QAAQ,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC;QAC3D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACpE,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,gCAAK,GAAG,EAAE,SAAS,CAAC,IAAI,KAAM,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,GAAI,CAAC;AACzE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,KAIpC;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC9C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IACD,+CAA+C;IAC/C,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACpB,OAAO,IAAA,uBAAa,EAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC;SAC9C,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;SAC9B,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAA,uBAAa,EAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAG5B;IACC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACxC,OAAO;QACL,uBAAuB;QACvB,OAAO;QACP;YACE,QAAQ,EACN,OAAO,YAAY,KAAK,QAAQ;gBAC9B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,OAAO,YAAY,KAAK,UAAU;oBAClC,CAAC,CAAC,IAAA,8BAAa,EAAC,YAAY,CAAC;oBAC7B,CAAC,CAAC,SAAS;SAClB;KACO,CAAC;AACb,CAAC"}
|
package/dist/cjs/version.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.version = void 0;
|
4
|
-
exports.version = "5.80.1-nightly-
|
4
|
+
exports.version = "5.80.1-nightly-7293dfa2ff346b761eadb45acc95dc83369bcedd-20241227000333";
|
5
5
|
//# sourceMappingURL=version.js.map
|
@@ -255,6 +255,17 @@ const TW_CONNECT_WALLET = "tw-connect-wallet";
|
|
255
255
|
* />
|
256
256
|
* ```
|
257
257
|
*
|
258
|
+
* ### Callback for when the details modal is closed
|
259
|
+
* ```tsx
|
260
|
+
* <ConnectButton
|
261
|
+
* detailsModal={{
|
262
|
+
* onClose: (screen: string) => {
|
263
|
+
* console.log({ screen });
|
264
|
+
* }
|
265
|
+
* }}
|
266
|
+
* />
|
267
|
+
* ```
|
268
|
+
*
|
258
269
|
* @param props
|
259
270
|
* Props for the `ConnectButton` component
|
260
271
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/ConnectWallet/ConnectButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,+BAA+B,EAAE,MAAM,gEAAgE,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C
|
1
|
+
{"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/ConnectWallet/ConnectButton.tsx"],"names":[],"mappings":"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"}
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
3
3
|
import styled from "@emotion/styled";
|
4
4
|
import { ChevronRightIcon, ExitIcon, PaperPlaneIcon, PinBottomIcon, PlusIcon, TextAlignJustifyIcon, } from "@radix-ui/react-icons";
|
5
5
|
import { useQuery } from "@tanstack/react-query";
|
6
|
-
import { useCallback, useContext, useEffect, useState } from "react";
|
6
|
+
import { useCallback, useContext, useEffect, useState, } from "react";
|
7
7
|
import { trackPayEvent } from "../../../../analytics/track/pay.js";
|
8
8
|
import { getContract } from "../../../../contract/contract.js";
|
9
9
|
import { getLastAuthProvider } from "../../../../react/core/utils/storage.js";
|
@@ -14,7 +14,7 @@ import { isEcosystemWallet } from "../../../../wallets/ecosystem/is-ecosystem-wa
|
|
14
14
|
import { socialAuthOptions, } from "../../../../wallets/types.js";
|
15
15
|
import { CustomThemeProvider, parseTheme, useCustomTheme, } from "../../../core/design-system/CustomThemeProvider.js";
|
16
16
|
import { fontSize, iconSize, radius, spacing, } from "../../../core/design-system/index.js";
|
17
|
-
import { useChainFaucets
|
17
|
+
import { useChainFaucets } from "../../../core/hooks/others/useChainQuery.js";
|
18
18
|
import { useActiveAccount } from "../../../core/hooks/wallets/useActiveAccount.js";
|
19
19
|
import { useActiveWallet } from "../../../core/hooks/wallets/useActiveWallet.js";
|
20
20
|
import { useActiveWalletChain } from "../../../core/hooks/wallets/useActiveWalletChain.js";
|
@@ -25,7 +25,7 @@ import { SetRootElementContext } from "../../../core/providers/RootElementContex
|
|
25
25
|
import { hasSmartAccount } from "../../../core/utils/isSmartWallet.js";
|
26
26
|
import { useWalletInfo } from "../../../core/utils/wallet.js";
|
27
27
|
import { WalletUIStatesProvider } from "../../providers/wallet-ui-states-provider.js";
|
28
|
-
import {
|
28
|
+
import { ChainActiveDot } from "../components/ChainActiveDot.js";
|
29
29
|
import { CopyIcon } from "../components/CopyIcon.js";
|
30
30
|
import { IconContainer } from "../components/IconContainer.js";
|
31
31
|
import { Modal } from "../components/Modal.js";
|
@@ -36,6 +36,7 @@ import { ToolTip } from "../components/Tooltip.js";
|
|
36
36
|
import { WalletImage } from "../components/WalletImage.js";
|
37
37
|
import { Container, Line } from "../components/basic.js";
|
38
38
|
import { Button, IconButton } from "../components/buttons.js";
|
39
|
+
import { fallbackChainIcon } from "../components/fallbackChainIcon.js";
|
39
40
|
import { Link, Text } from "../components/text.js";
|
40
41
|
import { fadeInAnimation } from "../design-system/animations.js";
|
41
42
|
import { StyledButton } from "../design-system/elements.js";
|
@@ -45,6 +46,9 @@ import { AccountBalance, formatAccountFiatBalance, formatAccountTokenBalance, }
|
|
45
46
|
import { AccountBlobbie } from "../prebuilt/Account/blobbie.js";
|
46
47
|
import { AccountName } from "../prebuilt/Account/name.js";
|
47
48
|
import { AccountProvider } from "../prebuilt/Account/provider.js";
|
49
|
+
import { ChainIcon } from "../prebuilt/Chain/icon.js";
|
50
|
+
import { ChainName } from "../prebuilt/Chain/name.js";
|
51
|
+
import { ChainProvider } from "../prebuilt/Chain/provider.js";
|
48
52
|
import { MenuButton, MenuLink } from "./MenuButton.js";
|
49
53
|
import { ScreenSetupContext, useSetupScreen } from "./Modal/screen.js";
|
50
54
|
import { NetworkSelectorContent, } from "./NetworkSelector.js";
|
@@ -142,8 +146,6 @@ export function DetailsModal(props) {
|
|
142
146
|
const activeAccount = useActiveAccount();
|
143
147
|
const theme = parseTheme(props.theme);
|
144
148
|
const activeWallet = useActiveWallet();
|
145
|
-
const chainIconQuery = useChainIconUrl(walletChain);
|
146
|
-
const chainNameQuery = useChainName(walletChain);
|
147
149
|
const chainFaucetsQuery = useChainFaucets(walletChain);
|
148
150
|
const disableSwitchChain = !activeWallet?.switchChain;
|
149
151
|
const screenSetup = useSetupScreen({
|
@@ -167,16 +169,6 @@ export function DetailsModal(props) {
|
|
167
169
|
closeModal();
|
168
170
|
}
|
169
171
|
}, [activeAccount, closeModal]);
|
170
|
-
const networkSwitcherButton = (_jsxs(MenuButton, { type: "button", disabled: disableSwitchChain, onClick: () => {
|
171
|
-
setScreen("network-switcher");
|
172
|
-
}, "data-variant": "primary", children: [_jsx("div", { style: {
|
173
|
-
display: "flex",
|
174
|
-
alignItems: "center",
|
175
|
-
position: "relative",
|
176
|
-
}, children: !chainIconQuery.isLoading ? (_jsx(ChainIcon, { chainIconUrl: chainIconQuery.url, size: iconSize.md, active: true, client: client })) : (_jsx(Skeleton, { height: `${iconSize.md}px`, width: `${iconSize.md}px` })) }), chainNameQuery.isLoading ? (_jsx(Skeleton, { height: "16px", width: "150px" })) : (_jsxs(Text, { color: "primaryText", size: "md", multiline: true, children: [chainNameQuery.name || `Unknown chain #${walletChain?.id}`, _jsx(Text, { color: "secondaryText", size: "xs", children: props.showBalanceInFiat ? (_jsxs(_Fragment, { children: [_jsx(AccountBalance, { fallbackComponent: _jsx(Skeleton, { height: "1em", width: "70px" }), loadingComponent: _jsx(Skeleton, { height: "1em", width: "70px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => formatAccountTokenBalance({ ...props, decimals: 7 }) }), " ", _jsx(AccountBalance, { loadingComponent: _jsx(Skeleton, { height: "1em", width: "30px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => ` (${formatAccountFiatBalance({ ...props, decimals: 3 })})`, showBalanceInFiat: "USD" })] })) : (_jsx(AccountBalance, { fallbackComponent: _jsx(Skeleton, { height: "1em", width: "100px" }), loadingComponent: _jsx(Skeleton, { height: "1em", width: "100px" }), formatFn: (props) => formatAccountTokenBalance({ ...props, decimals: 7 }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)] })) })] })), _jsx(StyledChevronRightIcon, { width: iconSize.sm, height: iconSize.sm, style: {
|
177
|
-
flexShrink: 0,
|
178
|
-
marginLeft: "auto",
|
179
|
-
} })] }));
|
180
172
|
const { hideSendFunds, hideReceiveFunds, hideBuyFunds } = props.detailsModal || {};
|
181
173
|
const hideAllButtons = hideSendFunds && hideReceiveFunds && hideBuyFunds;
|
182
174
|
const avatarContent = (_jsxs(Container, { style: {
|
@@ -258,7 +250,7 @@ export function DetailsModal(props) {
|
|
258
250
|
setScreen("buy");
|
259
251
|
}, children: [_jsx(Container, { color: "secondaryText", flex: "row", center: "both", children: _jsx(PlusIcon, { width: iconSize.sm, height: iconSize.sm }) }), locale.buy] }))] }) }), _jsx(Spacer, { y: "md" })] })), _jsxs(Container, { px: "md", children: [_jsxs(Container, { flex: "column", style: {
|
260
252
|
gap: "1px",
|
261
|
-
}, children: [
|
253
|
+
}, children: [_jsx(NetworkSwitcherButton, { client: props.client, setScreen: () => setScreen("network-switcher"), disableSwitchChain: disableSwitchChain, showBalanceInFiat: props.detailsModal?.showBalanceInFiat, displayBalanceToken: props.displayBalanceToken }), _jsxs(MenuButton, { onClick: () => {
|
262
254
|
setScreen("transactions");
|
263
255
|
}, style: {
|
264
256
|
fontSize: fontSize.sm,
|
@@ -374,9 +366,45 @@ export function DetailsModal(props) {
|
|
374
366
|
return (_jsx(CustomThemeProvider, { theme: props.theme, children: _jsx(WalletUIStatesProvider, { theme: props.theme, isOpen: false, children: _jsx(ScreenSetupContext.Provider, { value: screenSetup, children: _jsx(Modal, { size: "compact", open: isOpen, setOpen: (_open) => {
|
375
367
|
if (!_open) {
|
376
368
|
closeModal();
|
369
|
+
if (props.detailsModal?.onClose) {
|
370
|
+
props.detailsModal?.onClose(screen);
|
371
|
+
}
|
377
372
|
}
|
378
373
|
}, children: activeAccount?.address && (_jsx(AccountProvider, { address: activeAccount.address, client: client, children: content })) }) }) }) }));
|
379
374
|
}
|
375
|
+
/**
|
376
|
+
* When this button is clicked, it will switch to the screen where users
|
377
|
+
* can select a chain to switch to.
|
378
|
+
* @internal
|
379
|
+
*/
|
380
|
+
export function NetworkSwitcherButton(props) {
|
381
|
+
const { disableSwitchChain, setScreen, showBalanceInFiat, client } = props;
|
382
|
+
const walletChain = useActiveWalletChain();
|
383
|
+
if (!walletChain) {
|
384
|
+
return null;
|
385
|
+
}
|
386
|
+
return (_jsxs(MenuButton, { type: "button", disabled: disableSwitchChain, onClick: () => {
|
387
|
+
setScreen("network-switcher");
|
388
|
+
}, "data-variant": "primary", className: "tw-internal-network-switcher-button", children: [_jsxs(ChainProvider, { chain: walletChain, children: [_jsx("div", { style: {
|
389
|
+
display: "flex",
|
390
|
+
alignItems: "center",
|
391
|
+
position: "relative",
|
392
|
+
}, children: _jsxs(Container, { style: {
|
393
|
+
position: "relative",
|
394
|
+
display: "flex",
|
395
|
+
flexShrink: 0,
|
396
|
+
alignItems: "center",
|
397
|
+
}, children: [_jsx(ChainIcon, { client: client, loadingComponent: _jsx(Skeleton, { height: `${iconSize.md}px`, width: `${iconSize.md}px` }), fallbackComponent: _jsx("img", { src: fallbackChainIcon, alt: "", style: {
|
398
|
+
width: `${iconSize.md}px`,
|
399
|
+
height: `${iconSize.md}px`,
|
400
|
+
} }), style: {
|
401
|
+
width: `${iconSize.md}px`,
|
402
|
+
height: `${iconSize.md}px`,
|
403
|
+
} }), _jsx(ChainActiveDot, { className: "tw-chain-active-dot-details-button" })] }) }), _jsxs(Text, { color: "primaryText", size: "md", multiline: true, children: [_jsx(ChainName, { loadingComponent: _jsx(Skeleton, { height: "16px", width: "150px" }), fallbackComponent: _jsxs("span", { children: ["Unknown chain #", walletChain?.id] }) }), _jsx(Text, { color: "secondaryText", size: "xs", children: showBalanceInFiat ? (_jsxs(_Fragment, { children: [_jsx(AccountBalance, { fallbackComponent: _jsx(Skeleton, { height: "1em", width: "70px" }), loadingComponent: _jsx(Skeleton, { height: "1em", width: "70px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => formatAccountTokenBalance({ ...props, decimals: 7 }) }), " ", _jsx(AccountBalance, { loadingComponent: _jsx(Skeleton, { height: "1em", width: "30px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => ` (${formatAccountFiatBalance({ ...props, decimals: 3 })})`, showBalanceInFiat: "USD" })] })) : (_jsx(AccountBalance, { fallbackComponent: _jsx(Skeleton, { height: "1em", width: "100px" }), loadingComponent: _jsx(Skeleton, { height: "1em", width: "100px" }), formatFn: (props) => formatAccountTokenBalance({ ...props, decimals: 7 }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)] })) })] })] }), _jsx(StyledChevronRightIcon, { width: iconSize.sm, height: iconSize.sm, style: {
|
404
|
+
flexShrink: 0,
|
405
|
+
marginLeft: "auto",
|
406
|
+
} })] }));
|
407
|
+
}
|
380
408
|
const WalletInfoButton = /* @__PURE__ */ StyledButton((_) => {
|
381
409
|
const theme = useCustomTheme();
|
382
410
|
return {
|
@@ -402,7 +430,10 @@ const WalletInfoButton = /* @__PURE__ */ StyledButton((_) => {
|
|
402
430
|
},
|
403
431
|
};
|
404
432
|
});
|
405
|
-
|
433
|
+
/**
|
434
|
+
* @internal Export for tests
|
435
|
+
*/
|
436
|
+
export const StyledChevronRightIcon = /* @__PURE__ */ styled(
|
406
437
|
/* @__PURE__ */ ChevronRightIcon)(() => {
|
407
438
|
const theme = useCustomTheme();
|
408
439
|
return {
|
@@ -535,6 +566,7 @@ export function SwitchNetworkButton(props) {
|
|
535
566
|
* Hook to open the Wallet Details Modal that shows various information about the connected wallet and allows users to perform various actions like sending funds, receiving funds, switching networks, Buying tokens, etc.
|
536
567
|
*
|
537
568
|
* @example
|
569
|
+
* ### Basic usage
|
538
570
|
* ```tsx
|
539
571
|
* import { createThirdwebClient } from "thirdweb";
|
540
572
|
* import { useWalletDetailsModal } from "thirdweb/react";
|
@@ -553,6 +585,15 @@ export function SwitchNetworkButton(props) {
|
|
553
585
|
* return <button onClick={handleClick}> Show Wallet Details </button>
|
554
586
|
* }
|
555
587
|
* ```
|
588
|
+
*
|
589
|
+
* ### Callback for when the modal is closed
|
590
|
+
* ```tsx
|
591
|
+
* detailsModal.open({
|
592
|
+
* client,
|
593
|
+
* onClose: (screen: string) => console.log({ screen })
|
594
|
+
* });
|
595
|
+
* ```
|
596
|
+
*
|
556
597
|
* @wallet
|
557
598
|
*/
|
558
599
|
export function useWalletDetailsModal() {
|
@@ -580,6 +621,7 @@ export function useWalletDetailsModal() {
|
|
580
621
|
hideReceiveFunds: props.hideReceiveFunds,
|
581
622
|
hideSendFunds: props.hideSendFunds,
|
582
623
|
assetTabs: props.assetTabs,
|
624
|
+
onClose: props.onClose,
|
583
625
|
}, displayBalanceToken: props.displayBalanceToken, theme: props.theme || "dark", supportedTokens: props.supportedTokens, supportedNFTs: props.supportedNFTs, closeModal: closeModal, onDisconnect: (info) => {
|
584
626
|
props.onDisconnect?.(info);
|
585
627
|
closeModal();
|