@aptos-labs/wallet-adapter-react 8.0.0-xchaininit.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ import {
3
3
  AdapterWallet,
4
4
  WalletReadyState,
5
5
  isRedirectable,
6
+ shouldUseFallbackWallet,
6
7
  } from "@aptos-labs/wallet-adapter-core";
7
8
  import { Slot } from "@radix-ui/react-slot";
8
9
  import { createContext, forwardRef, useCallback, useContext } from "react";
@@ -35,16 +36,20 @@ const Root = forwardRef<HTMLDivElement, WalletItemProps>(
35
36
  ({ wallet, onConnect, className, asChild, children }, ref) => {
36
37
  const { connect } = useWallet();
37
38
 
38
- const connectWallet = useCallback(() => {
39
- connect(wallet.name);
40
- onConnect?.();
41
- }, [connect, wallet.name, onConnect]);
42
-
43
39
  const isWalletReady = wallet.readyState === WalletReadyState.Installed;
44
40
 
45
41
  const mobileSupport =
46
42
  "deeplinkProvider" in wallet && wallet.deeplinkProvider;
47
43
 
44
+ const connectWallet = useCallback(() => {
45
+ const connectionWallet = shouldUseFallbackWallet(wallet)
46
+ ? wallet.fallbackWallet
47
+ : wallet;
48
+ if (!connectionWallet) return;
49
+ connect(connectionWallet.name);
50
+ onConnect?.();
51
+ }, [wallet, connect, onConnect]);
52
+
48
53
  if (!isWalletReady && isRedirectable() && !mobileSupport) return null;
49
54
 
50
55
  const Component = asChild ? Slot : "div";
@@ -56,7 +61,7 @@ const Root = forwardRef<HTMLDivElement, WalletItemProps>(
56
61
  </Component>
57
62
  </WalletItemContext.Provider>
58
63
  );
59
- },
64
+ }
60
65
  );
61
66
  Root.displayName = "WalletItem";
62
67
 
@@ -70,7 +75,7 @@ const Icon = createHeadlessComponent(
70
75
  src: context.wallet.icon,
71
76
  alt: `${context.wallet.name} icon`,
72
77
  };
73
- },
78
+ }
74
79
  );
75
80
 
76
81
  const Name = createHeadlessComponent(
@@ -82,7 +87,7 @@ const Name = createHeadlessComponent(
82
87
  return {
83
88
  children: context.wallet.name,
84
89
  };
85
- },
90
+ }
86
91
  );
87
92
 
88
93
  const ConnectButton = createHeadlessComponent(
@@ -95,7 +100,7 @@ const ConnectButton = createHeadlessComponent(
95
100
  onClick: context.connectWallet,
96
101
  children: "Connect",
97
102
  };
98
- },
103
+ }
99
104
  );
100
105
 
101
106
  const InstallLink = createHeadlessComponent(
@@ -110,7 +115,7 @@ const InstallLink = createHeadlessComponent(
110
115
  rel: "noopener noreferrer",
111
116
  children: "Install",
112
117
  };
113
- },
118
+ }
114
119
  );
115
120
 
116
121
  /** A headless component for rendering a wallet option's name, icon, and either connect button or install link. */
package/src/index.tsx CHANGED
@@ -1,6 +1,4 @@
1
1
  export * from "@aptos-labs/wallet-adapter-core";
2
- export * from "@aptos-labs/derived-wallet-solana";
3
- export * from "@aptos-labs/derived-wallet-ethereum";
4
2
  export * from "./WalletProvider";
5
3
  export * from "./components/AboutAptosConnect";
6
4
  export * from "./components/AboutPetraWeb";
package/src/useWallet.tsx CHANGED
@@ -47,6 +47,7 @@ export interface WalletContextState {
47
47
  ): Promise<PendingTransactionResponse>;
48
48
  wallet: AdapterWallet | null;
49
49
  wallets: ReadonlyArray<AdapterWallet>;
50
+ hiddenWallets: ReadonlyArray<AdapterWallet>;
50
51
  notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;
51
52
  }
52
53