thirdweb 5.86.7-nightly-f5f8a40320d5d768d5866813f53ee4880bdf7851-20250129000319 → 5.87.1
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/cjs/exports/react.js +4 -3
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/exports/react.native.js +27 -1
- package/dist/cjs/exports/react.native.js.map +1 -1
- package/dist/cjs/react/{web/ui/prebuilt/Account → core/account}/provider.js +1 -1
- package/dist/cjs/react/core/account/provider.js.map +1 -0
- package/dist/cjs/react/core/utils/account.js +105 -0
- package/dist/cjs/react/core/utils/account.js.map +1 -0
- package/dist/cjs/react/core/utils/walletIcon.js +23 -0
- package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
- package/dist/cjs/react/core/utils/walletname.js +45 -0
- package/dist/cjs/react/core/utils/walletname.js.map +1 -0
- package/dist/cjs/react/core/wallet/provider.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/address.js +50 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/address.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/avatar.js +151 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/avatar.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/balance.js +130 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/balance.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/blobbie.js +58 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/blobbie.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/name.js +113 -0
- package/dist/cjs/react/native/ui/prebuilt/Account/name.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Wallet/icon.js +85 -0
- package/dist/cjs/react/native/ui/prebuilt/Wallet/icon.js.map +1 -0
- package/dist/cjs/react/native/ui/prebuilt/Wallet/name.js +66 -0
- package/dist/cjs/react/native/ui/prebuilt/Wallet/name.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js +2 -18
- package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +5 -4
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/address.js +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/address.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +8 -90
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Wallet/icon.js +1 -23
- package/dist/cjs/react/web/ui/prebuilt/Wallet/icon.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Wallet/name.js +2 -42
- package/dist/cjs/react/web/ui/prebuilt/Wallet/name.js.map +1 -1
- package/dist/cjs/utils/shortenLargeNumber.js +3 -0
- package/dist/cjs/utils/shortenLargeNumber.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +3 -1
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/esm/exports/react.js +3 -3
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/exports/react.native.js +15 -0
- package/dist/esm/exports/react.native.js.map +1 -1
- package/dist/esm/react/{web/ui/prebuilt/Account → core/account}/provider.js +1 -1
- package/dist/esm/react/core/account/provider.js.map +1 -0
- package/dist/esm/react/core/utils/account.js +99 -0
- package/dist/esm/react/core/utils/account.js.map +1 -0
- package/dist/esm/react/core/utils/walletIcon.js +21 -0
- package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
- package/dist/esm/react/core/utils/walletname.js +40 -0
- package/dist/esm/react/core/utils/walletname.js.map +1 -0
- package/dist/esm/react/core/wallet/provider.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Account/address.js +47 -0
- package/dist/esm/react/native/ui/prebuilt/Account/address.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Account/avatar.js +148 -0
- package/dist/esm/react/native/ui/prebuilt/Account/avatar.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Account/balance.js +127 -0
- package/dist/esm/react/native/ui/prebuilt/Account/balance.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Account/blobbie.js +54 -0
- package/dist/esm/react/native/ui/prebuilt/Account/blobbie.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Account/name.js +110 -0
- package/dist/esm/react/native/ui/prebuilt/Account/name.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Wallet/icon.js +81 -0
- package/dist/esm/react/native/ui/prebuilt/Wallet/icon.js.map +1 -0
- package/dist/esm/react/native/ui/prebuilt/Wallet/name.js +63 -0
- package/dist/esm/react/native/ui/prebuilt/Wallet/name.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js +1 -17
- package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +3 -2
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/address.js +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/address.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js +6 -85
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/name.js +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Wallet/icon.js +1 -22
- package/dist/esm/react/web/ui/prebuilt/Wallet/icon.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Wallet/name.js +1 -39
- package/dist/esm/react/web/ui/prebuilt/Wallet/name.js.map +1 -1
- package/dist/esm/utils/shortenLargeNumber.js +3 -0
- package/dist/esm/utils/shortenLargeNumber.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +3 -1
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/types/exports/react.d.ts +5 -4
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/exports/react.native.d.ts +15 -0
- package/dist/types/exports/react.native.d.ts.map +1 -1
- package/dist/types/react/{web/ui/prebuilt/Account → core/account}/provider.d.ts +3 -4
- package/dist/types/react/core/account/provider.d.ts.map +1 -0
- package/dist/types/react/core/utils/account.d.ts +46 -0
- package/dist/types/react/core/utils/account.d.ts.map +1 -0
- package/dist/types/react/core/utils/walletIcon.d.ts +14 -0
- package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
- package/dist/types/react/core/utils/walletname.d.ts +26 -0
- package/dist/types/react/core/utils/walletname.d.ts.map +1 -0
- package/dist/types/react/{web/ui/prebuilt/Wallet → core/wallet}/provider.d.ts +1 -1
- package/dist/types/react/core/wallet/provider.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Account/address.d.ts +54 -0
- package/dist/types/react/native/ui/prebuilt/Account/address.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Account/avatar.d.ts +141 -0
- package/dist/types/react/native/ui/prebuilt/Account/avatar.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Account/balance.d.ts +144 -0
- package/dist/types/react/native/ui/prebuilt/Account/balance.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Account/blobbie.d.ts +34 -0
- package/dist/types/react/native/ui/prebuilt/Account/blobbie.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Account/name.d.ts +118 -0
- package/dist/types/react/native/ui/prebuilt/Account/name.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Wallet/icon.d.ts +100 -0
- package/dist/types/react/native/ui/prebuilt/Wallet/icon.d.ts.map +1 -0
- package/dist/types/react/native/ui/prebuilt/Wallet/name.d.ts +94 -0
- package/dist/types/react/native/ui/prebuilt/Wallet/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts +1 -42
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Wallet/icon.d.ts +2 -10
- package/dist/types/react/web/ui/prebuilt/Wallet/icon.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Wallet/name.d.ts +1 -18
- package/dist/types/react/web/ui/prebuilt/Wallet/name.d.ts.map +1 -1
- package/dist/types/utils/shortenLargeNumber.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/manager/index.d.ts +1 -0
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/exports/react.native.ts +47 -0
- package/src/exports/react.ts +5 -3
- package/src/react/{web/ui/prebuilt/Account → core/account}/provider.test.tsx +1 -1
- package/src/react/{web/ui/prebuilt/Account → core/account}/provider.tsx +3 -5
- package/src/react/core/utils/account.ts +146 -0
- package/src/react/core/utils/walletIcon.ts +28 -0
- package/src/react/core/utils/walletname.ts +53 -0
- package/src/react/{web/ui/prebuilt/Wallet → core/wallet}/provider.tsx +1 -1
- package/src/react/native/ui/prebuilt/Account/address.tsx +65 -0
- package/src/react/native/ui/prebuilt/Account/avatar.tsx +225 -0
- package/src/react/native/ui/prebuilt/Account/balance.tsx +221 -0
- package/src/react/native/ui/prebuilt/Account/blobbie.tsx +94 -0
- package/src/react/native/ui/prebuilt/Account/name.tsx +180 -0
- package/src/react/native/ui/prebuilt/Wallet/icon.tsx +124 -0
- package/src/react/native/ui/prebuilt/Wallet/name.tsx +112 -0
- package/src/react/web/ui/ConnectWallet/Blobbie.tsx +1 -18
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/Details.test.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/Details.tsx +7 -7
- package/src/react/web/ui/prebuilt/Account/address.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/Account/address.tsx +1 -1
- package/src/react/web/ui/prebuilt/Account/avatar.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/Account/avatar.tsx +1 -2
- package/src/react/web/ui/prebuilt/Account/balance.test.tsx +7 -5
- package/src/react/web/ui/prebuilt/Account/balance.tsx +10 -130
- package/src/react/web/ui/prebuilt/Account/blobbie.tsx +1 -1
- package/src/react/web/ui/prebuilt/Account/name.test.tsx +1 -1
- package/src/react/web/ui/prebuilt/Account/name.tsx +1 -1
- package/src/react/web/ui/prebuilt/Wallet/icon.test.tsx +3 -2
- package/src/react/web/ui/prebuilt/Wallet/icon.tsx +6 -30
- package/src/react/web/ui/prebuilt/Wallet/name.test.tsx +6 -2
- package/src/react/web/ui/prebuilt/Wallet/name.tsx +2 -52
- package/src/utils/shortenLargeNumber.ts +3 -0
- package/src/version.ts +1 -1
- package/src/wallets/manager/index.ts +4 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/provider.js.map +0 -1
- package/dist/cjs/react/web/ui/prebuilt/Wallet/provider.js.map +0 -1
- package/dist/esm/react/web/ui/prebuilt/Account/provider.js.map +0 -1
- package/dist/esm/react/web/ui/prebuilt/Wallet/provider.js.map +0 -1
- package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts.map +0 -1
- package/dist/types/react/web/ui/prebuilt/Wallet/provider.d.ts.map +0 -1
- /package/dist/cjs/react/{web/ui/prebuilt/Wallet → core/wallet}/provider.js +0 -0
- /package/dist/esm/react/{web/ui/prebuilt/Wallet → core/wallet}/provider.js +0 -0
- /package/src/react/{web/ui/prebuilt/Wallet → core/wallet}/provider.test.tsx +0 -0
@@ -0,0 +1,130 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.AccountBalance = AccountBalance;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
7
|
+
const react_native_1 = require("react-native");
|
8
|
+
const useActiveWalletChain_js_1 = require("../../../../../react/core/hooks/wallets/useActiveWalletChain.js");
|
9
|
+
const address_js_1 = require("../../../../../utils/address.js");
|
10
|
+
const provider_js_1 = require("../../../../core/account/provider.js");
|
11
|
+
const account_js_1 = require("../../../../core/utils/account.js");
|
12
|
+
const account_js_2 = require("../../../../core/utils/account.js");
|
13
|
+
/**
|
14
|
+
* This component fetches and shows the balance of the wallet address on a given chain.
|
15
|
+
* It inherits all the attributes of a HTML <span> component, hence you can style it just like how you would style a normal <span>
|
16
|
+
*
|
17
|
+
*
|
18
|
+
* @example
|
19
|
+
* ### Basic usage
|
20
|
+
* ```tsx
|
21
|
+
* import { AccountProvider, AccountBalance } from "thirdweb/react";
|
22
|
+
* import { ethereum } from "thirdweb/chains";
|
23
|
+
*
|
24
|
+
* <AccountProvider address="0x...">
|
25
|
+
* <AccountBalance chain={ethereum} />
|
26
|
+
* </AccountProvider>
|
27
|
+
* ```
|
28
|
+
* Result:
|
29
|
+
* ```html
|
30
|
+
* <span>1.091435 ETH</span>
|
31
|
+
* ```
|
32
|
+
*
|
33
|
+
*
|
34
|
+
* ### Format the balance (round up, shorten etc.)
|
35
|
+
* The AccountBalance component accepts a `formatFn` which takes in an object of type `AccountBalanceInfo` and outputs a string
|
36
|
+
* The function is used to modify the display value of the wallet balance (either in crypto or fiat)
|
37
|
+
*
|
38
|
+
* ```tsx
|
39
|
+
* import type { AccountBalanceInfo } from "thirdweb/react";
|
40
|
+
* import { formatNumber } from "thirdweb/utils";
|
41
|
+
*
|
42
|
+
* const format = (props: AccountInfoBalance):string => `${formatNumber(props.balance, 1)} ${props.symbol.toLowerCase()}`
|
43
|
+
*
|
44
|
+
* <AccountBalance formatFn={format} />
|
45
|
+
* ```
|
46
|
+
*
|
47
|
+
* Result:
|
48
|
+
* ```html
|
49
|
+
* <span>1.1 eth</span> // the balance is rounded up to 1 decimal and the symbol is lowercased
|
50
|
+
* ```
|
51
|
+
*
|
52
|
+
* ### Show a loading sign when the balance is being fetched
|
53
|
+
* ```tsx
|
54
|
+
* import { AccountProvider, AccountBalance } from "thirdweb/react";
|
55
|
+
*
|
56
|
+
* <AccountProvider address="0x...">
|
57
|
+
* <AccountBalance
|
58
|
+
* chain={ethereum}
|
59
|
+
* loadingComponent={<Spinner />}
|
60
|
+
* />
|
61
|
+
* </AccountProvider>
|
62
|
+
* ```
|
63
|
+
*
|
64
|
+
* ### Fallback to something when the balance fails to resolve
|
65
|
+
* ```tsx
|
66
|
+
* <AccountProvider address="0x...">
|
67
|
+
* <AccountBalance
|
68
|
+
* chain={nonExistentChain}
|
69
|
+
* fallbackComponent={"Failed to load"}
|
70
|
+
* />
|
71
|
+
* </AccountProvider>
|
72
|
+
* ```
|
73
|
+
*
|
74
|
+
* ### Custom query options for useQuery
|
75
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
76
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
77
|
+
* ```tsx
|
78
|
+
* <AccountBalance
|
79
|
+
* queryOptions={{
|
80
|
+
* enabled: isEnabled,
|
81
|
+
* retry: 4,
|
82
|
+
* }}
|
83
|
+
* />
|
84
|
+
* ```
|
85
|
+
*
|
86
|
+
* @component
|
87
|
+
* @wallet
|
88
|
+
* @beta
|
89
|
+
*/
|
90
|
+
function AccountBalance({ chain, tokenAddress, loadingComponent, fallbackComponent, queryOptions, formatFn, showBalanceInFiat, ...restProps }) {
|
91
|
+
const { address, client } = (0, provider_js_1.useAccountContext)();
|
92
|
+
const walletChain = (0, useActiveWalletChain_js_1.useActiveWalletChain)();
|
93
|
+
const chainToLoad = chain || walletChain;
|
94
|
+
const balanceQuery = (0, react_query_1.useQuery)({
|
95
|
+
queryKey: [
|
96
|
+
"internal_account_balance",
|
97
|
+
chainToLoad?.id || -1,
|
98
|
+
address,
|
99
|
+
{ tokenAddress },
|
100
|
+
showBalanceInFiat,
|
101
|
+
],
|
102
|
+
queryFn: async () => (0, account_js_1.loadAccountBalance)({
|
103
|
+
chain: chainToLoad,
|
104
|
+
client,
|
105
|
+
address: (0, address_js_1.getAddress)(address),
|
106
|
+
tokenAddress: tokenAddress ? (0, address_js_1.getAddress)(tokenAddress) : undefined,
|
107
|
+
showBalanceInFiat,
|
108
|
+
}),
|
109
|
+
retry: false,
|
110
|
+
...queryOptions,
|
111
|
+
});
|
112
|
+
if (balanceQuery.isLoading) {
|
113
|
+
return loadingComponent || null;
|
114
|
+
}
|
115
|
+
if (balanceQuery.data === undefined) {
|
116
|
+
return fallbackComponent || null;
|
117
|
+
}
|
118
|
+
// Prioritize using the formatFn from users
|
119
|
+
if (formatFn) {
|
120
|
+
return (0, jsx_runtime_1.jsx)(react_native_1.Text, { ...restProps, children: formatFn(balanceQuery.data) });
|
121
|
+
}
|
122
|
+
if (showBalanceInFiat) {
|
123
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Text, { ...restProps, children: (0, account_js_1.formatAccountFiatBalance)({ ...balanceQuery.data, decimals: 2 }) }));
|
124
|
+
}
|
125
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Text, { ...restProps, children: (0, account_js_2.formatAccountTokenBalance)({
|
126
|
+
...balanceQuery.data,
|
127
|
+
decimals: balanceQuery.data.balance < 1 ? 3 : 2,
|
128
|
+
}) }));
|
129
|
+
}
|
130
|
+
//# sourceMappingURL=balance.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../../../../../src/react/native/ui/prebuilt/Account/balance.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA8Jb,wCA8DC;;AA1ND,uDAAuE;AACvE,+CAAoD;AAGpD,6GAAuG;AACvG,gEAA6D;AAC7D,sEAAyE;AACzE,kEAI2C;AAC3C,kEAA8E;AAmE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,SAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,GAAG,SAAS,EACQ;IACpB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAChD,MAAM,WAAW,GAAG,IAAA,8CAAoB,GAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,IAAI,WAAW,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,sBAAQ,EAAC;QAC5B,QAAQ,EAAE;YACR,0BAA0B;YAC1B,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;YACrB,OAAO;YACP,EAAE,YAAY,EAAE;YAChB,iBAAiB;SACT;QACV,OAAO,EAAE,KAAK,IAAiC,EAAE,CAC/C,IAAA,+BAAkB,EAAC;YACjB,KAAK,EAAE,WAAW;YAClB,MAAM;YACN,OAAO,EAAE,IAAA,uBAAU,EAAC,OAAO,CAAC;YAC5B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,iBAAiB;SAClB,CAAC;QACJ,KAAK,EAAE,KAAK;QACZ,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,2CAA2C;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,uBAAC,mBAAI,OAAK,SAAS,YAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAQ,CAAC;IACnE,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CACL,uBAAC,mBAAI,OAAK,SAAS,YAChB,IAAA,qCAAwB,EAAC,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,GAC3D,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,uBAAC,mBAAI,OAAK,SAAS,YAChB,IAAA,sCAAyB,EAAC;YACzB,GAAG,YAAY,CAAC,IAAI;YACpB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AccountBlobbie = AccountBlobbie;
|
4
|
+
exports.Blobbie = Blobbie;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const utils_1 = require("@noble/curves/abstract/utils");
|
7
|
+
const react_1 = require("react");
|
8
|
+
const react_native_1 = require("react-native");
|
9
|
+
const react_native_svg_1 = require("react-native-svg");
|
10
|
+
const provider_js_1 = require("../../../../core/account/provider.js");
|
11
|
+
const account_js_1 = require("../../../../core/utils/account.js");
|
12
|
+
/**
|
13
|
+
* A wrapper for the Blobbie component
|
14
|
+
* @param props BlobbieProps
|
15
|
+
* @beta
|
16
|
+
* @wallet
|
17
|
+
*/
|
18
|
+
function AccountBlobbie(props) {
|
19
|
+
const { address } = (0, provider_js_1.useAccountContext)();
|
20
|
+
return (0, jsx_runtime_1.jsx)(Blobbie, { ...props, address: address });
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* A unique gradient avatar based on the provided address.
|
24
|
+
* @param props The component props.
|
25
|
+
* @param props.address The address to generate the gradient with.
|
26
|
+
* @param props.style The style for the component
|
27
|
+
* @param props.size The size of each side of the square avatar (in pixels)
|
28
|
+
* @component
|
29
|
+
* @wallet
|
30
|
+
* @example
|
31
|
+
* ```tsx
|
32
|
+
* import { Blobbie } from "thirdweb/react";
|
33
|
+
*
|
34
|
+
* <Blobbie address="0x...." style={{ width: 40, height: 40 }} />
|
35
|
+
* ```
|
36
|
+
*/
|
37
|
+
function Blobbie(props) {
|
38
|
+
const colors = (0, react_1.useMemo)(() => account_js_1.COLOR_OPTIONS[Number((0, utils_1.hexToNumber)(props.address.slice(2, 4))) % account_js_1.COLOR_OPTIONS.length], [props.address]);
|
39
|
+
const containerStyle = (0, react_1.useMemo)(() => {
|
40
|
+
const baseStyle = props.style || {};
|
41
|
+
if (props.size) {
|
42
|
+
return {
|
43
|
+
...baseStyle,
|
44
|
+
width: props.size,
|
45
|
+
height: props.size,
|
46
|
+
};
|
47
|
+
}
|
48
|
+
return baseStyle;
|
49
|
+
}, [props.style, props.size]);
|
50
|
+
const gradientUniqueId = `grad${colors[0]}+${colors[1]}`.replace(/[^a-zA-Z0-9 ]/g, "");
|
51
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.container, containerStyle], children: (0, jsx_runtime_1.jsxs)(react_native_svg_1.Svg, { height: "100%", width: "100%", style: react_native_1.StyleSheet.absoluteFillObject, children: [(0, jsx_runtime_1.jsx)(react_native_svg_1.Defs, { children: (0, jsx_runtime_1.jsxs)(react_native_svg_1.LinearGradient, { id: gradientUniqueId, x1: "0%", y1: "100%", x2: "100%", y2: "0%", children: [(0, jsx_runtime_1.jsx)(react_native_svg_1.Stop, { offset: "0", stopColor: colors[0] }), (0, jsx_runtime_1.jsx)(react_native_svg_1.Stop, { offset: "1", stopColor: colors[1] })] }) }), (0, jsx_runtime_1.jsx)(react_native_svg_1.Rect, { width: "100%", height: "100%", fill: `url(#${gradientUniqueId})` })] }) }));
|
52
|
+
}
|
53
|
+
const styles = react_native_1.StyleSheet.create({
|
54
|
+
container: {
|
55
|
+
overflow: "hidden",
|
56
|
+
},
|
57
|
+
});
|
58
|
+
//# sourceMappingURL=blobbie.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"blobbie.js","sourceRoot":"","sources":["../../../../../../../src/react/native/ui/prebuilt/Account/blobbie.tsx"],"names":[],"mappings":";;AAsBA,wCAGC;AAiBD,0BA6CC;;AAvFD,wDAA2D;AAC3D,iCAAgC;AAChC,+CAAgE;AAChE,uDAAyE;AACzE,sEAAyE;AACzE,kEAAkE;AAWlE;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,KAAoC;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,+BAAiB,GAAE,CAAC;IACxC,OAAO,uBAAC,OAAO,OAAK,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CACH,0BAAa,CACX,MAAM,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,0BAAa,CAAC,MAAM,CAClD,EACvB,CAAC,KAAK,CAAC,OAAO,CAAC,CAChB,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;gBACL,GAAG,SAAS;gBACZ,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,MAAM,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9B,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAC9D,gBAAgB,EAChB,EAAE,CACH,CAAC;IAEF,OAAO,CACL,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,YAC7C,wBAAC,sBAAG,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,yBAAU,CAAC,kBAAkB,aAClE,uBAAC,uBAAI,cACH,wBAAC,iCAAc,IACb,EAAE,EAAE,gBAAgB,EACpB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,MAAM,EACT,EAAE,EAAC,MAAM,EACT,EAAE,EAAC,IAAI,aAEP,uBAAC,uBAAI,IAAC,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAI,EACzC,uBAAC,uBAAI,IAAC,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAI,IAC1B,GACZ,EACP,uBAAC,uBAAI,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAE,QAAQ,gBAAgB,GAAG,GAAI,IAClE,GACD,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC,CAAC"}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.AccountName = AccountName;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
7
|
+
const react_native_1 = require("react-native");
|
8
|
+
const resolve_name_js_1 = require("../../../../../extensions/ens/resolve-name.js");
|
9
|
+
const profiles_js_1 = require("../../../../../social/profiles.js");
|
10
|
+
const provider_js_1 = require("../../../../core/account/provider.js");
|
11
|
+
/**
|
12
|
+
* This component is used to display the name of the account.
|
13
|
+
* A "name" in this context is the username, or account of the social profiles that the wallet may have.
|
14
|
+
* In case a name is not found or failed to resolve, you can always fallback to displaying the wallet address instead by using the `fallbackComponent` prop.
|
15
|
+
*
|
16
|
+
* This component inherits all attribute of a native HTML <span> element, so you can style it just like how you would style a <span>.
|
17
|
+
*
|
18
|
+
* @param props
|
19
|
+
* @returns A `<span>` containing the name of the account
|
20
|
+
* ```html
|
21
|
+
* <span>{name}</span>
|
22
|
+
* ```
|
23
|
+
*
|
24
|
+
* @example
|
25
|
+
* ### Basic usage
|
26
|
+
* ```tsx
|
27
|
+
* import { AccountProvider, AccountName } from "thirdweb/react";
|
28
|
+
*
|
29
|
+
* <AccountProvider address="0x1234...3f3f" client={client}>
|
30
|
+
* <AccountName />
|
31
|
+
* </AccountProvider>
|
32
|
+
* ```
|
33
|
+
*
|
34
|
+
* ### Show wallet address while social name is being loaded
|
35
|
+
* ```tsx
|
36
|
+
* <AccountName
|
37
|
+
* loadingComponent={<AccountAddress />}
|
38
|
+
* />
|
39
|
+
* ```
|
40
|
+
*
|
41
|
+
*
|
42
|
+
* ### Fallback to showing wallet address if fail to resolve social name
|
43
|
+
* ```tsx
|
44
|
+
* <AccountName
|
45
|
+
* fallbackComponent={<AccountAddress />}
|
46
|
+
* />
|
47
|
+
* ```
|
48
|
+
*
|
49
|
+
* ### Transform the account name using `formatFn` prop
|
50
|
+
* ```tsx
|
51
|
+
* import { isAddress, shortenAddress } from "thirdweb/utils";
|
52
|
+
* import { AccountProvider, AccountName } from "thirdweb/react";
|
53
|
+
*
|
54
|
+
* // Let's say we want the name to be capitalized without using CSS
|
55
|
+
* const formatName = (name: string) => name.toUpperCase();
|
56
|
+
*
|
57
|
+
* return <AccountName formatFn={formatName} />
|
58
|
+
* ```
|
59
|
+
*
|
60
|
+
*
|
61
|
+
* ### Custom query options for useQuery
|
62
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
63
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
64
|
+
* ```tsx
|
65
|
+
* <AccountName
|
66
|
+
* queryOptions={{
|
67
|
+
* enabled: isEnabled,
|
68
|
+
* retry: 3
|
69
|
+
* }}
|
70
|
+
* />
|
71
|
+
* ```
|
72
|
+
*
|
73
|
+
* @component
|
74
|
+
* @wallet
|
75
|
+
* @beta
|
76
|
+
*/
|
77
|
+
function AccountName({ resolverAddress, resolverChain, socialType, formatFn, queryOptions, loadingComponent, fallbackComponent, ...restProps }) {
|
78
|
+
const { address, client } = (0, provider_js_1.useAccountContext)();
|
79
|
+
const nameQuery = (0, react_query_1.useQuery)({
|
80
|
+
queryKey: [
|
81
|
+
"account-name",
|
82
|
+
address,
|
83
|
+
{ socialType },
|
84
|
+
{ resolverAddress, resolverChain },
|
85
|
+
],
|
86
|
+
queryFn: async () => {
|
87
|
+
const [socialData, ensName] = await Promise.all([
|
88
|
+
(0, profiles_js_1.getSocialProfiles)({ address, client }),
|
89
|
+
(0, resolve_name_js_1.resolveName)({
|
90
|
+
client,
|
91
|
+
address,
|
92
|
+
resolverAddress,
|
93
|
+
resolverChain,
|
94
|
+
}),
|
95
|
+
]);
|
96
|
+
const name = socialData?.filter((p) => p.name && (socialType ? p.type === socialType : true))[0]?.name || ensName;
|
97
|
+
if (!name) {
|
98
|
+
throw new Error("Failed to resolve account name");
|
99
|
+
}
|
100
|
+
return formatFn ? formatFn(name) : name;
|
101
|
+
},
|
102
|
+
retry: false,
|
103
|
+
...queryOptions,
|
104
|
+
});
|
105
|
+
if (nameQuery.isLoading) {
|
106
|
+
return loadingComponent || null;
|
107
|
+
}
|
108
|
+
if (!nameQuery.data) {
|
109
|
+
return fallbackComponent || null;
|
110
|
+
}
|
111
|
+
return (0, jsx_runtime_1.jsx)(react_native_1.Text, { ...restProps, children: nameQuery.data });
|
112
|
+
}
|
113
|
+
//# sourceMappingURL=name.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../../../../src/react/native/ui/prebuilt/Account/name.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA+Hb,kCAoDC;;AAjLD,uDAAuE;AACvE,+CAAoD;AACpD,mFAGuD;AACvD,mEAAsE;AAEtE,sEAAyE;AAmDzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,SAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,aAAa,EACb,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,SAAS,EACK;IACjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAA,sBAAQ,EAAC;QACzB,QAAQ,EAAE;YACR,cAAc;YACd,OAAO;YACP,EAAE,UAAU,EAAE;YACd,EAAE,eAAe,EAAE,aAAa,EAAE;SACnC;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,IAAA,+BAAiB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACtC,IAAA,6BAAW,EAAC;oBACV,MAAM;oBACN,OAAO;oBACP,eAAe;oBACf,aAAa;iBACd,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,GACR,UAAU,EAAE,MAAM,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7D,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;YAExB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC;QACD,KAAK,EAAE,KAAK;QACZ,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,uBAAC,mBAAI,OAAK,SAAS,YAAG,SAAS,CAAC,IAAI,GAAQ,CAAC;AACtD,CAAC"}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.WalletIcon = WalletIcon;
|
5
|
+
exports.SocialIcon = SocialIcon;
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const react_native_1 = require("react-native");
|
8
|
+
const react_native_svg_1 = require("react-native-svg");
|
9
|
+
const walletIcon_js_1 = require("../../../../core/utils/walletIcon.js");
|
10
|
+
const WalletImage_js_1 = require("../../components/WalletImage.js");
|
11
|
+
/**
|
12
|
+
* This component tries to resolve the icon of a given wallet, then return an image.
|
13
|
+
* @returns an <img /> with the src of the wallet icon
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* ### Basic usage
|
17
|
+
* ```tsx
|
18
|
+
* import { WalletProvider, WalletIcon } from "thirdweb/react";
|
19
|
+
*
|
20
|
+
* <WalletProvider id="io.metamask">
|
21
|
+
* <WalletIcon />
|
22
|
+
* </WalletProvider>
|
23
|
+
* ```
|
24
|
+
*
|
25
|
+
* Result: An <img /> component with the src of the icon
|
26
|
+
* ```html
|
27
|
+
* <img src="metamask-icon.png" />
|
28
|
+
* ```
|
29
|
+
*
|
30
|
+
* ### Show a loading sign while the icon is being loaded
|
31
|
+
* ```tsx
|
32
|
+
* <WalletIcon loadingComponent={<Spinner />} />
|
33
|
+
* ```
|
34
|
+
*
|
35
|
+
* ### Fallback to a dummy image if the wallet icon fails to resolve
|
36
|
+
* ```tsx
|
37
|
+
* <WalletIcon fallbackComponent={<img src="blank-image.png" />} />
|
38
|
+
* ```
|
39
|
+
*
|
40
|
+
* ### Usage with queryOptions
|
41
|
+
* WalletIcon uses useQuery() from tanstack query internally.
|
42
|
+
* It allows you to pass a custom queryOptions of your choice for more control of the internal fetching logic
|
43
|
+
* ```tsx
|
44
|
+
* <WalletIcon queryOptions={{ enabled: someLogic, retry: 3, }} />
|
45
|
+
* ```
|
46
|
+
*
|
47
|
+
* @component
|
48
|
+
* @wallet
|
49
|
+
* @beta
|
50
|
+
*/
|
51
|
+
function WalletIcon({ loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
52
|
+
const imageQuery = (0, walletIcon_js_1.useWalletIcon)({ queryOptions });
|
53
|
+
if (imageQuery.isLoading) {
|
54
|
+
return loadingComponent || null;
|
55
|
+
}
|
56
|
+
if (!imageQuery.data) {
|
57
|
+
return fallbackComponent || null;
|
58
|
+
}
|
59
|
+
return (0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: imageQuery.data }, ...restProps });
|
60
|
+
}
|
61
|
+
/**
|
62
|
+
* Social auth provider icon
|
63
|
+
* @returns an <img /> component with the src set to the svg
|
64
|
+
*
|
65
|
+
* @example
|
66
|
+
* ```tsx
|
67
|
+
* import { SocialIcon } from "thirdweb/react";
|
68
|
+
*
|
69
|
+
* <SocialIcon provider="google" />
|
70
|
+
* ```
|
71
|
+
*
|
72
|
+
* Result: An <img /> component with the src of the icon
|
73
|
+
* ```html
|
74
|
+
* <img src="google-icon-svg" />
|
75
|
+
* ```
|
76
|
+
*
|
77
|
+
* @component
|
78
|
+
* @wallet
|
79
|
+
* @beta
|
80
|
+
*/
|
81
|
+
function SocialIcon({ provider, ...restProps }) {
|
82
|
+
const src = (0, WalletImage_js_1.getAuthProviderImage)(provider);
|
83
|
+
return (0, jsx_runtime_1.jsx)(react_native_svg_1.SvgXml, { xml: src, ...restProps });
|
84
|
+
}
|
85
|
+
//# sourceMappingURL=icon.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../../../../../src/react/native/ui/prebuilt/Wallet/icon.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgFb,gCAcC;AA0BD,gCAGC;;AAxHD,+CAAsD;AACtD,uDAAyD;AAEzD,wEAAqE;AACrE,oEAAuE;AAiCvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,SAAgB,UAAU,CAAC,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACI;IAChB,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,uBAAC,oBAAK,IAAC,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,KAAM,SAAS,GAAI,CAAC;AACpE,CAAC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAmB;IACpE,MAAM,GAAG,GAAG,IAAA,qCAAoB,EAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,uBAAC,yBAAM,IAAC,GAAG,EAAE,GAAG,KAAM,SAAS,GAAI,CAAC;AAC7C,CAAC"}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.WalletName = WalletName;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_native_1 = require("react-native");
|
7
|
+
const walletname_js_1 = require("../../../../core/utils/walletname.js");
|
8
|
+
/**
|
9
|
+
* This component fetches then shows the name of a wallet.
|
10
|
+
* It inherits all the attributes of a HTML <span> component, hence you can style it just like how you would style a normal <span>
|
11
|
+
*
|
12
|
+
* @example
|
13
|
+
* ### Basic usage
|
14
|
+
* ```tsx
|
15
|
+
* import { WalletProvider, WalletName } from "thirdweb/react";
|
16
|
+
*
|
17
|
+
* <WalletProvider id="io.metamask">
|
18
|
+
* <WalletName />
|
19
|
+
* </WalletProvider>
|
20
|
+
* ```
|
21
|
+
* Result:
|
22
|
+
* ```html
|
23
|
+
* <span>MetaMask</span>
|
24
|
+
* ```
|
25
|
+
*
|
26
|
+
* ### Show a loading sign when the name is being fetched
|
27
|
+
* ```tsx
|
28
|
+
* import { WalletProvider, WalletName } from "thirdweb/react";
|
29
|
+
*
|
30
|
+
* <WalletProvider {...props}>
|
31
|
+
* <WalletName loadingComponent={<Spinner />} />
|
32
|
+
* </WalletProvider>
|
33
|
+
* ```
|
34
|
+
*
|
35
|
+
* ### Fallback to something when the name fails to resolve
|
36
|
+
* ```tsx
|
37
|
+
* <WalletProvider {...props}>
|
38
|
+
* <WalletName fallbackComponent={<span>Failed to load</span>} />
|
39
|
+
* </WalletProvider>
|
40
|
+
* ```
|
41
|
+
*
|
42
|
+
* ### Custom query options for useQuery
|
43
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
44
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
45
|
+
* ```tsx
|
46
|
+
* <WalletName
|
47
|
+
* queryOptions={{
|
48
|
+
* enabled: isEnabled,
|
49
|
+
* retry: 4,
|
50
|
+
* }}
|
51
|
+
* />
|
52
|
+
* @component
|
53
|
+
* @beta
|
54
|
+
* @wallet
|
55
|
+
*/
|
56
|
+
function WalletName({ loadingComponent, fallbackComponent, queryOptions, formatFn, ...restProps }) {
|
57
|
+
const nameQuery = (0, walletname_js_1.useWalletName)({ queryOptions, formatFn });
|
58
|
+
if (nameQuery.isLoading) {
|
59
|
+
return loadingComponent || null;
|
60
|
+
}
|
61
|
+
if (!nameQuery.data) {
|
62
|
+
return fallbackComponent || null;
|
63
|
+
}
|
64
|
+
return (0, jsx_runtime_1.jsx)(react_native_1.Text, { ...restProps, children: nameQuery.data });
|
65
|
+
}
|
66
|
+
//# sourceMappingURL=name.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../../../../src/react/native/ui/prebuilt/Wallet/name.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgGb,gCAeC;;AA5GD,+CAAoD;AACpD,wEAAqE;AA4CrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,SAAgB,UAAU,CAAC,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,GAAG,SAAS,EACI;IAChB,MAAM,SAAS,GAAG,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,uBAAC,mBAAI,OAAK,SAAS,YAAG,SAAS,CAAC,IAAI,GAAQ,CAAC;AACtD,CAAC"}
|
@@ -5,23 +5,7 @@ exports.Blobbie = Blobbie;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
6
|
const utils_1 = require("@noble/curves/abstract/utils");
|
7
7
|
const react_1 = require("react");
|
8
|
-
const
|
9
|
-
["#fca5a5", "#b91c1c"],
|
10
|
-
["#fdba74", "#c2410c"],
|
11
|
-
["#fcd34d", "#b45309"],
|
12
|
-
["#fde047", "#a16207"],
|
13
|
-
["#a3e635", "#4d7c0f"],
|
14
|
-
["#86efac", "#15803d"],
|
15
|
-
["#67e8f9", "#0e7490"],
|
16
|
-
["#7dd3fc", "#0369a1"],
|
17
|
-
["#93c5fd", "#1d4ed8"],
|
18
|
-
["#a5b4fc", "#4338ca"],
|
19
|
-
["#c4b5fd", "#6d28d9"],
|
20
|
-
["#d8b4fe", "#7e22ce"],
|
21
|
-
["#f0abfc", "#a21caf"],
|
22
|
-
["#f9a8d4", "#be185d"],
|
23
|
-
["#fda4af", "#be123c"],
|
24
|
-
];
|
8
|
+
const account_js_1 = require("../../../core/utils/account.js");
|
25
9
|
/**
|
26
10
|
* A unique gradient avatar based on the provided address.
|
27
11
|
* @param props The component props.
|
@@ -40,7 +24,7 @@ const COLOR_OPTIONS = [
|
|
40
24
|
*/
|
41
25
|
function Blobbie(props) {
|
42
26
|
const id = (0, react_1.useId)();
|
43
|
-
const colors = (0, react_1.useMemo)(() => COLOR_OPTIONS[Number((0, utils_1.hexToNumber)(props.address.slice(2, 4))) % COLOR_OPTIONS.length], [props.address]);
|
27
|
+
const colors = (0, react_1.useMemo)(() => account_js_1.COLOR_OPTIONS[Number((0, utils_1.hexToNumber)(props.address.slice(2, 4))) % account_js_1.COLOR_OPTIONS.length], [props.address]);
|
44
28
|
return ((0, jsx_runtime_1.jsx)("div", { id: id, style: {
|
45
29
|
...props.style,
|
46
30
|
backgroundImage: `radial-gradient(ellipse at left bottom, ${colors[0]}, ${colors[1]})`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Blobbie.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/ConnectWallet/Blobbie.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
1
|
+
{"version":3,"file":"Blobbie.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/ConnectWallet/Blobbie.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgCb,0BA0BC;;AAzDD,wDAA2D;AAC3D,iCAAuC;AACvC,+DAA+D;AAa/D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,EAAE,GAAG,IAAA,aAAK,GAAE,CAAC;IACnB,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CACH,0BAAa,CACX,MAAM,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,0BAAa,CAAC,MAAM,CAClD,EACvB,CAAC,KAAK,CAAC,OAAO,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,gCACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;YACL,GAAG,KAAK,CAAC,KAAK;YACd,eAAe,EAAE,2CAA2C,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG;YACtF,GAAG,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC;oBACE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI;oBACxB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI;iBAC1B;gBACH,CAAC,CAAC,SAAS,CAAC;SACf,EACD,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACH,CAAC;AACJ,CAAC"}
|
@@ -6,6 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const styled_1 = require("@emotion/styled");
|
7
7
|
const react_1 = require("react");
|
8
8
|
const defaultWallets_js_1 = require("../../../../wallets/defaultWallets.js");
|
9
|
+
const provider_js_1 = require("../../../core/account/provider.js");
|
9
10
|
const index_js_1 = require("../../../core/design-system/index.js");
|
10
11
|
const useSiweAuth_js_1 = require("../../../core/hooks/auth/useSiweAuth.js");
|
11
12
|
const useActiveAccount_js_1 = require("../../../core/hooks/wallets/useActiveAccount.js");
|
@@ -22,7 +23,6 @@ const Spinner_js_1 = require("../components/Spinner.js");
|
|
22
23
|
const basic_js_1 = require("../components/basic.js");
|
23
24
|
const buttons_js_1 = require("../components/buttons.js");
|
24
25
|
const animations_js_1 = require("../design-system/animations.js");
|
25
|
-
const provider_js_1 = require("../prebuilt/Account/provider.js");
|
26
26
|
const Details_js_1 = require("./Details.js");
|
27
27
|
const ConnectModal_js_1 = require("./Modal/ConnectModal.js");
|
28
28
|
const LockIcon_js_1 = require("./icons/LockIcon.js");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/ConnectWallet/ConnectButton.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA+Rb,sCA2GC;;AAxYD,4CAAqC;AACrC,iCAAqD;AACrD,6EAA0E;AAC1E,mEAAgE;AAChE,4EAAsE;AAEtE,yFAAmF;AACnF,uFAAiF;AACjF,uHAAiH;AACjH,yFAAqF;AACrF,2EAAqE;AACrE,+FAGsD;AACtD,uEAAiE;AACjE,2FAAqF;AACrF,kEAA4D;AAC5D,qDAA+C;AAC/C,yDAAmD;AACnD,qDAAmD;AACnD,yDAAkD;AAClD,kEAAiE;AACjE,
|
1
|
+
{"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../../../../../src/react/web/ui/ConnectWallet/ConnectButton.tsx"],"names":[],"mappings":"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"}
|
@@ -23,6 +23,7 @@ const is_contract_deployed_js_1 = require("../../../../utils/bytecode/is-contrac
|
|
23
23
|
const webStorage_js_1 = require("../../../../utils/storage/webStorage.js");
|
24
24
|
const is_ecosystem_wallet_js_1 = require("../../../../wallets/ecosystem/is-ecosystem-wallet.js");
|
25
25
|
const types_js_1 = require("../../../../wallets/types.js");
|
26
|
+
const provider_js_1 = require("../../../core/account/provider.js");
|
26
27
|
const CustomThemeProvider_js_1 = require("../../../core/design-system/CustomThemeProvider.js");
|
27
28
|
const index_js_1 = require("../../../core/design-system/index.js");
|
28
29
|
const useChainQuery_js_1 = require("../../../core/hooks/others/useChainQuery.js");
|
@@ -33,6 +34,7 @@ const useAdminWallet_js_1 = require("../../../core/hooks/wallets/useAdminWallet.
|
|
33
34
|
const useDisconnect_js_1 = require("../../../core/hooks/wallets/useDisconnect.js");
|
34
35
|
const useSwitchActiveWalletChain_js_1 = require("../../../core/hooks/wallets/useSwitchActiveWalletChain.js");
|
35
36
|
const RootElementContext_js_1 = require("../../../core/providers/RootElementContext.js");
|
37
|
+
const account_js_1 = require("../../../core/utils/account.js");
|
36
38
|
const isSmartWallet_js_1 = require("../../../core/utils/isSmartWallet.js");
|
37
39
|
const wallet_js_1 = require("../../../core/utils/wallet.js");
|
38
40
|
const wallet_ui_states_provider_js_1 = require("../../providers/wallet-ui-states-provider.js");
|
@@ -56,7 +58,6 @@ const avatar_js_1 = require("../prebuilt/Account/avatar.js");
|
|
56
58
|
const balance_js_1 = require("../prebuilt/Account/balance.js");
|
57
59
|
const blobbie_js_1 = require("../prebuilt/Account/blobbie.js");
|
58
60
|
const name_js_1 = require("../prebuilt/Account/name.js");
|
59
|
-
const provider_js_1 = require("../prebuilt/Account/provider.js");
|
60
61
|
const icon_js_1 = require("../prebuilt/Chain/icon.js");
|
61
62
|
const name_js_2 = require("../prebuilt/Chain/name.js");
|
62
63
|
const provider_js_2 = require("../prebuilt/Chain/provider.js");
|
@@ -138,13 +139,13 @@ exports.ConnectedWalletDetails = ConnectedWalletDetails;
|
|
138
139
|
* @internal Exported for tests
|
139
140
|
*/
|
140
141
|
function detailsBtn_formatFiatBalanceForButton(props) {
|
141
|
-
return ` (${(0,
|
142
|
+
return ` (${(0, account_js_1.formatAccountFiatBalance)({ ...props, decimals: 0 })})`;
|
142
143
|
}
|
143
144
|
/**
|
144
145
|
* @internal Exported for test
|
145
146
|
*/
|
146
147
|
function detailsBtn_formatTokenBalanceForButton(props) {
|
147
|
-
return `${(0,
|
148
|
+
return `${(0, account_js_1.formatAccountTokenBalance)({ ...props, decimals: props.balance < 1 ? 5 : 4 })}`;
|
148
149
|
}
|
149
150
|
/**
|
150
151
|
* @internal Exported for tests only
|
@@ -412,7 +413,7 @@ function NetworkSwitcherButton(props) {
|
|
412
413
|
} }), style: {
|
413
414
|
width: `${index_js_1.iconSize.md}px`,
|
414
415
|
height: `${index_js_1.iconSize.md}px`,
|
415
|
-
} }), (0, jsx_runtime_1.jsx)(ChainActiveDot_js_1.ChainActiveDot, { className: "tw-chain-active-dot-details-button" })] }) }), (0, jsx_runtime_1.jsxs)(text_js_1.Text, { color: "primaryText", size: "md", multiline: true, children: [(0, jsx_runtime_1.jsx)(name_js_2.ChainName, { loadingComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "16px", width: "150px" }), fallbackComponent: (0, jsx_runtime_1.jsxs)("span", { children: ["Unknown chain #", walletChain?.id] }) }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { color: "secondaryText", size: "xs", children: showBalanceInFiat ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(balance_js_1.AccountBalance, { fallbackComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "70px" }), loadingComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "70px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => (0,
|
416
|
+
} }), (0, jsx_runtime_1.jsx)(ChainActiveDot_js_1.ChainActiveDot, { className: "tw-chain-active-dot-details-button" })] }) }), (0, jsx_runtime_1.jsxs)(text_js_1.Text, { color: "primaryText", size: "md", multiline: true, children: [(0, jsx_runtime_1.jsx)(name_js_2.ChainName, { loadingComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "16px", width: "150px" }), fallbackComponent: (0, jsx_runtime_1.jsxs)("span", { children: ["Unknown chain #", walletChain?.id] }) }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { color: "secondaryText", size: "xs", children: showBalanceInFiat ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(balance_js_1.AccountBalance, { fallbackComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "70px" }), loadingComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "70px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => (0, account_js_1.formatAccountTokenBalance)({ ...props, decimals: 7 }) }), " ", (0, jsx_runtime_1.jsx)(balance_js_1.AccountBalance, { loadingComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "30px" }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)], formatFn: (props) => ` (${(0, account_js_1.formatAccountFiatBalance)({ ...props, decimals: 3 })})`, showBalanceInFiat: "USD" })] })) : ((0, jsx_runtime_1.jsx)(balance_js_1.AccountBalance, { fallbackComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "100px" }), loadingComponent: (0, jsx_runtime_1.jsx)(Skeleton_js_1.Skeleton, { height: "1em", width: "100px" }), formatFn: (props) => (0, account_js_1.formatAccountTokenBalance)({ ...props, decimals: 7 }), chain: walletChain, tokenAddress: props.displayBalanceToken?.[Number(walletChain?.id)] })) })] })] }), (0, jsx_runtime_1.jsx)(exports.StyledChevronRightIcon, { width: index_js_1.iconSize.sm, height: index_js_1.iconSize.sm, style: {
|
416
417
|
flexShrink: 0,
|
417
418
|
marginLeft: "auto",
|
418
419
|
} })] }));
|