@phantom/react-sdk 1.0.0-beta.8 → 1.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.
package/dist/index.d.ts CHANGED
@@ -1,43 +1,55 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { BrowserSDKConfig, DebugConfig, AuthOptions, BrowserSDK, WalletAddress, AutoConfirmEnableParams, AutoConfirmResult, AutoConfirmSupportedChainsResult } from '@phantom/browser-sdk';
4
- export { AddressType, AutoConfirmEnableParams, AutoConfirmResult, AutoConfirmSupportedChainsResult, DebugLevel, DebugMessage, NetworkId, SignedTransaction, WalletAddress, debug } from '@phantom/browser-sdk';
5
- import * as _phantom_embedded_provider_core from '@phantom/embedded-provider-core';
3
+ import * as _phantom_browser_sdk from '@phantom/browser-sdk';
4
+ import { BrowserSDKConfig, DebugConfig, AuthOptions, BrowserSDK, WalletAddress, ConnectResult, AuthProviderType, AutoConfirmEnableParams, AutoConfirmResult, AutoConfirmSupportedChainsResult, InjectedWalletInfo, AddressType } from '@phantom/browser-sdk';
5
+ export { AddressType, AuthOptions, AutoConfirmEnableParams, AutoConfirmResult, AutoConfirmSupportedChainsResult, ConnectErrorEventData, ConnectEventData, ConnectStartEventData, DebugLevel, DebugMessage, DisconnectEventData, EmbeddedProviderEvent, EmbeddedProviderEventMap, EventCallback, InjectedWalletId, InjectedWalletInfo, NetworkId, SignedTransaction, WalletAddress, debug, isMobileDevice } from '@phantom/browser-sdk';
6
+ import { PhantomTheme } from '@phantom/wallet-sdk-ui';
7
+ export { ComputedPhantomTheme, HexColor, PhantomTheme, darkTheme, lightTheme, mergeTheme, useTheme } from '@phantom/wallet-sdk-ui';
8
+ import { ISolanaChain, IEthereumChain } from '@phantom/chain-interfaces';
6
9
  export { EthTransactionRequest, IEthereumChain, ISolanaChain } from '@phantom/chain-interfaces';
10
+ import * as _phantom_embedded_provider_core from '@phantom/embedded-provider-core';
7
11
 
8
12
  type PhantomSDKConfig = BrowserSDKConfig;
9
13
  interface PhantomDebugConfig extends DebugConfig {
10
14
  }
11
15
  interface ConnectOptions {
12
- providerType?: "injected" | "embedded";
13
16
  embeddedWalletType?: "app-wallet" | "user-wallet";
14
17
  authOptions?: AuthOptions;
15
18
  }
19
+ interface PhantomProviderProps {
20
+ children: ReactNode;
21
+ config: PhantomSDKConfig;
22
+ debugConfig?: PhantomDebugConfig;
23
+ theme?: Partial<PhantomTheme>;
24
+ appIcon?: string;
25
+ appName?: string;
26
+ }
27
+ declare function PhantomProvider({ children, config, debugConfig, theme, appIcon, appName }: PhantomProviderProps): react_jsx_runtime.JSX.Element;
28
+
29
+ interface PhantomErrors {
30
+ connect?: Error;
31
+ spendingLimit?: boolean;
32
+ }
16
33
  interface PhantomContextValue {
17
34
  sdk: BrowserSDK | null;
18
35
  isConnected: boolean;
19
36
  isConnecting: boolean;
20
- connectError: Error | null;
37
+ isLoading: boolean;
38
+ errors: PhantomErrors;
21
39
  addresses: WalletAddress[];
22
- walletId: string | null;
23
- currentProviderType: "injected" | "embedded" | null;
24
- isPhantomAvailable: boolean;
25
40
  isClient: boolean;
41
+ user: ConnectResult | null;
42
+ theme: PhantomTheme;
43
+ allowedProviders: AuthProviderType[];
44
+ clearError: (key: keyof PhantomErrors) => void;
26
45
  }
27
- interface PhantomProviderProps {
28
- children: ReactNode;
29
- config: PhantomSDKConfig;
30
- debugConfig?: PhantomDebugConfig;
31
- }
32
- declare function PhantomProvider({ children, config, debugConfig }: PhantomProviderProps): react_jsx_runtime.JSX.Element;
33
46
  declare function usePhantom(): PhantomContextValue;
