@meshconnect/uwc-react 0.3.25 → 0.3.27

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.
@@ -8,4 +8,5 @@ export * from './useNetworks';
8
8
  export * from './useSignMessage';
9
9
  export * from './useTransaction';
10
10
  export * from './useWalletCapabilities';
11
+ export * from './useDetectedWallets';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA"}
@@ -8,4 +8,5 @@ export * from './useNetworks';
8
8
  export * from './useSignMessage';
9
9
  export * from './useTransaction';
10
10
  export * from './useWalletCapabilities';
11
+ export * from './useDetectedWallets';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { UseDetectedWalletsReturn } from '@meshconnect/uwc-types';
2
+ export declare function useDetectedWallets(): UseDetectedWalletsReturn;
3
+ //# sourceMappingURL=useDetectedWallets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDetectedWallets.d.ts","sourceRoot":"","sources":["../../src/hooks/useDetectedWallets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,wBAAwB,CAAA;AAE/B,wBAAgB,kBAAkB,IAAI,wBAAwB,CA8B7D"}
@@ -0,0 +1,22 @@
1
+ import { useContext, useEffect, useState } from 'react';
2
+ import { ConnectionContext } from '../providers/ConnectionProvider';
3
+ export function useDetectedWallets() {
4
+ const context = useContext(ConnectionContext);
5
+ if (!context) {
6
+ throw new Error('useInjectedAvailableWallets must be used within a ConnectionProvider');
7
+ }
8
+ const { connector, wallets, isReady } = context;
9
+ const [detectedWallets, setDetectedWallets] = useState([]);
10
+ useEffect(() => {
11
+ const checkState = () => {
12
+ const newDetectedWallets = wallets.filter(wallet => connector.isConnectionModeAvailable('injected', wallet.id));
13
+ setDetectedWallets(newDetectedWallets);
14
+ };
15
+ // Check initially and on state changes
16
+ checkState();
17
+ const unsubscribe = connector.subscribe(checkState);
18
+ return unsubscribe;
19
+ }, [connector, wallets]);
20
+ return { detectedWallets, isReady };
21
+ }
22
+ //# sourceMappingURL=useDetectedWallets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDetectedWallets.js","sourceRoot":"","sources":["../../src/hooks/useDetectedWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAMnE,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAE/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAA;IAE5E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACjD,SAAS,CAAC,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAC3D,CAAA;YAED,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,uCAAuC;QACvC,UAAU,EAAE,CAAA;QACZ,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAEnD,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IAExB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-react",
3
- "version": "0.3.25",
3
+ "version": "0.3.27",
4
4
  "description": "React hooks and components for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,8 +16,8 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@meshconnect/uwc-core": "0.3.16",
20
- "@meshconnect/uwc-types": "0.5.0"
19
+ "@meshconnect/uwc-core": "0.3.18",
20
+ "@meshconnect/uwc-types": "0.5.2"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": "^18.0.0",
@@ -8,3 +8,4 @@ export * from './useNetworks'
8
8
  export * from './useSignMessage'
9
9
  export * from './useTransaction'
10
10
  export * from './useWalletCapabilities'
11
+ export * from './useDetectedWallets'
@@ -0,0 +1,38 @@
1
+ import { useContext, useEffect, useState } from 'react'
2
+ import { ConnectionContext } from '../providers/ConnectionProvider'
3
+ import type {
4
+ UseDetectedWalletsReturn,
5
+ WalletMetadata
6
+ } from '@meshconnect/uwc-types'
7
+
8
+ export function useDetectedWallets(): UseDetectedWalletsReturn {
9
+ const context = useContext(ConnectionContext)
10
+
11
+ if (!context) {
12
+ throw new Error(
13
+ 'useInjectedAvailableWallets must be used within a ConnectionProvider'
14
+ )
15
+ }
16
+
17
+ const { connector, wallets, isReady } = context
18
+
19
+ const [detectedWallets, setDetectedWallets] = useState<WalletMetadata[]>([])
20
+
21
+ useEffect(() => {
22
+ const checkState = () => {
23
+ const newDetectedWallets = wallets.filter(wallet =>
24
+ connector.isConnectionModeAvailable('injected', wallet.id)
25
+ )
26
+
27
+ setDetectedWallets(newDetectedWallets)
28
+ }
29
+
30
+ // Check initially and on state changes
31
+ checkState()
32
+ const unsubscribe = connector.subscribe(checkState)
33
+
34
+ return unsubscribe
35
+ }, [connector, wallets])
36
+
37
+ return { detectedWallets, isReady }
38
+ }