@nexus-cross/connect-kit-react 1.0.0-beta.1 → 1.0.1-beta.3
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/components/ConnectButton.d.ts +31 -28
- package/dist/components/ConnectButton.d.ts.map +1 -1
- package/dist/components/ConnectButton.js +39 -42
- package/dist/components/ConnectButton.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WalletInfoProps } from '@nexus-cross/dapp-ui';
|
|
2
2
|
/**
|
|
3
3
|
* ConnectButton이 사용하는 사용자 프로바이더 식별자.
|
|
4
4
|
* crossy-sdk의 OAuth 로그인(`google`/`apple`)과 실제 지갑 커넥터
|
|
@@ -18,12 +18,19 @@ export interface WalletUser {
|
|
|
18
18
|
/** 0x... 지갑 주소. */
|
|
19
19
|
address: string;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
/**
|
|
22
|
+
* `ConnectButton`에 전달 가능한 prop 중 내부에서 자동 계산되는 항목.
|
|
23
|
+
* 명시적으로 지정되면 자동값을 덮어쓴다.
|
|
24
|
+
*
|
|
25
|
+
* - `walletAddress`: 항상 내부에서 관리(wagmi / `user.address`)하므로 제외.
|
|
26
|
+
* - `children`: 내부에서 Trigger/Content를 조립하므로 제외.
|
|
27
|
+
*/
|
|
28
|
+
type ForwardedWalletInfoProps = Omit<WalletInfoProps, 'children' | 'walletAddress'>;
|
|
29
|
+
export interface ConnectButtonProps extends ForwardedWalletInfoProps {
|
|
30
|
+
/** Disconnected 상태에서 버튼에 표기될 라벨. 기본 `"Connect Wallet"`. */
|
|
23
31
|
label?: string;
|
|
32
|
+
/** 버튼 래퍼에 적용할 className. 지정 시 내장 스타일이 해제된다. */
|
|
24
33
|
className?: string;
|
|
25
|
-
theme?: 'light' | 'dark';
|
|
26
|
-
style?: WalletInfoStyle;
|
|
27
34
|
/**
|
|
28
35
|
* 사용자 정보 객체. 지정 시 `provider`/`name`/`address`가 자동 감지값보다
|
|
29
36
|
* 우선하여 trigger pill과 WalletInfo 헤더에 반영된다. 연결 상태 자체
|
|
@@ -31,34 +38,30 @@ export interface ConnectButtonProps {
|
|
|
31
38
|
*/
|
|
32
39
|
user?: WalletUser;
|
|
33
40
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* - `false`/`undefined`: 비활성
|
|
41
|
+
* @deprecated `showPortfolio`를 사용하라. 현재는 `showPortfolio`가 지정되지
|
|
42
|
+
* 않은 경우에만 fallback으로 쓰인다.
|
|
37
43
|
*/
|
|
38
44
|
enablePortfolio?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* WalletInfo가 사용할 API 환경. `enablePortfolio`가 true일 때 내부
|
|
41
|
-
* `WalletPortfolioBody`의 데이터 소스로도 전달된다. 기본값 `"production"`.
|
|
42
|
-
*/
|
|
43
|
-
env?: Environment;
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
* `
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* embedded CROSSx wallet — for every other connector, the chevron's
|
|
50
|
-
* default click handler shows an `alert("지갑 선택을 지원하지 않습니다.")`.
|
|
47
|
+
* `ConnectButton`은 내부에서 `WalletInfo`를 조립하지만, 호출측은 그 사실을
|
|
48
|
+
* 몰라도 되도록 `WalletInfoProps`를 전부 pass-through 한다
|
|
49
|
+
* (`walletAddress` / `children` 만 제외).
|
|
51
50
|
*
|
|
52
|
-
*
|
|
53
|
-
* -
|
|
54
|
-
*
|
|
55
|
-
* -
|
|
56
|
-
*
|
|
51
|
+
* 자동 계산 규칙 (명시적으로 주면 덮어쓰기):
|
|
52
|
+
* - `walletAddress` ← `user.address` ?? wagmi `address`
|
|
53
|
+
* - `connectorId` ← `user.provider` ?? `currentWallet` 매핑
|
|
54
|
+
* - `accountName` ← `user.name` ?? crossy-sdk getAddresses name
|
|
55
|
+
* - `onDisconnect` ← kit `disconnect()`
|
|
56
|
+
* - `onSelectWallet` ← OAuth embedded 세션일 때만 kit `selectWallet()`
|
|
57
|
+
* (외부 지갑은 기본 alert을 막기 위해 CSS로 숨김)
|
|
58
|
+
* - `showPortfolio` ← (legacy) `enablePortfolio`
|
|
59
|
+
* - `theme` ← kit provider의 `themeMode`
|
|
60
|
+
* - `env` ← `"production"`
|
|
57
61
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* exists at runtime but the bundled `.d.ts` is stale). When the package
|
|
61
|
-
* republishes its types, we can drop the cast below.
|
|
62
|
+
* Trigger 버튼(주소 옆 pill)은 호출측이 건드릴 수 없다 — 플랫폼 아이콘 + 축약
|
|
63
|
+
* 주소의 통일된 UX를 강제한다.
|
|
62
64
|
*/
|
|
63
|
-
export declare function ConnectButton({ label,
|
|
65
|
+
export declare function ConnectButton({ label, className, user, enablePortfolio, theme: themeProp, accountName: accountNameProp, connectorId: connectorIdProp, showPortfolio: showPortfolioProp, onDisconnect: onDisconnectProp, onSelectWallet: onSelectWalletProp, showBalance, env, ...walletInfoRest }: ConnectButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
export {};
|
|
64
67
|
//# sourceMappingURL=ConnectButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectButton.d.ts","sourceRoot":"","sources":["../../src/components/ConnectButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ConnectButton.d.ts","sourceRoot":"","sources":["../../src/components/ConnectButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAa5D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,QAAQ,EAAE,cAAc,CAAC;IACzB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,KAAK,wBAAwB,GAAG,IAAI,CAClC,eAAe,EACf,UAAU,GAAG,eAAe,CAC7B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB;IAClE,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA2ED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAwB,EACxB,SAAS,EACT,IAAI,EACJ,eAAe,EAEf,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,eAAe,EAC5B,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,cAAc,EAAE,kBAAkB,EAElC,WAAkB,EAClB,GAAkB,EAElB,GAAG,cAAc,EAClB,EAAE,kBAAkB,2CAqKpB"}
|
|
@@ -71,24 +71,31 @@ function resolveTriggerDisplay(walletId, loginType) {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
* `
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* embedded CROSSx wallet — for every other connector, the chevron's
|
|
78
|
-
* default click handler shows an `alert("지갑 선택을 지원하지 않습니다.")`.
|
|
74
|
+
* `ConnectButton`은 내부에서 `WalletInfo`를 조립하지만, 호출측은 그 사실을
|
|
75
|
+
* 몰라도 되도록 `WalletInfoProps`를 전부 pass-through 한다
|
|
76
|
+
* (`walletAddress` / `children` 만 제외).
|
|
79
77
|
*
|
|
80
|
-
*
|
|
81
|
-
* -
|
|
82
|
-
*
|
|
83
|
-
* -
|
|
84
|
-
*
|
|
78
|
+
* 자동 계산 규칙 (명시적으로 주면 덮어쓰기):
|
|
79
|
+
* - `walletAddress` ← `user.address` ?? wagmi `address`
|
|
80
|
+
* - `connectorId` ← `user.provider` ?? `currentWallet` 매핑
|
|
81
|
+
* - `accountName` ← `user.name` ?? crossy-sdk getAddresses name
|
|
82
|
+
* - `onDisconnect` ← kit `disconnect()`
|
|
83
|
+
* - `onSelectWallet` ← OAuth embedded 세션일 때만 kit `selectWallet()`
|
|
84
|
+
* (외부 지갑은 기본 alert을 막기 위해 CSS로 숨김)
|
|
85
|
+
* - `showPortfolio` ← (legacy) `enablePortfolio`
|
|
86
|
+
* - `theme` ← kit provider의 `themeMode`
|
|
87
|
+
* - `env` ← `"production"`
|
|
85
88
|
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* exists at runtime but the bundled `.d.ts` is stale). When the package
|
|
89
|
-
* republishes its types, we can drop the cast below.
|
|
89
|
+
* Trigger 버튼(주소 옆 pill)은 호출측이 건드릴 수 없다 — 플랫폼 아이콘 + 축약
|
|
90
|
+
* 주소의 통일된 UX를 강제한다.
|
|
90
91
|
*/
|
|
91
|
-
export function ConnectButton({ label = 'Connect Wallet',
|
|
92
|
+
export function ConnectButton({ label = 'Connect Wallet', className, user, enablePortfolio,
|
|
93
|
+
// 내부 자동 계산 대상 — 명시되면 우선순위로 사용
|
|
94
|
+
theme: themeProp, accountName: accountNameProp, connectorId: connectorIdProp, showPortfolio: showPortfolioProp, onDisconnect: onDisconnectProp, onSelectWallet: onSelectWalletProp,
|
|
95
|
+
// 기본값을 갖는 기존 prop
|
|
96
|
+
showBalance = true, env = 'production',
|
|
97
|
+
// 그 외 WalletInfoProps는 그대로 forward
|
|
98
|
+
...walletInfoRest }) {
|
|
92
99
|
const { address: wagmiAddress, isConnected, isConnecting, connector } = useAccount();
|
|
93
100
|
const { connectWallet, disconnect, selectWallet, currentWallet } = useCrossConnectKit();
|
|
94
101
|
// When mounted inside `<CrossConnectKitProvider>`, default the `theme` prop
|
|
@@ -116,17 +123,18 @@ export function ConnectButton({ label = 'Connect Wallet', showBalance = true, cl
|
|
|
116
123
|
const { loginType, accountName: autoAccountName } = useCrossxEmbeddedInfo({
|
|
117
124
|
walletId: currentWallet,
|
|
118
125
|
connector,
|
|
119
|
-
// user.address가 주어지면 해당 주소에 대한 SDK 메타데이터만 조회한다.
|
|
120
126
|
address,
|
|
121
127
|
});
|
|
122
128
|
// `user`가 주어졌을 때 SDK 기반 자동 감지값을 덮어쓴다.
|
|
123
129
|
const triggerDisplay = useMemo(() => userProviderMeta
|
|
124
130
|
? { name: userProviderMeta.name, iconUrl: userProviderMeta.iconUrl }
|
|
125
131
|
: resolveTriggerDisplay(currentWallet, loginType), [userProviderMeta, currentWallet, loginType]);
|
|
126
|
-
const
|
|
127
|
-
const
|
|
132
|
+
const resolvedAccountName = accountNameProp ?? user?.name ?? autoAccountName ?? undefined;
|
|
133
|
+
const autoConnectorId = userProviderMeta
|
|
128
134
|
? userProviderMeta.connectorId
|
|
129
135
|
: mapConnectorId(currentWallet);
|
|
136
|
+
const resolvedConnectorId = connectorIdProp ?? autoConnectorId;
|
|
137
|
+
const resolvedShowPortfolio = showPortfolioProp ?? !!enablePortfolio;
|
|
130
138
|
const handleConnectClick = useCallback(() => {
|
|
131
139
|
setUserInitiatedConnect(true);
|
|
132
140
|
connectWallet().catch((err) => {
|
|
@@ -137,12 +145,13 @@ export function ConnectButton({ label = 'Connect Wallet', showBalance = true, cl
|
|
|
137
145
|
const handleDisconnect = useCallback(() => {
|
|
138
146
|
disconnect();
|
|
139
147
|
}, [disconnect]);
|
|
140
|
-
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
// - `user`가
|
|
144
|
-
//
|
|
145
|
-
|
|
148
|
+
const resolvedOnDisconnect = onDisconnectProp ?? handleDisconnect;
|
|
149
|
+
// 지갑 선택 chevron은 crossy-sdk 2.0 OAuth embedded 세션일 때만 기본 동작이
|
|
150
|
+
// 의미 있다(`provider.sdk.selectWallet` 지원). 즉
|
|
151
|
+
// - `user`가 주어지면 provider ∈ { google, apple }일 때 기본 제공
|
|
152
|
+
// - `user`가 없으면 currentWallet === "cross_embedded"일 때 기본 제공
|
|
153
|
+
// 호출측이 `onSelectWallet`을 직접 넘기면 그 지갑 조건과 무관하게 존중한다.
|
|
154
|
+
const canAutoSelectWallet = user
|
|
146
155
|
? user.provider === 'google' || user.provider === 'apple'
|
|
147
156
|
: currentWallet === 'cross_embedded';
|
|
148
157
|
const handleSelectWallet = useCallback(() => {
|
|
@@ -150,10 +159,10 @@ export function ConnectButton({ label = 'Connect Wallet', showBalance = true, cl
|
|
|
150
159
|
console.error('[crossx-kit] selectWallet error:', err);
|
|
151
160
|
});
|
|
152
161
|
}, [selectWallet]);
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
const
|
|
162
|
+
const resolvedOnSelectWallet = onSelectWalletProp ?? (canAutoSelectWallet ? handleSelectWallet : undefined);
|
|
163
|
+
// 아무 핸들러도 없는 외부 지갑은 WalletInfo 기본 "지원하지 않습니다" alert을
|
|
164
|
+
// 띄우는 chevron을 CSS로 숨긴다.
|
|
165
|
+
const hideSelectWalletChevron = !resolvedOnSelectWallet;
|
|
157
166
|
// Show the spinner only when the user clicked and wagmi is actually
|
|
158
167
|
// mid-connect. Background `isConnecting` flaps without user intent
|
|
159
168
|
// (SDK session restoration, auto-reconnect) leave the button usable.
|
|
@@ -161,13 +170,13 @@ export function ConnectButton({ label = 'Connect Wallet', showBalance = true, cl
|
|
|
161
170
|
return (_jsxs("button", { type: "button", disabled: true, className: className, style: !className ? { ...ds.button, ...ds.buttonLoading } : undefined, children: [_jsx("span", { style: ds.spinner }), "Connecting..."] }));
|
|
162
171
|
}
|
|
163
172
|
if (isConnected && address) {
|
|
164
|
-
return (_jsxs("span", { "data-crossx-wallet-info":
|
|
173
|
+
return (_jsxs("span", { "data-crossx-wallet-info": hideSelectWalletChevron ? 'external' : 'embedded', children: [hideSelectWalletChevron && _jsx("style", { children: SELECT_WALLET_HIDE_CSS }), _jsxs(WalletInfo, { ...walletInfoRest, env: env, theme: theme, showBalance: showBalance, walletAddress: address, accountName: resolvedAccountName,
|
|
165
174
|
// NOTE: connectorName / connectorIconUrl intentionally NOT
|
|
166
175
|
// overridden — the "Connected with CROSSx" row inside the
|
|
167
176
|
// popover keeps cross-app-launcher's CONNECTOR_REGISTRY
|
|
168
177
|
// metadata (expected UX). Only the trigger button below uses
|
|
169
178
|
// our own platform-specific icon via `triggerDisplay`.
|
|
170
|
-
connectorId: resolvedConnectorId,
|
|
179
|
+
connectorId: resolvedConnectorId, showPortfolio: resolvedShowPortfolio, onDisconnect: resolvedOnDisconnect, onSelectWallet: resolvedOnSelectWallet, children: [_jsx(WalletInfo.Trigger, { asChild: true, children: _jsxs("button", { type: "button", className: className, style: !className ? ds.connectedBtn : undefined, "aria-label": `Connected with ${triggerDisplay?.name ?? 'wallet'}: ${shorten(address)}`, children: [triggerDisplay?.iconUrl ? (_jsx("img", { src: triggerDisplay.iconUrl, alt: "", width: 20, height: 20, style: ds.connectedIcon })) : (_jsx("span", { style: ds.connectedIconPlaceholder, "aria-hidden": "true" })), _jsx("span", { style: ds.connectedAddress, children: shorten(address) })] }) }), _jsx(WalletInfo.Content, { align: "end", sideOffset: 8 })] })] }));
|
|
171
180
|
}
|
|
172
181
|
return (_jsx("button", { type: "button", onClick: handleConnectClick, className: className, style: !className ? ds.button : undefined, children: label }));
|
|
173
182
|
}
|
|
@@ -207,18 +216,6 @@ const ds = {
|
|
|
207
216
|
borderRadius: '50%',
|
|
208
217
|
animation: 'crossx-spin 0.6s linear infinite',
|
|
209
218
|
},
|
|
210
|
-
disconnectBtn: {
|
|
211
|
-
width: '100%',
|
|
212
|
-
padding: '12px',
|
|
213
|
-
borderRadius: '10px',
|
|
214
|
-
border: '1px solid var(--wi-border-default, #2a2d3a)',
|
|
215
|
-
background: 'transparent',
|
|
216
|
-
color: 'var(--wi-texticon-secondary, #ffffffb2)',
|
|
217
|
-
fontWeight: 600,
|
|
218
|
-
fontSize: '14px',
|
|
219
|
-
cursor: 'pointer',
|
|
220
|
-
transition: 'background 0.15s',
|
|
221
|
-
},
|
|
222
219
|
connectedBtn: {
|
|
223
220
|
display: 'inline-flex',
|
|
224
221
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../src/components/ConnectButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../src/components/ConnectButton.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type { CrossConnectKitThemeContextValue } from './context/CrossConnectKit
|
|
|
11
11
|
export { useCrossxEmbeddedInfo } from './hooks/useCrossxEmbeddedInfo.js';
|
|
12
12
|
export type { CrossxEmbeddedInfo } from './hooks/useCrossxEmbeddedInfo.js';
|
|
13
13
|
export { WalletInfo, ConnectorId } from '@nexus-cross/dapp-ui';
|
|
14
|
-
export type { WalletInfoProps, WalletInfoStyle, WalletInfoTriggerProps, WalletInfoContentProps, } from '@nexus-cross/dapp-ui';
|
|
14
|
+
export type { WalletInfoProps, WalletInfoStyle, WalletInfoTriggerProps, WalletInfoContentProps, SendTransactionArgs, SendTransactionFn, } from '@nexus-cross/dapp-ui';
|
|
15
15
|
export { AppLauncher, AppLauncherTrigger, AppLauncherContent, useGlobalMenu, } from '@nexus-cross/dapp-ui';
|
|
16
16
|
export type { AppLauncherProps, AppLauncherTriggerProps, AppLauncherContentProps, GlobalMenu, GlobalMenuItem, GlobalMenuItemUrl, } from '@nexus-cross/dapp-ui';
|
|
17
17
|
export type { Account, WalletState, WalletId, WalletDescriptor, ChainBalance, ConnectorType, Theme, ThemeMode, ColorOverrides, ThemeTokens, ModalView, CrossConnectKitConfig, } from '@nexus-cross/connect-kit-core';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEvF,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAClD,YAAY,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAEjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEvF,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAClD,YAAY,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAEjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,EACT,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EACL,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAU/D,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AA8B9B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cross/connect-kit-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1-beta.3",
|
|
4
4
|
"description": "React components and hooks for @nexus-cross/connect-kit wallet connection",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@nexus-cross/connect-kit-core": "1.0.
|
|
23
|
-
"@nexus-cross/connect-kit-wagmi": "1.0.
|
|
24
|
-
"@nexus-cross/dapp-ui": "
|
|
22
|
+
"@nexus-cross/connect-kit-core": "1.0.1-beta.3",
|
|
23
|
+
"@nexus-cross/connect-kit-wagmi": "1.0.1-beta.3",
|
|
24
|
+
"@nexus-cross/dapp-ui": "1.0.1-beta.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/react": "^19.0.0",
|