thirdweb 5.80.1-nightly-ce3e850fdbf34911e20919ecc2674e4a63f08fa3-20241225000333 → 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.
Files changed (61) hide show
  1. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +11 -0
  2. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  3. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +59 -16
  4. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  5. package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js +48 -24
  6. package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
  7. package/dist/cjs/react/web/ui/components/ChainActiveDot.js +20 -0
  8. package/dist/cjs/react/web/ui/components/ChainActiveDot.js.map +1 -0
  9. package/dist/cjs/react/web/ui/components/ChainIcon.js +24 -29
  10. package/dist/cjs/react/web/ui/components/ChainIcon.js.map +1 -1
  11. package/dist/cjs/react/web/ui/components/fallbackChainIcon.js +9 -0
  12. package/dist/cjs/react/web/ui/components/fallbackChainIcon.js.map +1 -0
  13. package/dist/cjs/react/web/ui/prebuilt/Chain/icon.js +44 -28
  14. package/dist/cjs/react/web/ui/prebuilt/Chain/icon.js.map +1 -1
  15. package/dist/cjs/version.js +1 -1
  16. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +11 -0
  17. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  18. package/dist/esm/react/web/ui/ConnectWallet/Details.js +59 -17
  19. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  20. package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js +45 -21
  21. package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
  22. package/dist/esm/react/web/ui/components/ChainActiveDot.js +17 -0
  23. package/dist/esm/react/web/ui/components/ChainActiveDot.js.map +1 -0
  24. package/dist/esm/react/web/ui/components/ChainIcon.js +22 -28
  25. package/dist/esm/react/web/ui/components/ChainIcon.js.map +1 -1
  26. package/dist/esm/react/web/ui/components/fallbackChainIcon.js +6 -0
  27. package/dist/esm/react/web/ui/components/fallbackChainIcon.js.map +1 -0
  28. package/dist/esm/react/web/ui/prebuilt/Chain/icon.js +42 -28
  29. package/dist/esm/react/web/ui/prebuilt/Chain/icon.js.map +1 -1
  30. package/dist/esm/version.js +1 -1
  31. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +5 -0
  32. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
  33. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +11 -0
  34. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  35. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +34 -1
  36. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  37. package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts +46 -1
  38. package/dist/types/react/web/ui/ConnectWallet/NetworkSelector.d.ts.map +1 -1
  39. package/dist/types/react/web/ui/components/ChainActiveDot.d.ts +10 -0
  40. package/dist/types/react/web/ui/components/ChainActiveDot.d.ts.map +1 -0
  41. package/dist/types/react/web/ui/components/ChainIcon.d.ts +8 -0
  42. package/dist/types/react/web/ui/components/ChainIcon.d.ts.map +1 -1
  43. package/dist/types/react/web/ui/components/fallbackChainIcon.d.ts +6 -0
  44. package/dist/types/react/web/ui/components/fallbackChainIcon.d.ts.map +1 -0
  45. package/dist/types/react/web/ui/prebuilt/Chain/icon.d.ts +18 -0
  46. package/dist/types/react/web/ui/prebuilt/Chain/icon.d.ts.map +1 -1
  47. package/dist/types/version.d.ts +1 -1
  48. package/package.json +1 -1
  49. package/src/react/core/hooks/connection/ConnectButtonProps.ts +6 -0
  50. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +11 -0
  51. package/src/react/web/ui/ConnectWallet/Details.test.tsx +55 -0
  52. package/src/react/web/ui/ConnectWallet/Details.tsx +176 -98
  53. package/src/react/web/ui/ConnectWallet/NetworkSelector.test.tsx +189 -0
  54. package/src/react/web/ui/ConnectWallet/NetworkSelector.tsx +117 -76
  55. package/src/react/web/ui/components/ChainActiveDot.tsx +17 -0
  56. package/src/react/web/ui/components/ChainIcon.test.tsx +60 -0
  57. package/src/react/web/ui/components/ChainIcon.tsx +27 -31
  58. package/src/react/web/ui/components/fallbackChainIcon.ts +6 -0
  59. package/src/react/web/ui/prebuilt/Chain/icon.test.tsx +150 -0
  60. package/src/react/web/ui/prebuilt/Chain/icon.tsx +53 -31
  61. 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 elements_js_1 = require("../design-system/elements.js");
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 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
+ 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: getSrc(), width: props.size, height: props.size, fallbackImage: fallbackChainIcon, client: props.client }), props.active && (0, jsx_runtime_1.jsx)(ActiveDot, {})] }));
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
- const ActiveDot = /* @__PURE__ */ (0, elements_js_1.StyledDiv)({
38
- width: "28%",
39
- height: "28%",
40
- borderRadius: "50%",
41
- position: "absolute",
42
- bottom: 0,
43
- right: 0,
44
- backgroundColor: "#00d395",
45
- boxShadow: "0 0 0 2px var(--bg)",
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,8DAAyD;AACzD,qCAA+B;AAC/B,yCAAuC;AAEvC,MAAM,iBAAiB,GACrB,+qFAA+qF,CAAC;AAElrF;;GAEG;AACI,MAAM,SAAS,GAOjB,CAAC,KAAK,EAAE,EAAE;IACb,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAA,uBAAa,EAAC;gBACnB,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,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,MAAM,EAAE,EACb,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,MAAM,EAAE,KAAK,CAAC,IAAI,EAClB,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,EACD,KAAK,CAAC,MAAM,IAAI,uBAAC,SAAS,KAAG,IACpB,CACb,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,SAAS,aA0CpB;AAEF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAA,uBAAS,EAAC;IAC1C,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
+ {"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
- "_internal_chain_icon_",
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;;AAkHb,8BAqDC;;AArKD,uDAAuE;AAEvE,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;YACR,uBAAuB;YACvB,KAAK,CAAC,EAAE;YACR;gBACE,QAAQ,EACN,OAAO,YAAY,KAAK,QAAQ;oBAC9B,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,OAAO,YAAY,KAAK,UAAU;wBAClC,CAAC,CAAC,IAAA,8BAAa,EAAC,YAAY,CAAC;wBAC7B,CAAC,CAAC,SAAS;aAClB;SACO;QACV,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,YAAY,EAAE,CAAC;YACxB,CAAC;YACD,+CAA+C;YAC/C,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;gBACpB,OAAO,IAAA,uBAAa,EAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CACzB,CAAC;YACF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,IAAA,uBAAa,EAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,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"}
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"}
@@ -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-ce3e850fdbf34911e20919ecc2674e4a63f08fa3-20241225000333";
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyPG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,KAAK,CAAC,OAAO;QACb,iBAAiB,CAAC;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,EACJ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CACjD,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,yBAAyB,CAAC;QACxB,OAAO;QACP,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,iBAAiB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,IAAI,SAAS,CAAC;IAC5C,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/C,MAAM,cAAc,GAClB,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,CACrD,KAAC,WAAW,IACV,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EACL,OAAO,KAAK,CAAC,WAAW,KAAK,SAAS;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAEhC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACH,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,iBAAiB,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACzF,OAAO,CACL,MAAC,cAAc,IACb,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM;gBACd,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK;aAC9B,aAEA,eAAe,EAChB,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,mBAAmB,GAAG,IAChC,CAClB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,sBAAsB,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,aACvD,KAAC,kBAAkB,OAAK,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,IAAI,GAAI,EAClE,KAAC,YAAY,IACX,eAAe,EAAE,IAAI,EACrB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,WAAW,CAAC,IAAI,EAC/B,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK;oBAChC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS;oBAC3C,oBAAoB,EAAE,KAAK,CAAC,YAAY,EAAE,oBAAoB;oBAC9D,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,iBAAiB;oBACxD,gBAAgB,EAAE,KAAK,CAAC,YAAY,EAAE,gBAAgB;oBACtD,eAAe,EAAE,KAAK,CAAC,YAAY,EAAE,eAAe;iBACrD,EACD,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa,EAChD,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO,EACjC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,OAAO,EAAE,OAAO,GAChB,EACD,eAAe,IACO,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAEC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,gFAAgF;IAChF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;IACpC,MAAM,gBAAgB,GAAG,+BAA+B,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;IAEnC,MAAM,SAAS,GAAG,gBAAgB,KAAK,YAAY,CAAC;IAEpD,MAAM,kBAAkB,GACtB,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI,MAAM,CAAC,kBAAkB,CAAC;IAE1D,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IAEvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,wBAAwB;QACxB,MAAM,iBAAiB,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACzF,OAAO,CACL,KAAC,cAAc,IACb,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,iBAAiB,gBAChB,KAAK,qBACA,SAAS,EAC1B,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;gBAChB,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK;aAC9B,gBAEC,gBAAgB,KAAK,YAAY;gBAC/B,CAAC,CAAC,MAAM,CAAC,UAAU;gBACnB,CAAC,CAAC,OAAO,kBAAkB,KAAK,QAAQ;oBACtC,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAEjC,OAAO,EAAE,GAAG,EAAE;gBACZ,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,eACS,uBAAuB,YAEhC,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,mBAAmB,GAAG,CAChD,CAAC,CAAC,CAAC,CACF,kBAAkB,CACnB,GACc,CAClB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,2BAA2B;QAC3B,6FAA6F;QAC7F,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YACxE,MAAM,iBAAiB,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACzF,OAAO,CACL,KAAC,cAAc,IACb,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,MAAM;oBACd,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK;iBAC9B,YAED,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,mBAAmB,GAAG,GAChC,CAClB,CAAC;QACJ,CAAC;QACD,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,CACL,8BACE,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4BACZ,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBAC9B,CAAC,EACD,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EACxC,KAAK,EAAE;4BACL,QAAQ,EAAE,OAAO;4BACjB,SAAS,EAAE,MAAM;4BACjB,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK;yBAC7B,YAEA,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CACtB,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,mBAAmB,GAAG,CAChD,CAAC,CAAC,CAAC,CACF,MAAC,SAAS,IAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,aACvC,KAAC,QAAQ,IAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI,EAC/B,gCAAQ,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,SAAS,IACjD,CACb,GACM,EACT,KAAC,KAAK,IACJ,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,YAE9B,KAAC,eAAe,IACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAC,SAAS,EACnB,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,iBAAiB,EACxD,gBAAgB,EAAE,KAAK,CAAC,YAAY,EAAE,gBAAgB,EACtD,MAAM,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,GAChB,GACI,IACP,CACJ,CAAC;QACJ,CAAC;QACD,qCAAqC;IACvC,CAAC;IAED,OAAO,CACL,KAAC,eAAe,IAAC,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,YACnE,KAAC,sBAAsB,IACrB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,iCAAiC;gBACjC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,CAAC;gBACD,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,EACD,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE,EAC3B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE;gBACd,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa;aACjD,GACD,GACc,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,SAAS,EAAE,GAAG,eAAe,aAAa;CAC3C,CAAC,CAAC"}
@@ -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, useChainIconUrl, useChainName, } from "../../../core/hooks/others/useChainQuery.js";
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 { ChainIcon } from "../components/ChainIcon.js";
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: [networkSwitcherButton, _jsxs(MenuButton, { onClick: () => {
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
- const StyledChevronRightIcon = /* @__PURE__ */ styled(
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();