@edgex-web/components 0.1.0-beta.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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +325 -0
  3. package/dist/components/Deposit/index.d.ts +13 -0
  4. package/dist/components/Deposit/index.d.ts.map +1 -0
  5. package/dist/components/Deposit/src/ChainSelector.d.ts +35 -0
  6. package/dist/components/Deposit/src/ChainSelector.d.ts.map +1 -0
  7. package/dist/components/Deposit/src/ChainTokenSelector.d.ts +25 -0
  8. package/dist/components/Deposit/src/ChainTokenSelector.d.ts.map +1 -0
  9. package/dist/components/Deposit/src/Deposit.d.ts +17 -0
  10. package/dist/components/Deposit/src/Deposit.d.ts.map +1 -0
  11. package/dist/components/Deposit/src/DepositManager.d.ts +10 -0
  12. package/dist/components/Deposit/src/DepositManager.d.ts.map +1 -0
  13. package/dist/components/Deposit/src/EVMWalletView.d.ts +18 -0
  14. package/dist/components/Deposit/src/EVMWalletView.d.ts.map +1 -0
  15. package/dist/components/Deposit/src/MPCWalletView.d.ts +14 -0
  16. package/dist/components/Deposit/src/MPCWalletView.d.ts.map +1 -0
  17. package/dist/components/Deposit/src/WalletProvider.d.ts +23 -0
  18. package/dist/components/Deposit/src/WalletProvider.d.ts.map +1 -0
  19. package/dist/components/Deposit/src/components.d.ts +89 -0
  20. package/dist/components/Deposit/src/components.d.ts.map +1 -0
  21. package/dist/components/Deposit/src/index.d.ts +5 -0
  22. package/dist/components/Deposit/src/index.d.ts.map +1 -0
  23. package/dist/components/Deposit/src/utils.d.ts +45 -0
  24. package/dist/components/Deposit/src/utils.d.ts.map +1 -0
  25. package/dist/components/Deposit/src/walletAdapters.d.ts +67 -0
  26. package/dist/components/Deposit/src/walletAdapters.d.ts.map +1 -0
  27. package/dist/components/Deposit/types/index.d.ts +90 -0
  28. package/dist/components/Deposit/types/index.d.ts.map +1 -0
  29. package/dist/components/Deposit/types/wallet-hooks.d.ts +78 -0
  30. package/dist/components/Deposit/types/wallet-hooks.d.ts.map +1 -0
  31. package/dist/components/Provider/index.d.ts +11 -0
  32. package/dist/components/Provider/index.d.ts.map +1 -0
  33. package/dist/components/Withdraw/index.d.ts +11 -0
  34. package/dist/components/Withdraw/index.d.ts.map +1 -0
  35. package/dist/hooks/index.d.ts +9 -0
  36. package/dist/hooks/index.d.ts.map +1 -0
  37. package/dist/index.d.ts +7 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.esm.js +7259 -0
  40. package/dist/index.esm.js.map +1 -0
  41. package/dist/index.umd.js +123 -0
  42. package/dist/index.umd.js.map +1 -0
  43. package/dist/test/setup.d.ts +2 -0
  44. package/dist/test/setup.d.ts.map +1 -0
  45. package/dist/types/index.d.ts +114 -0
  46. package/dist/types/index.d.ts.map +1 -0
  47. package/package.json +98 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 edgex-tech
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,325 @@
1
+ # @edgex-web/components
2
+
3
+ > ⚠️ **Beta 版本警告**: 这是一个 Beta 版本,功能还在完善中,仅用于测试和开发环境。
4
+
5
+ EdgeX Universal UI Components Library - Reusable React components for deposit, withdraw and other common UI patterns
6
+
7
+ ## 🎯 项目概述
8
+
9
+ 基于 RFC FE-01 设计,EdgeX Components 是一个独立的 npm 包,旨在解决 EdgeX 项目中 deposit/withdraw 组件 70% 代码重复的问题。采用事件驱动架构,支持全局调用能力。
10
+
11
+ ## ✨ 特性
12
+
13
+ - 🚀 **现代化技术栈**: TypeScript + React + Vite
14
+ - 📦 **独立 npm 包**: 可在任何 React 项目中使用
15
+ - 🎪 **事件驱动**: 支持全局调用 `openDeposit()` / `openWithdraw()`
16
+ - 🔗 **MPC 钱包支持**: 链-代币关联,智能代币切换
17
+ - 🎨 **主题配置**: 支持 light/dark 主题切换
18
+ - 🌍 **国际化**: 多语言支持
19
+ - 🧪 **高测试覆盖**: 目标 85%+ 测试覆盖率
20
+ - 📚 **完整文档**: API 文档和使用指南
21
+
22
+ ## 📦 安装
23
+
24
+ ### Beta 版本 (推荐用于测试)
25
+
26
+ ```bash
27
+ # 使用 npm
28
+ npm install @edgex-web/components@beta
29
+
30
+ # 使用 yarn
31
+ yarn add @edgex-web/components@beta
32
+
33
+ # 使用 pnpm
34
+ pnpm add @edgex-web/components@beta
35
+ ```
36
+
37
+ ### 稳定版本 (暂未发布)
38
+
39
+ ```bash
40
+ # 使用 npm
41
+ npm install @edgex-web/components
42
+
43
+ # 使用 yarn
44
+ yarn add @edgex-web/components
45
+
46
+ # 使用 pnpm
47
+ pnpm add @edgex-web/components
48
+ ```
49
+
50
+ ## 🏗️ 技术架构
51
+
52
+ ```
53
+ edgex-components/
54
+ ├── src/
55
+ │ ├── components/ # React 组件
56
+ │ │ ├── Provider/ # 全局配置提供者
57
+ │ │ ├── Deposit/ # 充值组件
58
+ │ │ └── Withdraw/ # 提现组件
59
+ │ ├── hooks/ # React Hooks
60
+ │ ├── types/ # TypeScript 类型定义
61
+ │ └── test/ # 测试配置
62
+ ├── dev/ # 开发环境
63
+ └── dist/ # 构建输出
64
+ ```
65
+
66
+ ## 🚀 快速开始
67
+
68
+ ### 安装依赖
69
+
70
+ ```bash
71
+ # 使用 yarn (推荐)
72
+ yarn install
73
+
74
+ # 或使用 npm
75
+ npm install
76
+ ```
77
+
78
+ ### 开发模式
79
+
80
+ ```bash
81
+ # 启动开发服务器
82
+ yarn dev
83
+
84
+ # 访问 http://localhost:5173 查看组件演示
85
+ ```
86
+
87
+ ### 构建
88
+
89
+ ```bash
90
+ # 构建生产版本
91
+ yarn build
92
+
93
+ # 类型检查
94
+ yarn type-check
95
+
96
+ # 运行测试
97
+ yarn test
98
+
99
+ # 测试覆盖率
100
+ yarn test:coverage
101
+
102
+ # 代码检查
103
+ yarn lint
104
+
105
+ # 代码格式化
106
+ yarn format
107
+ ```
108
+
109
+ ## 📖 使用方法
110
+
111
+ ### 基本用法
112
+
113
+ ```tsx
114
+ import React from 'react'
115
+ import { ComponentProvider, useDeposit, useWithdraw } from '@edgex-web/components'
116
+
117
+ // 1. 在应用根组件配置 Provider
118
+ const App = () => {
119
+ const config = {
120
+ theme: 'light',
121
+ locale: 'en',
122
+ apiBaseUrl: 'https://api.edgex.com',
123
+ debug: true
124
+ }
125
+
126
+ return (
127
+ <ComponentProvider config={config}>
128
+ <YourApp />
129
+ </ComponentProvider>
130
+ )
131
+ }
132
+
133
+ // 2. 在任意组件中使用
134
+ const TradeComponent = () => {
135
+ const { openDeposit } = useDeposit()
136
+ const { openWithdraw } = useWithdraw()
137
+
138
+ const handleDeposit = () => {
139
+ openDeposit({
140
+ type: 'trade',
141
+ symbol: 'USDT',
142
+ onSuccess: (result) => console.log('Success:', result),
143
+ onError: (error) => console.error('Error:', error),
144
+ onCancel: () => console.log('Cancelled')
145
+ })
146
+ }
147
+
148
+ return <button onClick={handleDeposit}>充值</button>
149
+ }
150
+ ```
151
+
152
+ ### 事件驱动 API (推荐)
153
+
154
+ ```tsx
155
+ import React from 'react'
156
+ import {
157
+ DepositManager,
158
+ openDeposit,
159
+ closeDeposit,
160
+ MPCChainTokenSelector
161
+ } from '@edgex-web/components'
162
+
163
+ // 1. 在应用根组件添加 DepositManager
164
+ function App() {
165
+ return (
166
+ <div>
167
+ <YourAppContent />
168
+ <DepositManager />
169
+ </div>
170
+ )
171
+ }
172
+
173
+ // 2. 在任意位置调用
174
+ function MyComponent() {
175
+ const handleDeposit = () => {
176
+ openDeposit({
177
+ curSelectToken: 'USDT',
178
+ depositAmount: '100',
179
+ onDeposit: async () => {
180
+ console.log('Deposit initiated!')
181
+ }
182
+ })
183
+ }
184
+
185
+ return <button onClick={handleDeposit}>Open Deposit</button>
186
+ }
187
+ ```
188
+
189
+ ### MPC 钱包链-代币关联
190
+
191
+ ```tsx
192
+ import React, { useState } from 'react'
193
+ import { MPCChainTokenSelector, type ChainWithTokens } from '@edgex-web/components'
194
+
195
+ // 定义链-代币关联数据
196
+ const mpcChainList: ChainWithTokens[] = [
197
+ {
198
+ chainId: 1,
199
+ chain: 'Ethereum',
200
+ chainIconUrl: 'https://static.edgex.exchange/icons/logo/ethereum.svg',
201
+ allowDeposit: true,
202
+ blockTime: 12,
203
+ txConfirm: 12,
204
+ tokenList: [
205
+ {
206
+ token: 'USDT',
207
+ symbol: 'USDT',
208
+ iconUrl: 'https://static.edgex.exchange/icons/coin/USDT.svg',
209
+ decimals: 6,
210
+ tokenAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
211
+ },
212
+ ],
213
+ },
214
+ {
215
+ chainId: 42161,
216
+ chain: 'Arbitrum',
217
+ chainIconUrl: 'https://static.edgex.exchange/icons/logo/arbitrum.svg',
218
+ allowDeposit: true,
219
+ blockTime: 1,
220
+ txConfirm: 1,
221
+ tokenList: [
222
+ {
223
+ token: 'USDT',
224
+ symbol: 'USDT',
225
+ iconUrl: 'https://static.edgex.exchange/icons/coin/USDT.svg',
226
+ decimals: 6,
227
+ tokenAddress: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9',
228
+ },
229
+ {
230
+ token: 'USDC',
231
+ symbol: 'USDC',
232
+ iconUrl: 'https://static.edgex.exchange/icons/coin/USDC.svg',
233
+ decimals: 6,
234
+ tokenAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
235
+ },
236
+ ],
237
+ },
238
+ ]
239
+
240
+ function MPCWalletComponent() {
241
+ const [currentChainId, setCurrentChainId] = useState(1)
242
+ const [currentToken, setCurrentToken] = useState('USDT')
243
+
244
+ const currentActiveChain = mpcChainList.find(
245
+ chain => chain.chainId === currentChainId
246
+ ) || mpcChainList[0]
247
+
248
+ return (
249
+ <MPCChainTokenSelector
250
+ currentActiveChain={currentActiveChain}
251
+ chainList={mpcChainList}
252
+ onChainChange={setCurrentChainId}
253
+ curSelectToken={currentToken}
254
+ onTokenChange={setCurrentToken}
255
+ t={(key) => key} // 翻译函数
256
+ />
257
+ )
258
+ }
259
+ ```
260
+
261
+ ## 🛠️ 开发工具链
262
+
263
+ ### 已配置的工具
264
+
265
+ - **构建工具**: Vite 5.x + Rollup
266
+ - **类型系统**: TypeScript 5.x
267
+ - **测试框架**: Vitest + Testing Library
268
+ - **代码质量**: ESLint + Prettier
269
+ - **Git Hooks**: Husky + lint-staged
270
+ - **包管理**: 支持 npm/yarn/pnpm
271
+
272
+ ### 脚本命令
273
+
274
+ | 命令 | 描述 |
275
+ |------|------|
276
+ | `yarn dev` | 启动开发服务器 |
277
+ | `yarn build` | 构建生产版本 |
278
+ | `yarn test` | 运行测试 |
279
+ | `yarn test:coverage` | 生成测试覆盖率报告 |
280
+ | `yarn lint` | 代码检查 |
281
+ | `yarn format` | 代码格式化 |
282
+ | `yarn type-check` | TypeScript 类型检查 |
283
+
284
+ ## 📋 开发状态
285
+
286
+ ### ✅ 已完成
287
+
288
+ - [x] 项目基础架构搭建
289
+ - [x] TypeScript 配置
290
+ - [x] 构建工具配置 (Vite + Rollup)
291
+ - [x] 测试框架配置 (Vitest + Testing Library)
292
+ - [x] 代码质量工具 (ESLint + Prettier + Husky)
293
+ - [x] 基础组件结构
294
+ - [x] 开发环境设置
295
+ - [x] 核心组件开发 (Deposit/Withdraw)
296
+ - [x] 事件驱动系统实现
297
+ - [x] MPC 钱包链-代币关联功能
298
+ - [x] 智能代币切换逻辑
299
+ - [x] 完整测试覆盖
300
+ - [x] npm 包发布配置
301
+
302
+ ### 🚧 进行中
303
+
304
+ - [ ] API 文档完善
305
+ - [ ] 集成指南编写
306
+ - [ ] 性能优化
307
+
308
+ ### 📅 计划中
309
+
310
+ - [ ] Storybook 集成
311
+ - [ ] 更多钱包类型支持
312
+ - [ ] 主题系统增强
313
+ - [ ] 国际化完善
314
+
315
+ ## 🎯 RFC FE-01 目标
316
+
317
+ - **减少代码重复**: 从 70% 降至 <10%
318
+ - **提升测试覆盖**: 达到 85%+
319
+ - **统一用户体验**: 一致的 UI 和交互
320
+ - **全局调用能力**: 支持任意位置唤起弹框
321
+ - **开发效率**: 降低维护成本 60-80%
322
+
323
+ ## 📄 许可证
324
+
325
+ MIT License - 详见 [LICENSE](./LICENSE) 文件
@@ -0,0 +1,13 @@
1
+ export { Deposit } from './src/index';
2
+ export { default as DialogDeposit } from './src/Deposit';
3
+ export { DepositManager, openDeposit, closeDeposit, useDeposit, } from './src/DepositManager';
4
+ export { WalletProvider, useWalletHooks, useWalletAccount, useWalletBalance, useWalletConnect, useWalletWriteContract, useWalletSwitchChain, useWalletWaitForTransaction, useWalletReadContract, } from './src/WalletProvider';
5
+ export { ChainTokenSelector } from './src/ChainTokenSelector';
6
+ export { MPCWalletView } from './src/MPCWalletView';
7
+ export { EVMWalletView } from './src/EVMWalletView';
8
+ export { createWalletAdapter } from './src/walletAdapters';
9
+ export { QRCodeSVG, CopyToClipboard, Icon, Tooltip, twMerge, } from './src/components';
10
+ export type { DepositProps, OpenDepositOptions, DepositAPI } from './types';
11
+ export type { WalletHooks, AccountInfo, BalanceInfo, WriteContractConfig, WriteContractResult, TransactionWaitResult, ConnectWalletResult, SwitchChainResult, } from './types/wallet-hooks';
12
+ export { createMockWalletHooks, createWagmiAdapter } from './types/wallet-hooks';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Deposit/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAGxD,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,GACX,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EACL,SAAS,EACT,eAAe,EACf,IAAI,EACJ,OAAO,EACP,OAAO,GACR,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC3E,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface Chain {
4
+ chainId: number;
5
+ chain: string;
6
+ chainIconUrl?: string;
7
+ allowDeposit?: boolean;
8
+ blockTime?: number;
9
+ txConfirm?: number;
10
+ }
11
+ interface ChainSelectorProps {
12
+ chains: Chain[];
13
+ selectedChain: Chain;
14
+ onChainChange: (chain: Chain) => void;
15
+ disabled?: boolean;
16
+ className?: string;
17
+ }
18
+ export declare const ChainSelector: React.FC<ChainSelectorProps>;
19
+ export interface Token {
20
+ token: string;
21
+ iconUrl?: string;
22
+ decimals: number;
23
+ tokenAddress: string;
24
+ symbol?: string;
25
+ }
26
+ interface TokenSelectorProps {
27
+ tokens: Token[];
28
+ selectedToken: Token;
29
+ onTokenChange: (token: Token) => void;
30
+ disabled?: boolean;
31
+ className?: string;
32
+ }
33
+ export declare const TokenSelector: React.FC<TokenSelectorProps>;
34
+ export {};
35
+ //# sourceMappingURL=ChainSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/ChainSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,EAAE,KAAK,CAAA;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkJtD,CAAA;AAGD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,EAAE,KAAK,CAAA;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmItD,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { default as React } from 'react';
2
+ import { Chain, Token } from './ChainSelector';
3
+ import { ChainWithTokens } from '../../../types';
4
+
5
+ interface ChainTokenSelectorProps {
6
+ currentActiveChain: Chain;
7
+ chains: Chain[];
8
+ onChainChange: (chainId: number) => void;
9
+ curSelectToken: string;
10
+ tokens: Token[];
11
+ onTokenChange: (token: string) => void;
12
+ t: (key: string, params?: any) => string;
13
+ }
14
+ interface MPCChainTokenSelectorProps {
15
+ currentActiveChain: ChainWithTokens;
16
+ chainList: ChainWithTokens[];
17
+ onChainChange: (chainId: number) => void;
18
+ curSelectToken: string;
19
+ onTokenChange: (token: string) => void;
20
+ t: (key: string, params?: any) => string;
21
+ }
22
+ export declare const ChainTokenSelector: React.FC<ChainTokenSelectorProps>;
23
+ export declare const MPCChainTokenSelector: React.FC<MPCChainTokenSelectorProps>;
24
+ export {};
25
+ //# sourceMappingURL=ChainTokenSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainTokenSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/ChainTokenSelector.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,UAAU,uBAAuB;IAE/B,kBAAkB,EAAE,KAAK,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAGxC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAGtC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;CACzC;AAGD,UAAU,0BAA0B;IAElC,kBAAkB,EAAE,eAAe,CAAA;IACnC,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAGxC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAGtC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;CACzC;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqDhE,CAAA;AAGD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAgJtE,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { default as PropTypes } from 'prop-types';
3
+ import { DepositManager, openDeposit, closeDeposit, useDeposit } from './DepositManager';
4
+
5
+ declare const DialogDeposit: {
6
+ ({ children }: {
7
+ children: React.ReactNode;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ propTypes: {
10
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
11
+ };
12
+ };
13
+ export default DialogDeposit;
14
+ export { DepositManager, openDeposit, closeDeposit, useDeposit };
15
+ export { MPCChainTokenSelector } from './ChainTokenSelector';
16
+ export type { ChainWithTokens } from '../../../types';
17
+ //# sourceMappingURL=Deposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deposit.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/Deposit.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACX,MAAM,kBAAkB,CAAA;AAGzB,QAAA,MAAM,aAAa;mBAAkB;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE;;;;CAajE,CAAA;AAMD,eAAe,aAAa,CAAA;AAG5B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AAGhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { OpenDepositOptions, DepositAPI } from '../types';
3
+
4
+ export declare const DepositManager: React.ForwardRefExoticComponent<React.RefAttributes<DepositAPI>>;
5
+ export declare const openDeposit: (options?: OpenDepositOptions) => void;
6
+ export declare const closeDeposit: () => void;
7
+ export declare const updateDepositOptions: (options: Partial<OpenDepositOptions>) => void;
8
+ export declare const isDepositOpen: () => boolean;
9
+ export declare const useDeposit: () => DepositAPI;
10
+ //# sourceMappingURL=DepositManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DepositManager.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/DepositManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAkBzD,eAAO,MAAM,cAAc,kEA2JzB,CAAA;AAKF,eAAO,MAAM,WAAW,GAAI,UAAU,kBAAkB,SAQvD,CAAA;AAED,eAAO,MAAM,YAAY,YAQxB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,CAAC,kBAAkB,CAAC,SAUxE,CAAA;AAED,eAAO,MAAM,aAAa,eAKzB,CAAA;AAGD,eAAO,MAAM,UAAU,QAAO,UAO7B,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+
3
+ interface EVMWalletViewProps {
4
+ depositAmount: string;
5
+ curSelectToken: string;
6
+ curSelectTokenData: any;
7
+ approved: boolean;
8
+ currentActiveChain: any;
9
+ currentEquity: number;
10
+ amount: string;
11
+ decimals: number;
12
+ t: (key: string, params?: any) => string;
13
+ onDepositAmountChange: (amount: string) => void;
14
+ onApprove: () => Promise<void>;
15
+ }
16
+ export declare const EVMWalletView: React.FC<EVMWalletViewProps>;
17
+ export {};
18
+ //# sourceMappingURL=EVMWalletView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EVMWalletView.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/EVMWalletView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,UAAU,kBAAkB;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,GAAG,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,kBAAkB,EAAE,GAAG,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;IACxC,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+EtD,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+ import { WalletAdapter } from './walletAdapters';
3
+
4
+ interface MPCWalletViewProps {
5
+ walletAdapter: WalletAdapter | null;
6
+ curSelectToken: string;
7
+ currentActiveChain: any;
8
+ metadata: any;
9
+ t: (key: string, params?: any) => string;
10
+ showToast: (message: string) => void;
11
+ }
12
+ export declare const MPCWalletView: React.FC<MPCWalletViewProps>;
13
+ export {};
14
+ //# sourceMappingURL=MPCWalletView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MPCWalletView.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/MPCWalletView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,UAAU,kBAAkB;IAC1B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,GAAG,CAAA;IACvB,QAAQ,EAAE,GAAG,CAAA;IACb,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;IACxC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0HtD,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { WalletHooks } from '../types/wallet-hooks';
3
+
4
+ interface WalletProviderProps {
5
+ children: ReactNode;
6
+ walletHooks?: WalletHooks;
7
+ useMockWallet?: boolean;
8
+ }
9
+ export declare const WalletProvider: React.FC<WalletProviderProps>;
10
+ export declare const useWalletHooks: () => WalletHooks;
11
+ export declare const useWalletAccount: () => import('..').AccountInfo;
12
+ export declare const useWalletBalance: (config?: Parameters<WalletHooks["useBalance"]>[0]) => import('..').BalanceInfo;
13
+ export declare const useWalletConnect: () => import('..').ConnectWalletResult;
14
+ export declare const useWalletWriteContract: () => import('..').WriteContractResult;
15
+ export declare const useWalletSwitchChain: () => import('..').SwitchChainResult;
16
+ export declare const useWalletWaitForTransaction: () => import('..').TransactionWaitResult;
17
+ export declare const useWalletReadContract: (config: Parameters<WalletHooks["useReadContract"]>[0]) => {
18
+ data?: any;
19
+ isLoading: boolean;
20
+ error?: Error;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=WalletProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/WalletProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,EAAE,WAAW,EAAyB,MAAM,uBAAuB,CAAA;AAM1E,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAGD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAoBxD,CAAA;AAGD,eAAO,MAAM,cAAc,QAAO,WAWjC,CAAA;AAGD,eAAO,MAAM,gBAAgB,gCAG5B,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,6BAGjF,CAAA;AAED,eAAO,MAAM,gBAAgB,wCAG5B,CAAA;AAED,eAAO,MAAM,sBAAsB,wCAGlC,CAAA;AAED,eAAO,MAAM,oBAAoB,sCAGhC,CAAA;AAED,eAAO,MAAM,2BAA2B,0CAGvC,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,QAAQ,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;;;;CAG1F,CAAA"}
@@ -0,0 +1,89 @@
1
+ import { default as React } from 'react';
2
+
3
+ export declare const QRCodeSVG: React.FC<{
4
+ value: string;
5
+ size: number;
6
+ level: string;
7
+ bgColor: string;
8
+ fgColor: string;
9
+ includeMargin?: boolean;
10
+ }>;
11
+ export declare const CopyToClipboard: React.FC<{
12
+ text: string;
13
+ onCopy: () => void;
14
+ children: React.ReactNode;
15
+ }>;
16
+ export declare const Icon: React.FC<{
17
+ icon?: any;
18
+ className: string;
19
+ }>;
20
+ export declare const Select: React.FC<{
21
+ value: string;
22
+ onChange: (e: React.ChangeEvent<HTMLSelectElement>) => void;
23
+ options: Array<{
24
+ label: React.ReactNode;
25
+ value: string;
26
+ }>;
27
+ className?: string;
28
+ }>;
29
+ export declare const NumberInput: React.FC<{
30
+ placeholder: string;
31
+ value: string;
32
+ min: number;
33
+ max: string;
34
+ precision: number;
35
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
36
+ }>;
37
+ export declare const JoinFormControl: React.FC<{
38
+ className?: string;
39
+ suffixItems?: React.ReactNode[];
40
+ children: React.ReactNode;
41
+ }>;
42
+ export declare const Form: React.FC<{
43
+ className?: string;
44
+ children: React.ReactNode;
45
+ }> & {
46
+ Section: React.FC<{
47
+ children: React.ReactNode;
48
+ }>;
49
+ Label: React.FC<{
50
+ className?: string;
51
+ children: React.ReactNode;
52
+ }>;
53
+ Control: React.FC<{
54
+ children: React.ReactNode;
55
+ }>;
56
+ };
57
+ export declare const TransitionStatus: React.FC<{
58
+ prefix?: string;
59
+ prevValue: string;
60
+ nextValue: string;
61
+ forceTransitionStatus: boolean;
62
+ }>;
63
+ export declare const Tooltip: React.FC<{
64
+ title: string;
65
+ children: React.ReactNode;
66
+ }>;
67
+ export declare const Dialog: React.FC<{
68
+ open: boolean;
69
+ onOpenChange: (open: boolean) => void;
70
+ children: React.ReactNode;
71
+ }>;
72
+ export declare const DialogTrigger: React.FC<{
73
+ asChild?: boolean;
74
+ children: React.ReactNode;
75
+ }>;
76
+ export declare const DialogContent: React.FC<{
77
+ children: React.ReactNode;
78
+ }>;
79
+ export declare const DialogHeader: React.FC<{
80
+ children: React.ReactNode;
81
+ }>;
82
+ export declare const DialogTitle: React.FC<{
83
+ children: React.ReactNode;
84
+ }>;
85
+ export declare const DialogFooter: React.FC<{
86
+ children: React.ReactNode;
87
+ }>;
88
+ export declare const twMerge: (...classes: (string | boolean | undefined)[]) => string;
89
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/components.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { DepositProps } from '../types';
3
+
4
+ export declare const Deposit: React.FC<DepositProps>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Deposit/src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAQnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAcvC,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAsP1C,CAAA"}