@privy-io/react-auth 1.6.0-beta.1 → 1.6.0-beta.11

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
@@ -7,7 +7,7 @@ declare type WalletType = typeof SUPPORTED_WALLET_TYPES[number];
7
7
  /** @ignore */
8
8
  interface LinkMetadata {
9
9
  /** Account type, most commonly useful when filtering through linkedAccounts */
10
- type: 'wallet' | 'email' | 'google_oauth' | 'twitter_oauth' | 'discord_oauth';
10
+ type: 'wallet' | 'email' | 'phone' | 'google_oauth' | 'twitter_oauth' | 'discord_oauth';
11
11
  /** Datetime when this account was linked to the user. */
12
12
  verifiedAt: Date;
13
13
  }
@@ -42,6 +42,11 @@ interface Email {
42
42
  /** The email address. */
43
43
  address: string;
44
44
  }
45
+ /** Object representation of a user's phone number. */
46
+ interface Phone {
47
+ /** The phone number. */
48
+ number: string;
49
+ }
45
50
  /** Object representation of a user's Google account. */
46
51
  interface Google {
47
52
  /** The `sub` claim from the Google-issued JWT for this account. */
@@ -74,6 +79,11 @@ interface EmailWithMetadata extends LinkMetadata, Email {
74
79
  /** Denotes that this is an email account. */
75
80
  type: 'email';
76
81
  }
82
+ /** Object representation of a user's phone number, with additional metadata for advanced use cases. */
83
+ interface PhoneWithMetadata extends LinkMetadata, Phone {
84
+ /** Denotes that this is a phone account. */
85
+ type: 'phone';
86
+ }
77
87
  /** Object representation of a user's wallet, with additional metadata for advanced use cases. */
78
88
  interface WalletWithMetadata extends LinkMetadata, Wallet {
79
89
  /** Denotes that this is a wallet account. */
@@ -102,6 +112,8 @@ interface User {
102
112
  createdAt: Date;
103
113
  /** The user's email address, if they have linked one. It cannot be linked to another user. */
104
114
  email?: Email;
115
+ /** The user's phone number, if they have linked one. It cannot be linked to another user. */
116
+ phone?: Phone;
105
117
  /** The user's wallet address, if they have linked one. It cannot be linked to another user. */
106
118
  wallet?: Wallet;
107
119
  /** The user's Google account, if they have linked one. It cannot be linked to another user. */
@@ -112,7 +124,7 @@ interface User {
112
124
  discord?: Discord;
113
125
  /** The list of accounts associated with this user. Each account contains additional metadata
114
126
  * that may be helpful for advanced use cases. */
115
- linkedAccounts: Array<WalletWithMetadata | EmailWithMetadata | GoogleOAuthWithMetadata | TwitterOAuthWithMetadata | DiscordOAuthWithMetadata>;
127
+ linkedAccounts: Array<WalletWithMetadata | EmailWithMetadata | PhoneWithMetadata | GoogleOAuthWithMetadata | TwitterOAuthWithMetadata | DiscordOAuthWithMetadata>;
116
128
  }
117
129
 
118
130
  /**
@@ -189,22 +201,32 @@ interface PrivyInterface {
189
201
  login: () => void;
190
202
  /**
191
203
  * For users who are authenticated, opens the Privy modal and prompts the user to link an email.
204
+ * This will open the Privy Modal which will guide the user through this action.
192
205
  */
193
206
  linkEmail: () => void;
207
+ /**
208
+ * For users who are authenticated, opens the Privy modal and prompts the user to link a phone number.
209
+ * This will open the Privy Modal which will guide the user through this action.
210
+ */
211
+ linkPhone: () => void;
194
212
  /**
195
213
  * For users who are authenticated, opens the Privy modal and prompts the user to link a wallet.
214
+ * This will open the Privy Modal which will guide the user through this action.
196
215
  */
197
216
  linkWallet: () => void;
198
217
  /**
199
- * For users who are authenticated, opens the Privy modal and prompts the user to link google OAuth account
218
+ * For users who are authenticated, prompts the user to link a Google OAuth account.
219
+ * This will directly initiate the OAuth flow for Google.
200
220
  */
201
221
  linkGoogle: () => void;
202
222
  /**
203
- * For users who are authenticated, opens the Privy modal and prompts the user to link twitter OAuth account
223
+ * For users who are authenticated, prompts the user to link a Twitter OAuth account
224
+ * This will directly initiate the OAuth flow for Twitter.
204
225
  */
205
226
  linkTwitter: () => void;
206
227
  /**
207
- * For users who are authenticated, opens the Privy modal and prompts the user to link discord OAuth account
228
+ * For users who are authenticated, prompts the user to link Discord OAuth account
229
+ * This will directly initiate the OAuth flow for Discord.
208
230
  */
209
231
  linkDiscord: () => void;
210
232
  /**
@@ -238,10 +260,29 @@ interface PrivyInterface {
238
260
  */
239
261
  getWeb3jsProvider: () => AbstractProvider;
240
262
  /**
241
- * Unlink accounts.
263
+ * Unlink an email account from a user, by passing the email address. Note that you can only unlink an email account if the user has at least one other account.
242
264
  */
243
265
  unlinkEmail: (address: string) => Promise<User>;
266
+ /**
267
+ * Unlink a phone account from a user, by passing the phone number. Note that you can only unlink a phone account if the user has at least one other account.
268
+ */
269
+ unlinkPhone: (phoneNumber: string) => Promise<User>;
270
+ /**
271
+ * Unlink a wallet account from a user, by passing the public address. Note that you can only unlink a wallet account if the user has at least one other account.
272
+ */
244
273
  unlinkWallet: (address: string) => Promise<User>;
274
+ /**
275
+ * Unlink a Google social account from a user, by passing the google subject ID. Note that you can only unlink a social account if the user has at least one other account.
276
+ */
277
+ unlinkGoogle: (subject: string) => Promise<User>;
278
+ /**
279
+ * Unlink a Twitter social account from a user, by passing the twitter subject ID. Note that you can only unlink a social account if the user has at least one other account.
280
+ */
281
+ unlinkTwitter: (subject: string) => Promise<User>;
282
+ /**
283
+ * Unlink a Discord social account from a user, by passing the discord subject ID. Note that you can only unlink a social account if the user has at least one other account.
284
+ */
285
+ unlinkDiscord: (subject: string) => Promise<User>;
245
286
  }
246
287
  /**
247
288
  * [React Hook](https://reactjs.org/docs/hooks-intro.html) that allows you to manage the user's current authentication state and access their linked accounts.
@@ -250,4 +291,6 @@ interface PrivyInterface {
250
291
  */
251
292
  declare const usePrivy: () => PrivyInterface;
252
293
 
253
- export { Discord, DiscordOAuthWithMetadata, Email, EmailWithMetadata, Google, GoogleOAuthWithMetadata, PrivyInterface, PrivyProvider, PrivyProviderProps, Twitter, TwitterOAuthWithMetadata, User, Wallet, WalletWithMetadata, usePrivy };
294
+ declare const VERSION: string;
295
+
296
+ export { Discord, DiscordOAuthWithMetadata, Email, EmailWithMetadata, Google, GoogleOAuthWithMetadata, Phone, PhoneWithMetadata, PrivyInterface, PrivyProvider, PrivyProviderProps, Twitter, TwitterOAuthWithMetadata, User, VERSION, Wallet, WalletWithMetadata, usePrivy };