34
47
 
35
48
  declare function useConnect(): {
36
- connect: (options?: AuthOptions) => Promise<_phantom_embedded_provider_core.ConnectResult>;
49
+ connect: (options: AuthOptions) => Promise<_phantom_browser_sdk.ConnectResult>;
37
50
  isConnecting: boolean;
38
- error: Error | null;
39
- currentProviderType: "injected" | "embedded" | null;
40
- isPhantomAvailable: boolean;
51
+ isLoading: boolean;
52
+ error: Error | undefined;
41
53
  };
42
54
 
43
55
  declare function useDisconnect(): {
@@ -46,6 +58,12 @@ declare function useDisconnect(): {
46
58
  error: Error | null;
47
59
  };
48
60
 
61
+ declare function useModal(): {
62
+ open: () => void;
63
+ close: () => void;
64
+ isOpened: boolean;
65
+ };
66
+
49
67
  declare function useAccounts(): _phantom_embedded_provider_core.WalletAddress[] | null;
50
68
 
51
69
  /**
@@ -57,6 +75,15 @@ declare function useIsExtensionInstalled(): {
57
75
  isInstalled: boolean;
58
76
  };
59
77
 
78
+ /**
79
+ * React hook to check if Phantom Login is available
80
+ * Checks if extension is installed and supports phantom_login feature
81
+ */
82
+ declare function useIsPhantomLoginAvailable(): {
83
+ isLoading: boolean;
84
+ isAvailable: boolean;
85
+ };
86
+
60
87
  interface UseAutoConfirmResult {
61
88
  enable: (params: AutoConfirmEnableParams) => Promise<AutoConfirmResult>;
62
89
  disable: () => Promise<void>;
@@ -74,7 +101,7 @@ declare function useAutoConfirm(): UseAutoConfirmResult;
74
101
  * @returns Solana chain interface with connection enforcement
75
102
  */
76
103
  declare function useSolana(): {
77
- solana: any;
104
+ solana: ISolanaChain;
78
105
  isAvailable: boolean;
79
106
  };
80
107
 
@@ -84,10 +111,36 @@ declare function useSolana(): {
84
111
  * @returns Ethereum chain interface with connection enforcement
85
112
  */
86
113
  declare function useEthereum(): {
87
- ethereum: any;
114
+ ethereum: IEthereumChain;
88
115
  isAvailable: boolean;
89
116
  };
90
117
 
91
- type ProviderType = "injected" | "embedded";
118
+ interface UseDiscoveredWalletsResult {
119
+ wallets: InjectedWalletInfo[];
120
+ isLoading: boolean;
121
+ error: Error | null;
122
+ refetch: () => Promise<void>;
123
+ }
124
+ declare function useDiscoveredWallets(): UseDiscoveredWalletsResult;
125
+
126
+ interface UseModalResult {
127
+ open: () => void;
128
+ close: () => void;
129
+ isOpened: boolean;
130
+ }
131
+
132
+ interface ConnectButtonProps {
133
+ addressType?: AddressType;
134
+ fullWidth?: boolean;
135
+ }
136
+ declare function ConnectButton({ addressType, fullWidth }: ConnectButtonProps): react_jsx_runtime.JSX.Element;
137
+
138
+ interface ConnectBoxProps {
139
+ maxWidth?: string | number;
140
+ transparent?: boolean;
141
+ appIcon?: string;
142
+ appName?: string;
143
+ }
144
+ declare function ConnectBox({ maxWidth, transparent, appIcon, appName }: ConnectBoxProps): react_jsx_runtime.JSX.Element;
92
145
 
93
- export { ConnectOptions, PhantomDebugConfig, PhantomProvider, PhantomProviderProps, PhantomSDKConfig, ProviderType, useAccounts, useAutoConfirm, useConnect, useDisconnect, useEthereum, useIsExtensionInstalled, usePhantom, useSolana };
146
+ export { ConnectBox, ConnectBoxProps, ConnectButton, ConnectButtonProps, ConnectOptions, PhantomDebugConfig, PhantomProvider, PhantomProviderProps, PhantomSDKConfig, UseDiscoveredWalletsResult, UseModalResult, useAccounts, useAutoConfirm, useConnect, useDisconnect, useDiscoveredWallets, useEthereum, useIsExtensionInstalled, useIsPhantomLoginAvailable, useModal, usePhantom, useSolana };