@nexus-cross/dapp-ui 1.0.0 → 1.0.1-beta.2
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.cjs +14 -14
- package/dist/index.d.cts +191 -4
- package/dist/index.d.ts +191 -4
- package/dist/index.js +14 -14
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -124,6 +124,173 @@ interface SendTransactionArgs {
|
|
|
124
124
|
gas?: bigint;
|
|
125
125
|
}
|
|
126
126
|
type SendTransactionFn = (args: SendTransactionArgs) => Promise<`0x${string}`>;
|
|
127
|
+
interface PoolToken {
|
|
128
|
+
address: string;
|
|
129
|
+
symbol: string;
|
|
130
|
+
name: string;
|
|
131
|
+
decimals: number;
|
|
132
|
+
price: string;
|
|
133
|
+
}
|
|
134
|
+
interface RewardPool {
|
|
135
|
+
pool_id: number;
|
|
136
|
+
pool_address: string;
|
|
137
|
+
pool_name: string;
|
|
138
|
+
pool_type: "CrossPool" | "GamePool";
|
|
139
|
+
pool_status: string;
|
|
140
|
+
deposit_token: PoolToken;
|
|
141
|
+
reward_tokens: PoolToken[];
|
|
142
|
+
total_deposited: string;
|
|
143
|
+
total_users: number;
|
|
144
|
+
created_block: number;
|
|
145
|
+
created_time: number;
|
|
146
|
+
last_updated_block: number;
|
|
147
|
+
last_updated_time: number;
|
|
148
|
+
}
|
|
149
|
+
interface UserDepositInfo {
|
|
150
|
+
account: string;
|
|
151
|
+
pool_address: string;
|
|
152
|
+
pool_id: number;
|
|
153
|
+
pool_name: string;
|
|
154
|
+
deposited_amount: string;
|
|
155
|
+
claimable_reward: string;
|
|
156
|
+
total_rewards_claimed: string;
|
|
157
|
+
last_deposited_block: number;
|
|
158
|
+
last_updated_block: number;
|
|
159
|
+
last_updated_time: number;
|
|
160
|
+
last_withdrawn_block: number;
|
|
161
|
+
}
|
|
162
|
+
interface Billboard {
|
|
163
|
+
price: string;
|
|
164
|
+
change: string;
|
|
165
|
+
rate: number;
|
|
166
|
+
high24: string;
|
|
167
|
+
low24: string;
|
|
168
|
+
baseVolume: string;
|
|
169
|
+
quoteVolume: string;
|
|
170
|
+
}
|
|
171
|
+
interface DexPairInfo {
|
|
172
|
+
pair_name: string;
|
|
173
|
+
pair_address: string;
|
|
174
|
+
quote_address: string;
|
|
175
|
+
base_address: string;
|
|
176
|
+
quote_symbol: string;
|
|
177
|
+
base_symbol: string;
|
|
178
|
+
quote_name: string;
|
|
179
|
+
base_name: string;
|
|
180
|
+
quote_decimals: number;
|
|
181
|
+
base_decimals: number;
|
|
182
|
+
icon_image: string;
|
|
183
|
+
enabled: boolean;
|
|
184
|
+
active: boolean;
|
|
185
|
+
status: string;
|
|
186
|
+
billboard: Billboard;
|
|
187
|
+
tick_size: string;
|
|
188
|
+
lot_size: string;
|
|
189
|
+
}
|
|
190
|
+
interface DexOpenOrder {
|
|
191
|
+
order_id: number;
|
|
192
|
+
/** 0 = sell (ask), 1 = buy (bid) */
|
|
193
|
+
order_side: number;
|
|
194
|
+
owner: string;
|
|
195
|
+
pair: string;
|
|
196
|
+
price: string;
|
|
197
|
+
amount: string;
|
|
198
|
+
filled: string;
|
|
199
|
+
volume: string;
|
|
200
|
+
created_at: number;
|
|
201
|
+
created_block: number;
|
|
202
|
+
created_hash: string;
|
|
203
|
+
}
|
|
204
|
+
interface ForgePoolToken {
|
|
205
|
+
address: string;
|
|
206
|
+
name: string;
|
|
207
|
+
symbol: string;
|
|
208
|
+
image: string;
|
|
209
|
+
}
|
|
210
|
+
interface ForgePool {
|
|
211
|
+
lp_balance: string;
|
|
212
|
+
pair_address: string;
|
|
213
|
+
pool_ownership: string;
|
|
214
|
+
total_supply: string;
|
|
215
|
+
token: ForgePoolToken;
|
|
216
|
+
}
|
|
217
|
+
interface ForgeTokenDetail {
|
|
218
|
+
address: string;
|
|
219
|
+
name: string;
|
|
220
|
+
symbol: string;
|
|
221
|
+
image: string;
|
|
222
|
+
image_url: string;
|
|
223
|
+
pair_address: string;
|
|
224
|
+
wrapped_native: string;
|
|
225
|
+
virtual_reserve_b: string;
|
|
226
|
+
reserve_a: string;
|
|
227
|
+
reserve_b: string;
|
|
228
|
+
graduated: boolean;
|
|
229
|
+
current_price: string;
|
|
230
|
+
market_cap: string;
|
|
231
|
+
total_supply: string;
|
|
232
|
+
available_supply: string;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
type DexMarket = "cross" | "crossd" | "forge";
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* dapp-ui가 렌더하는 outlink의 대분류.
|
|
239
|
+
* `portfolio`는 세부적으로 `origin`으로 더 나뉜다.
|
|
240
|
+
*/
|
|
241
|
+
type OutlinkCategory = "terms" | "privacy" | "portfolio";
|
|
242
|
+
/**
|
|
243
|
+
* `onOutlink` 콜백에 전달되는 호출 컨텍스트. `category` + `origin`으로
|
|
244
|
+
* 호출측이 목적지별 분기를 할 수 있고, `portfolio-*`의 경우 해당 섹션의
|
|
245
|
+
* 원시 데이터를 `payload`로 내려보낸다.
|
|
246
|
+
*
|
|
247
|
+
* 새로운 포트폴리오 섹션이 추가될 때는 이 union에 variant 하나만 더하면
|
|
248
|
+
* 자동으로 호출측에도 타입이 좁혀져서 전달된다.
|
|
249
|
+
*/
|
|
250
|
+
type OutlinkContext = {
|
|
251
|
+
category: "terms";
|
|
252
|
+
origin: "terms";
|
|
253
|
+
} | {
|
|
254
|
+
category: "privacy";
|
|
255
|
+
origin: "privacy";
|
|
256
|
+
} | {
|
|
257
|
+
category: "portfolio";
|
|
258
|
+
origin: "portfolio-rewards";
|
|
259
|
+
payload: {
|
|
260
|
+
pool: RewardPool;
|
|
261
|
+
userDeposit?: UserDepositInfo;
|
|
262
|
+
};
|
|
263
|
+
} | {
|
|
264
|
+
category: "portfolio";
|
|
265
|
+
origin: "portfolio-forge";
|
|
266
|
+
payload: {
|
|
267
|
+
pool: ForgePool;
|
|
268
|
+
tokenDetail?: ForgeTokenDetail;
|
|
269
|
+
};
|
|
270
|
+
} | {
|
|
271
|
+
category: "portfolio";
|
|
272
|
+
origin: "portfolio-dex-order";
|
|
273
|
+
payload: {
|
|
274
|
+
market: DexMarket;
|
|
275
|
+
side: "buy" | "sell";
|
|
276
|
+
order: DexOpenOrder;
|
|
277
|
+
pair?: DexPairInfo;
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
type OutlinkOrigin = OutlinkContext["origin"];
|
|
281
|
+
/**
|
|
282
|
+
* outlink 가로채기 콜백. 반환값 규칙:
|
|
283
|
+
*
|
|
284
|
+
* - `string` → 해당 URL로 이동(원본을 변형 가능).
|
|
285
|
+
* - `null` → 이동 취소(창도 열리지 않음).
|
|
286
|
+
* - `undefined` → 원본 URL로 그대로 이동 (no-op).
|
|
287
|
+
* - `Promise<...>`→ 위 값 중 하나를 resolve. 비동기 동안 사용자 제스처를
|
|
288
|
+
* 유지하기 위해 빈 창이 먼저 열린 뒤 URL이 채워진다.
|
|
289
|
+
*
|
|
290
|
+
* middle-click · cmd-click · ctrl-click 등 브라우저 새 탭 단축 동작은
|
|
291
|
+
* 가로채지 않고 원본 `href`로 그대로 열린다.
|
|
292
|
+
*/
|
|
293
|
+
type OnOutlink = (link: string, ctx: OutlinkContext) => string | null | undefined | Promise<string | null | undefined>;
|
|
127
294
|
|
|
128
295
|
interface WalletInfoTriggerProps {
|
|
129
296
|
asChild?: boolean;
|
|
@@ -218,10 +385,20 @@ interface WalletInfoProps {
|
|
|
218
385
|
* wagmi의 `sendTransactionAsync`를 그대로 전달해도 호환된다.
|
|
219
386
|
*/
|
|
220
387
|
sendTransaction?: SendTransactionFn;
|
|
388
|
+
/**
|
|
389
|
+
* Terms/Privacy · 포트폴리오 섹션 등 외부 링크 이동을 가로채는 콜백.
|
|
390
|
+
* `(url, ctx) => newUrl | null | undefined | Promise<...>` 형태이며
|
|
391
|
+
* - `string` → 해당 URL로 이동(변형 가능)
|
|
392
|
+
* - `null` → 이동 취소
|
|
393
|
+
* - `undefined` → 원본 URL 유지
|
|
394
|
+
* middle-click · cmd-click은 가로채지 않고 원본 `href`로 열린다.
|
|
395
|
+
* `showPortfolio=true`일 때 내부 `WalletPortfolioBody`로도 릴레이된다.
|
|
396
|
+
*/
|
|
397
|
+
onOutlink?: OnOutlink;
|
|
221
398
|
style?: WalletInfoStyle;
|
|
222
399
|
children: React.ReactNode;
|
|
223
400
|
}
|
|
224
|
-
declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, qrLogoSrc, walletAddress, accountName, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
|
|
401
|
+
declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, qrLogoSrc, walletAddress, accountName, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, onOutlink, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
|
|
225
402
|
declare const WalletInfo: typeof WalletInfoRoot & {
|
|
226
403
|
Trigger: typeof WalletInfoTrigger;
|
|
227
404
|
Content: typeof WalletInfoContent;
|
|
@@ -425,9 +602,14 @@ interface WalletPortfolioProps {
|
|
|
425
602
|
* 종속되지 않도록 외부에서 주입한다.
|
|
426
603
|
*/
|
|
427
604
|
sendTransaction?: SendTransactionFn;
|
|
605
|
+
/**
|
|
606
|
+
* 포트폴리오 섹션 내부 외부 링크 이동을 가로채는 콜백.
|
|
607
|
+
* 반환값으로 URL 변형 / 취소가 가능하며 async도 지원한다.
|
|
608
|
+
*/
|
|
609
|
+
onOutlink?: OnOutlink;
|
|
428
610
|
children: React.ReactNode;
|
|
429
611
|
}
|
|
430
|
-
declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, sendTransaction, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
|
|
612
|
+
declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, sendTransaction, onOutlink, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
|
|
431
613
|
declare const WalletPortfolio: typeof WalletPortfolioRoot & {
|
|
432
614
|
Trigger: typeof WalletPortfolioTrigger;
|
|
433
615
|
Content: typeof WalletPortfolioContent;
|
|
@@ -455,8 +637,13 @@ interface WalletPortfolioBodyProps {
|
|
|
455
637
|
* `WalletPortfolioBody`를 단독 embed로 사용하는 경우 직접 전달해야 한다.
|
|
456
638
|
*/
|
|
457
639
|
sendTransaction?: SendTransactionFn;
|
|
640
|
+
/**
|
|
641
|
+
* 포트폴리오 섹션 내부 외부 링크 이동을 가로채는 콜백.
|
|
642
|
+
* 반환값으로 URL 변형 / 취소가 가능하며 async도 지원한다.
|
|
643
|
+
*/
|
|
644
|
+
onOutlink?: OnOutlink;
|
|
458
645
|
}
|
|
459
|
-
declare function WalletPortfolioBody({ env, theme, walletAddress, onBack, showHeader, variant, className, sendTransaction, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
|
|
646
|
+
declare function WalletPortfolioBody({ env, theme, walletAddress, onBack, showHeader, variant, className, sendTransaction, onOutlink, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
|
|
460
647
|
|
|
461
648
|
declare function CROSSxIcon(): react_jsx_runtime.JSX.Element;
|
|
462
649
|
declare function MetaMaskIcon(): react_jsx_runtime.JSX.Element;
|
|
@@ -683,4 +870,4 @@ declare const BINANCE_ICON: string;
|
|
|
683
870
|
declare const GOOGLE_ICON: string;
|
|
684
871
|
declare const APPLE_ICON: string;
|
|
685
872
|
|
|
686
|
-
export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, BINANCE_ICON, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, ConnectorId, type ConnectorMeta, type DrawerDirection$1 as DrawerDirection, type Environment, GOOGLE_ICON, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, METAMASK_ICON, type PreferredToken, type SendTransactionArgs, type SendTransactionFn, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
|
|
873
|
+
export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, BINANCE_ICON, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, ConnectorId, type ConnectorMeta, type DrawerDirection$1 as DrawerDirection, type Environment, GOOGLE_ICON, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, METAMASK_ICON, type OnOutlink, type OutlinkCategory, type OutlinkContext, type OutlinkOrigin, type PreferredToken, type SendTransactionArgs, type SendTransactionFn, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
|
package/dist/index.d.ts
CHANGED
|
@@ -124,6 +124,173 @@ interface SendTransactionArgs {
|
|
|
124
124
|
gas?: bigint;
|
|
125
125
|
}
|
|
126
126
|
type SendTransactionFn = (args: SendTransactionArgs) => Promise<`0x${string}`>;
|
|
127
|
+
interface PoolToken {
|
|
128
|
+
address: string;
|
|
129
|
+
symbol: string;
|
|
130
|
+
name: string;
|
|
131
|
+
decimals: number;
|
|
132
|
+
price: string;
|
|
133
|
+
}
|
|
134
|
+
interface RewardPool {
|
|
135
|
+
pool_id: number;
|
|
136
|
+
pool_address: string;
|
|
137
|
+
pool_name: string;
|
|
138
|
+
pool_type: "CrossPool" | "GamePool";
|
|
139
|
+
pool_status: string;
|
|
140
|
+
deposit_token: PoolToken;
|
|
141
|
+
reward_tokens: PoolToken[];
|
|
142
|
+
total_deposited: string;
|
|
143
|
+
total_users: number;
|
|
144
|
+
created_block: number;
|
|
145
|
+
created_time: number;
|
|
146
|
+
last_updated_block: number;
|
|
147
|
+
last_updated_time: number;
|
|
148
|
+
}
|
|
149
|
+
interface UserDepositInfo {
|
|
150
|
+
account: string;
|
|
151
|
+
pool_address: string;
|
|
152
|
+
pool_id: number;
|
|
153
|
+
pool_name: string;
|
|
154
|
+
deposited_amount: string;
|
|
155
|
+
claimable_reward: string;
|
|
156
|
+
total_rewards_claimed: string;
|
|
157
|
+
last_deposited_block: number;
|
|
158
|
+
last_updated_block: number;
|
|
159
|
+
last_updated_time: number;
|
|
160
|
+
last_withdrawn_block: number;
|
|
161
|
+
}
|
|
162
|
+
interface Billboard {
|
|
163
|
+
price: string;
|
|
164
|
+
change: string;
|
|
165
|
+
rate: number;
|
|
166
|
+
high24: string;
|
|
167
|
+
low24: string;
|
|
168
|
+
baseVolume: string;
|
|
169
|
+
quoteVolume: string;
|
|
170
|
+
}
|
|
171
|
+
interface DexPairInfo {
|
|
172
|
+
pair_name: string;
|
|
173
|
+
pair_address: string;
|
|
174
|
+
quote_address: string;
|
|
175
|
+
base_address: string;
|
|
176
|
+
quote_symbol: string;
|
|
177
|
+
base_symbol: string;
|
|
178
|
+
quote_name: string;
|
|
179
|
+
base_name: string;
|
|
180
|
+
quote_decimals: number;
|
|
181
|
+
base_decimals: number;
|
|
182
|
+
icon_image: string;
|
|
183
|
+
enabled: boolean;
|
|
184
|
+
active: boolean;
|
|
185
|
+
status: string;
|
|
186
|
+
billboard: Billboard;
|
|
187
|
+
tick_size: string;
|
|
188
|
+
lot_size: string;
|
|
189
|
+
}
|
|
190
|
+
interface DexOpenOrder {
|
|
191
|
+
order_id: number;
|
|
192
|
+
/** 0 = sell (ask), 1 = buy (bid) */
|
|
193
|
+
order_side: number;
|
|
194
|
+
owner: string;
|
|
195
|
+
pair: string;
|
|
196
|
+
price: string;
|
|
197
|
+
amount: string;
|
|
198
|
+
filled: string;
|
|
199
|
+
volume: string;
|
|
200
|
+
created_at: number;
|
|
201
|
+
created_block: number;
|
|
202
|
+
created_hash: string;
|
|
203
|
+
}
|
|
204
|
+
interface ForgePoolToken {
|
|
205
|
+
address: string;
|
|
206
|
+
name: string;
|
|
207
|
+
symbol: string;
|
|
208
|
+
image: string;
|
|
209
|
+
}
|
|
210
|
+
interface ForgePool {
|
|
211
|
+
lp_balance: string;
|
|
212
|
+
pair_address: string;
|
|
213
|
+
pool_ownership: string;
|
|
214
|
+
total_supply: string;
|
|
215
|
+
token: ForgePoolToken;
|
|
216
|
+
}
|
|
217
|
+
interface ForgeTokenDetail {
|
|
218
|
+
address: string;
|
|
219
|
+
name: string;
|
|
220
|
+
symbol: string;
|
|
221
|
+
image: string;
|
|
222
|
+
image_url: string;
|
|
223
|
+
pair_address: string;
|
|
224
|
+
wrapped_native: string;
|
|
225
|
+
virtual_reserve_b: string;
|
|
226
|
+
reserve_a: string;
|
|
227
|
+
reserve_b: string;
|
|
228
|
+
graduated: boolean;
|
|
229
|
+
current_price: string;
|
|
230
|
+
market_cap: string;
|
|
231
|
+
total_supply: string;
|
|
232
|
+
available_supply: string;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
type DexMarket = "cross" | "crossd" | "forge";
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* dapp-ui가 렌더하는 outlink의 대분류.
|
|
239
|
+
* `portfolio`는 세부적으로 `origin`으로 더 나뉜다.
|
|
240
|
+
*/
|
|
241
|
+
type OutlinkCategory = "terms" | "privacy" | "portfolio";
|
|
242
|
+
/**
|
|
243
|
+
* `onOutlink` 콜백에 전달되는 호출 컨텍스트. `category` + `origin`으로
|
|
244
|
+
* 호출측이 목적지별 분기를 할 수 있고, `portfolio-*`의 경우 해당 섹션의
|
|
245
|
+
* 원시 데이터를 `payload`로 내려보낸다.
|
|
246
|
+
*
|
|
247
|
+
* 새로운 포트폴리오 섹션이 추가될 때는 이 union에 variant 하나만 더하면
|
|
248
|
+
* 자동으로 호출측에도 타입이 좁혀져서 전달된다.
|
|
249
|
+
*/
|
|
250
|
+
type OutlinkContext = {
|
|
251
|
+
category: "terms";
|
|
252
|
+
origin: "terms";
|
|
253
|
+
} | {
|
|
254
|
+
category: "privacy";
|
|
255
|
+
origin: "privacy";
|
|
256
|
+
} | {
|
|
257
|
+
category: "portfolio";
|
|
258
|
+
origin: "portfolio-rewards";
|
|
259
|
+
payload: {
|
|
260
|
+
pool: RewardPool;
|
|
261
|
+
userDeposit?: UserDepositInfo;
|
|
262
|
+
};
|
|
263
|
+
} | {
|
|
264
|
+
category: "portfolio";
|
|
265
|
+
origin: "portfolio-forge";
|
|
266
|
+
payload: {
|
|
267
|
+
pool: ForgePool;
|
|
268
|
+
tokenDetail?: ForgeTokenDetail;
|
|
269
|
+
};
|
|
270
|
+
} | {
|
|
271
|
+
category: "portfolio";
|
|
272
|
+
origin: "portfolio-dex-order";
|
|
273
|
+
payload: {
|
|
274
|
+
market: DexMarket;
|
|
275
|
+
side: "buy" | "sell";
|
|
276
|
+
order: DexOpenOrder;
|
|
277
|
+
pair?: DexPairInfo;
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
type OutlinkOrigin = OutlinkContext["origin"];
|
|
281
|
+
/**
|
|
282
|
+
* outlink 가로채기 콜백. 반환값 규칙:
|
|
283
|
+
*
|
|
284
|
+
* - `string` → 해당 URL로 이동(원본을 변형 가능).
|
|
285
|
+
* - `null` → 이동 취소(창도 열리지 않음).
|
|
286
|
+
* - `undefined` → 원본 URL로 그대로 이동 (no-op).
|
|
287
|
+
* - `Promise<...>`→ 위 값 중 하나를 resolve. 비동기 동안 사용자 제스처를
|
|
288
|
+
* 유지하기 위해 빈 창이 먼저 열린 뒤 URL이 채워진다.
|
|
289
|
+
*
|
|
290
|
+
* middle-click · cmd-click · ctrl-click 등 브라우저 새 탭 단축 동작은
|
|
291
|
+
* 가로채지 않고 원본 `href`로 그대로 열린다.
|
|
292
|
+
*/
|
|
293
|
+
type OnOutlink = (link: string, ctx: OutlinkContext) => string | null | undefined | Promise<string | null | undefined>;
|
|
127
294
|
|
|
128
295
|
interface WalletInfoTriggerProps {
|
|
129
296
|
asChild?: boolean;
|
|
@@ -218,10 +385,20 @@ interface WalletInfoProps {
|
|
|
218
385
|
* wagmi의 `sendTransactionAsync`를 그대로 전달해도 호환된다.
|
|
219
386
|
*/
|
|
220
387
|
sendTransaction?: SendTransactionFn;
|
|
388
|
+
/**
|
|
389
|
+
* Terms/Privacy · 포트폴리오 섹션 등 외부 링크 이동을 가로채는 콜백.
|
|
390
|
+
* `(url, ctx) => newUrl | null | undefined | Promise<...>` 형태이며
|
|
391
|
+
* - `string` → 해당 URL로 이동(변형 가능)
|
|
392
|
+
* - `null` → 이동 취소
|
|
393
|
+
* - `undefined` → 원본 URL 유지
|
|
394
|
+
* middle-click · cmd-click은 가로채지 않고 원본 `href`로 열린다.
|
|
395
|
+
* `showPortfolio=true`일 때 내부 `WalletPortfolioBody`로도 릴레이된다.
|
|
396
|
+
*/
|
|
397
|
+
onOutlink?: OnOutlink;
|
|
221
398
|
style?: WalletInfoStyle;
|
|
222
399
|
children: React.ReactNode;
|
|
223
400
|
}
|
|
224
|
-
declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, qrLogoSrc, walletAddress, accountName, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
|
|
401
|
+
declare function WalletInfoRoot({ env, theme, mobileBreakpoint, drawerDirection, modal, showBalance, showForgeToken, showGameToken, showQR, qrLogoSrc, walletAddress, accountName, profileImageUrl, connectorId, connectorName: connectorNameProp, connectorIconUrl: connectorIconUrlProp, preferredTokens, onSelectWallet, onCopyAddress, onDisconnect, disconnectLabel, termsUrl, termsLabel, privacyUrl, privacyLabel, open: propOpen, onOpenChange, showPortfolio, portfolioTitle, showTotalAssets, totalAssetsLabel, sendTransaction, onOutlink, style, children, }: WalletInfoProps): react_jsx_runtime.JSX.Element;
|
|
225
402
|
declare const WalletInfo: typeof WalletInfoRoot & {
|
|
226
403
|
Trigger: typeof WalletInfoTrigger;
|
|
227
404
|
Content: typeof WalletInfoContent;
|
|
@@ -425,9 +602,14 @@ interface WalletPortfolioProps {
|
|
|
425
602
|
* 종속되지 않도록 외부에서 주입한다.
|
|
426
603
|
*/
|
|
427
604
|
sendTransaction?: SendTransactionFn;
|
|
605
|
+
/**
|
|
606
|
+
* 포트폴리오 섹션 내부 외부 링크 이동을 가로채는 콜백.
|
|
607
|
+
* 반환값으로 URL 변형 / 취소가 가능하며 async도 지원한다.
|
|
608
|
+
*/
|
|
609
|
+
onOutlink?: OnOutlink;
|
|
428
610
|
children: React.ReactNode;
|
|
429
611
|
}
|
|
430
|
-
declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, sendTransaction, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
|
|
612
|
+
declare function WalletPortfolioRoot({ env, theme, walletAddress, open: propOpen, onOpenChange, sendTransaction, onOutlink, children, }: WalletPortfolioProps): react_jsx_runtime.JSX.Element;
|
|
431
613
|
declare const WalletPortfolio: typeof WalletPortfolioRoot & {
|
|
432
614
|
Trigger: typeof WalletPortfolioTrigger;
|
|
433
615
|
Content: typeof WalletPortfolioContent;
|
|
@@ -455,8 +637,13 @@ interface WalletPortfolioBodyProps {
|
|
|
455
637
|
* `WalletPortfolioBody`를 단독 embed로 사용하는 경우 직접 전달해야 한다.
|
|
456
638
|
*/
|
|
457
639
|
sendTransaction?: SendTransactionFn;
|
|
640
|
+
/**
|
|
641
|
+
* 포트폴리오 섹션 내부 외부 링크 이동을 가로채는 콜백.
|
|
642
|
+
* 반환값으로 URL 변형 / 취소가 가능하며 async도 지원한다.
|
|
643
|
+
*/
|
|
644
|
+
onOutlink?: OnOutlink;
|
|
458
645
|
}
|
|
459
|
-
declare function WalletPortfolioBody({ env, theme, walletAddress, onBack, showHeader, variant, className, sendTransaction, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
|
|
646
|
+
declare function WalletPortfolioBody({ env, theme, walletAddress, onBack, showHeader, variant, className, sendTransaction, onOutlink, }: WalletPortfolioBodyProps): react_jsx_runtime.JSX.Element;
|
|
460
647
|
|
|
461
648
|
declare function CROSSxIcon(): react_jsx_runtime.JSX.Element;
|
|
462
649
|
declare function MetaMaskIcon(): react_jsx_runtime.JSX.Element;
|
|
@@ -683,4 +870,4 @@ declare const BINANCE_ICON: string;
|
|
|
683
870
|
declare const GOOGLE_ICON: string;
|
|
684
871
|
declare const APPLE_ICON: string;
|
|
685
872
|
|
|
686
|
-
export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, BINANCE_ICON, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, ConnectorId, type ConnectorMeta, type DrawerDirection$1 as DrawerDirection, type Environment, GOOGLE_ICON, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, METAMASK_ICON, type PreferredToken, type SendTransactionArgs, type SendTransactionFn, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
|
|
873
|
+
export { APPLE_ICON, AppLauncher, AppLauncherContent, type AppLauncherContentProps, type AppLauncherProps, AppLauncherTrigger, type AppLauncherTriggerProps, BINANCE_ICON, CONNECTOR_REGISTRY, CROSSX_ICON, type ChainId, ConnectButton, type ConnectButtonProps, ConnectorId, type ConnectorMeta, type DrawerDirection$1 as DrawerDirection, type Environment, GOOGLE_ICON, type GlobalMenu, type GlobalMenuItem, type GlobalMenuItemUrl, METAMASK_ICON, type OnOutlink, type OutlinkCategory, type OutlinkContext, type OutlinkOrigin, type PreferredToken, type SendTransactionArgs, type SendTransactionFn, TOKEN_STATS_QUERY_KEY, type Theme, type TokenBalance, type TokenBalanceResponse, type TokenStats, type TokenStatsResponse, USER_BALANCE_QUERY_KEY, WALLET_REGISTRY, type WalletConfig, WalletConnectModal, type WalletConnectModalContentProps, type WalletConnectModalProps, type WalletConnectModalStyle, type WalletConnectModalTriggerProps, type WalletHandlers, type WalletId, WalletInfo, type WalletInfoContentProps, type WalletInfoFooterProps, type WalletInfoNavProps, type WalletInfoProps, type WalletInfoStyle, type WalletInfoTriggerProps, WalletPortfolio, WalletPortfolioBody, type WalletPortfolioBodyProps, type WalletPortfolioContentProps, type WalletPortfolioProps, type WalletPortfolioTriggerProps, type WalletProvider, useGlobalMenu, useTokenBalance, useTokenStats, useWalletDetect };
|