@mictonode/widget 0.3.16 → 0.3.18

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 (69) hide show
  1. package/.github/FUNDING.yml +3 -3
  2. package/.github/workflows/npm-publish.yml +34 -34
  3. package/.prettierrc.json +9 -9
  4. package/.vscode/extensions.json +3 -3
  5. package/LICENSE +674 -674
  6. package/README.md +41 -41
  7. package/dist/{main-d0e5d1e4.js → main-bbea3e54.js} +155 -153
  8. package/dist/ping-widget.js +2 -2
  9. package/dist/ping-widget.umd.cjs +18 -18
  10. package/dist/{query.lcd-3d4d3495.js → query.lcd-88036522.js} +1 -1
  11. package/dist/{query.rpc.Query-b7807c29.js → query.rpc.Query-3a2b14f8.js} +1 -1
  12. package/dist/{tx.rpc.msg-59c3408a.js → tx.rpc.msg-39f0b824.js} +1 -1
  13. package/example/.vscode/extensions.json +3 -3
  14. package/example/README.md +7 -7
  15. package/example/index.html +12 -12
  16. package/example/package.json +19 -19
  17. package/example/pnpm-lock.yaml +465 -465
  18. package/example/public/cdn.html +19 -19
  19. package/example/src/App.vue +73 -73
  20. package/example/src/main.js +4 -4
  21. package/example/vite.config.js +7 -7
  22. package/index.html +12 -12
  23. package/lib/components/ConnectWallet/index.vue +262 -262
  24. package/lib/components/TokenConvert/index.vue +1033 -1033
  25. package/lib/components/TokenConvert/tokens.ts +36 -36
  26. package/lib/components/TxDialog/index.vue +422 -422
  27. package/lib/components/TxDialog/messages/Delegate.vue +174 -174
  28. package/lib/components/TxDialog/messages/Deposit.vue +96 -96
  29. package/lib/components/TxDialog/messages/Redelegate.vue +160 -160
  30. package/lib/components/TxDialog/messages/Send.vue +142 -142
  31. package/lib/components/TxDialog/messages/Transfer.vue +248 -248
  32. package/lib/components/TxDialog/messages/Unbond.vue +103 -103
  33. package/lib/components/TxDialog/messages/Vote.vue +62 -62
  34. package/lib/components/TxDialog/messages/Withdraw.vue +55 -55
  35. package/lib/components/TxDialog/messages/WithdrawCommission.vue +74 -74
  36. package/lib/components/TxDialog/wasm/ClearAdmin.vue +55 -55
  37. package/lib/components/TxDialog/wasm/ExecuteContract.vue +98 -98
  38. package/lib/components/TxDialog/wasm/InstantiateContract.vue +108 -108
  39. package/lib/components/TxDialog/wasm/MigrateContract.vue +76 -76
  40. package/lib/components/TxDialog/wasm/MigrateContract2.vue +76 -76
  41. package/lib/components/TxDialog/wasm/StoreCode.vue +100 -100
  42. package/lib/components/TxDialog/wasm/UpdateAdmin.vue +74 -74
  43. package/lib/main.css +591 -7
  44. package/lib/main.ts +24 -23
  45. package/lib/utils/TokenUnitConverter.ts +44 -44
  46. package/lib/utils/format.ts +16 -16
  47. package/lib/utils/http.ts +154 -154
  48. package/lib/utils/type.ts +56 -56
  49. package/lib/wallet/EthermintMessageAdapter.ts +135 -135
  50. package/lib/wallet/UniClient.ts +144 -144
  51. package/lib/wallet/Wallet.ts +142 -142
  52. package/lib/wallet/wallets/KeplerWallet.ts +141 -141
  53. package/lib/wallet/wallets/LeapWallet.ts +141 -141
  54. package/lib/wallet/wallets/LedgerWallet.ts +202 -202
  55. package/lib/wallet/wallets/MetamaskSnapWallet.ts +105 -105
  56. package/lib/wallet/wallets/MetamaskWallet.ts +173 -173
  57. package/lib/wallet/wallets/OKXWallet.ts +202 -202
  58. package/lib/wallet/wallets/UnisatWallet.ts +198 -198
  59. package/package.json +5 -6
  60. package/postcss.config.js +6 -6
  61. package/src/App.vue +225 -225
  62. package/src/main.ts +7 -4
  63. package/src/styles/design-system.css +184 -0
  64. package/src/vite-env.d.ts +1 -1
  65. package/tailwind.config.js +158 -34
  66. package/tsconfig.json +25 -25
  67. package/tsconfig.node.json +10 -10
  68. package/vite.config.ts +62 -62
  69. package/vue-shim.d.ts +6 -6
package/lib/main.css CHANGED
@@ -1,7 +1,591 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- .input:focus {
6
- outline: none;
7
- }
1
+ /* ============================================================
2
+ S4 4.20 — Explorer DS Font Integration
3
+ @import must precede @tailwind directives
4
+ ============================================================ */
5
+ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
6
+
7
+ @tailwind base;
8
+ @tailwind components;
9
+ @tailwind utilities;
10
+
11
+ body {
12
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
13
+ }
14
+
15
+ h1, h2, h3, h4, h5, h6,
16
+ .text-lg, .text-xl, .text-2xl {
17
+ font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif;
18
+ }
19
+
20
+ code, pre, .font-mono {
21
+ font-family: 'JetBrains Mono', 'Fira Code', monospace;
22
+ }
23
+
24
+ /* ============================================================
25
+ S5.7 — Standalone Widget Component CSS
26
+ Replaces DaisyUI with self-contained component styles
27
+ ============================================================ */
28
+
29
+ /* --- Modal --- */
30
+ .modal-toggle {
31
+ display: none;
32
+ }
33
+
34
+ .modal {
35
+ position: fixed;
36
+ inset: 0;
37
+ z-index: 9999;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ background: rgba(0, 0, 0, 0.5);
42
+ opacity: 0;
43
+ pointer-events: none;
44
+ transition: opacity 0.2s ease;
45
+ }
46
+
47
+ .modal-toggle:checked ~ .modal {
48
+ opacity: 1;
49
+ pointer-events: auto;
50
+ }
51
+
52
+ .modal-box {
53
+ background: #ffffff;
54
+ border-radius: 16px;
55
+ padding: 1.25rem;
56
+ max-width: 32rem;
57
+ width: 90vw;
58
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
59
+ position: relative;
60
+ }
61
+
62
+ .dark .modal-box {
63
+ background: rgba(15, 20, 25, 0.85);
64
+ backdrop-filter: blur(16px);
65
+ -webkit-backdrop-filter: blur(16px);
66
+ border: 1px solid rgba(255, 255, 255, 0.08);
67
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5),
68
+ 0 0 0 1px rgba(255, 255, 255, 0.05);
69
+ }
70
+
71
+ .modal-action {
72
+ display: flex;
73
+ justify-content: flex-end;
74
+ gap: 0.5rem;
75
+ margin-top: 1rem;
76
+ }
77
+
78
+ /* --- Button --- */
79
+ .btn {
80
+ display: inline-flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ border-radius: 0.5rem;
84
+ padding: 0.5rem 1rem;
85
+ font-size: 0.875rem;
86
+ font-weight: 500;
87
+ line-height: 1.25rem;
88
+ cursor: pointer;
89
+ border: 1px solid #e5e7eb;
90
+ background: #ffffff;
91
+ color: #374151;
92
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
93
+ user-select: none;
94
+ }
95
+
96
+ .btn:hover {
97
+ background: #f3f4f6;
98
+ }
99
+
100
+ .btn:active {
101
+ transform: scale(0.97);
102
+ }
103
+
104
+ .btn:disabled,
105
+ .btn[disabled] {
106
+ opacity: 0.5;
107
+ cursor: not-allowed;
108
+ }
109
+
110
+ .btn-sm {
111
+ padding: 0.25rem 0.75rem;
112
+ font-size: 0.8125rem;
113
+ }
114
+
115
+ .btn-xs {
116
+ padding: 0.125rem 0.5rem;
117
+ font-size: 0.75rem;
118
+ }
119
+
120
+ .btn-circle {
121
+ border-radius: 9999px;
122
+ width: 2rem;
123
+ height: 2rem;
124
+ padding: 0;
125
+ }
126
+
127
+ .btn-sm.btn-circle {
128
+ width: 1.5rem;
129
+ height: 1.5rem;
130
+ font-size: 0.75rem;
131
+ }
132
+
133
+ .btn-primary {
134
+ background: linear-gradient(135deg, #0066ff, #3b82f6);
135
+ border: 1px solid rgba(0, 102, 255, 0.2);
136
+ color: #ffffff;
137
+ }
138
+
139
+ .btn-primary:hover {
140
+ transform: translateY(-1px);
141
+ box-shadow: 0 8px 25px -5px rgba(0, 102, 255, 0.4);
142
+ background: linear-gradient(135deg, #0066ff, #3b82f6);
143
+ }
144
+
145
+ .btn-primary:active {
146
+ transform: scale(0.97);
147
+ }
148
+
149
+ .btn-ghost {
150
+ background: transparent;
151
+ border-color: transparent;
152
+ }
153
+
154
+ .btn-ghost:hover {
155
+ background: rgba(0, 0, 0, 0.05);
156
+ }
157
+
158
+ .dark .btn-ghost:hover {
159
+ background: rgba(255, 255, 255, 0.1);
160
+ }
161
+
162
+ .btn-link {
163
+ background: transparent;
164
+ border-color: transparent;
165
+ color: #0066ff;
166
+ text-decoration: underline;
167
+ text-underline-offset: 2px;
168
+ }
169
+
170
+ .btn-link:hover {
171
+ background: transparent;
172
+ border-color: transparent;
173
+ text-decoration-thickness: 2px;
174
+ }
175
+
176
+ /* Close button (circle btn) */
177
+ .dark .btn.btn-sm.btn-circle {
178
+ background: rgba(255, 255, 255, 0.1);
179
+ border: 1px solid rgba(255, 255, 255, 0.1);
180
+ color: #9ca3af;
181
+ }
182
+
183
+ .dark .btn.btn-sm.btn-circle:hover {
184
+ background: rgba(255, 255, 255, 0.15);
185
+ color: #e5e7eb;
186
+ }
187
+
188
+ /* --- Form --- */
189
+ .form-control {
190
+ width: 100%;
191
+ position: relative;
192
+ }
193
+
194
+ .label {
195
+ display: flex;
196
+ justify-content: space-between;
197
+ align-items: center;
198
+ padding: 0.25rem 0;
199
+ font-size: 0.875rem;
200
+ line-height: 1.25rem;
201
+ }
202
+
203
+ .label-text {
204
+ font-size: 0.875rem;
205
+ font-weight: 500;
206
+ color: #374151;
207
+ }
208
+
209
+ .dark .label-text {
210
+ color: #e5e7eb;
211
+ }
212
+
213
+ .input-group {
214
+ display: flex;
215
+ align-items: stretch;
216
+ }
217
+
218
+ .join {
219
+ display: flex;
220
+ }
221
+
222
+ .join-item {
223
+ border-radius: 0;
224
+ }
225
+
226
+ .join-item:first-child {
227
+ border-top-left-radius: 0.5rem;
228
+ border-bottom-left-radius: 0.5rem;
229
+ }
230
+
231
+ .join-item:last-child {
232
+ border-top-right-radius: 0.5rem;
233
+ border-bottom-right-radius: 0.5rem;
234
+ }
235
+
236
+ .input {
237
+ width: 100%;
238
+ border: 1px solid #d1d5db;
239
+ border-radius: 0.5rem;
240
+ padding: 0.5rem 0.75rem;
241
+ font-size: 0.875rem;
242
+ line-height: 1.25rem;
243
+ background: #ffffff;
244
+ color: #111827;
245
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
246
+ outline: none;
247
+ }
248
+
249
+ .input:focus {
250
+ border-color: #0066ff;
251
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
252
+ }
253
+
254
+ .input::placeholder {
255
+ color: #9ca3af;
256
+ }
257
+
258
+ .dark .input {
259
+ background: rgba(255, 255, 255, 0.05);
260
+ border-color: rgba(255, 255, 255, 0.1);
261
+ color: #e5e7eb;
262
+ }
263
+
264
+ .dark .input:focus {
265
+ border-color: #0066ff;
266
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
267
+ }
268
+
269
+ .dark .input::placeholder {
270
+ color: #6b7280;
271
+ }
272
+
273
+ .select {
274
+ width: 100%;
275
+ border: 1px solid #d1d5db;
276
+ border-radius: 0.5rem;
277
+ padding: 0.5rem 0.75rem;
278
+ font-size: 0.875rem;
279
+ line-height: 1.25rem;
280
+ background: #ffffff;
281
+ color: #111827;
282
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
283
+ outline: none;
284
+ appearance: auto;
285
+ }
286
+
287
+ .select-bordered {
288
+ border: 1px solid #d1d5db;
289
+ }
290
+
291
+ .select:focus {
292
+ border-color: #0066ff;
293
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
294
+ }
295
+
296
+ .dark .select {
297
+ background: rgba(255, 255, 255, 0.05);
298
+ border-color: rgba(255, 255, 255, 0.1);
299
+ color: #e5e7eb;
300
+ }
301
+
302
+ .dark .select:focus {
303
+ border-color: #0066ff;
304
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
305
+ }
306
+
307
+ .textarea {
308
+ width: 100%;
309
+ border: 1px solid #d1d5db;
310
+ border-radius: 0.5rem;
311
+ padding: 0.5rem 0.75rem;
312
+ font-size: 0.875rem;
313
+ line-height: 1.25rem;
314
+ background: #ffffff;
315
+ color: #111827;
316
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
317
+ outline: none;
318
+ resize: vertical;
319
+ }
320
+
321
+ .textarea:focus {
322
+ border-color: #0066ff;
323
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
324
+ }
325
+
326
+ .textarea::placeholder {
327
+ color: #9ca3af;
328
+ }
329
+
330
+ .dark .textarea {
331
+ background: rgba(255, 255, 255, 0.05);
332
+ border-color: rgba(255, 255, 255, 0.1);
333
+ color: #e5e7eb;
334
+ }
335
+
336
+ .dark .textarea:focus {
337
+ border-color: #0066ff;
338
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
339
+ }
340
+
341
+ .dark .textarea::placeholder {
342
+ color: #6b7280;
343
+ }
344
+
345
+ /* --- Alert --- */
346
+ .alert {
347
+ display: flex;
348
+ align-items: center;
349
+ gap: 0.75rem;
350
+ padding: 1rem;
351
+ border-radius: 0.75rem;
352
+ font-size: 0.875rem;
353
+ }
354
+
355
+ .alert-success {
356
+ background: rgba(63, 182, 139, 0.1);
357
+ color: #065f46;
358
+ border: 1px solid rgba(63, 182, 139, 0.2);
359
+ }
360
+
361
+ .dark .alert-success {
362
+ background: rgba(63, 182, 139, 0.08);
363
+ backdrop-filter: blur(8px);
364
+ -webkit-backdrop-filter: blur(8px);
365
+ border: 1px solid rgba(255, 255, 255, 0.06);
366
+ color: #6ee7b7;
367
+ }
368
+
369
+ .alert-error {
370
+ background: rgba(255, 83, 83, 0.1);
371
+ color: #991b1b;
372
+ border: 1px solid rgba(255, 83, 83, 0.2);
373
+ }
374
+
375
+ .dark .alert-error {
376
+ background: rgba(255, 83, 83, 0.08);
377
+ backdrop-filter: blur(8px);
378
+ -webkit-backdrop-filter: blur(8px);
379
+ border: 1px solid rgba(255, 255, 255, 0.06);
380
+ color: #fca5a5;
381
+ }
382
+
383
+ /* --- Toast --- */
384
+ .toast {
385
+ position: fixed;
386
+ bottom: 1rem;
387
+ right: 1rem;
388
+ z-index: 9999;
389
+ }
390
+
391
+ .dark .toast {
392
+ backdrop-filter: blur(8px);
393
+ -webkit-backdrop-filter: blur(8px);
394
+ }
395
+
396
+ /* --- Dropdown --- */
397
+ .dropdown-content {
398
+ position: absolute;
399
+ z-index: 50;
400
+ background: #ffffff;
401
+ border: 1px solid #e5e7eb;
402
+ border-radius: 0.75rem;
403
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
404
+ 0 4px 6px -4px rgba(0, 0, 0, 0.1);
405
+ padding: 0.5rem;
406
+ }
407
+
408
+ .dark .dropdown-content {
409
+ background: rgba(15, 20, 25, 0.9);
410
+ backdrop-filter: blur(12px);
411
+ -webkit-backdrop-filter: blur(12px);
412
+ border: 1px solid rgba(255, 255, 255, 0.08);
413
+ box-shadow: 0 20px 40px -8px rgba(0, 0, 0, 0.5);
414
+ }
415
+
416
+ .divider {
417
+ height: 1px;
418
+ background: #e5e7eb;
419
+ margin: 0.5rem 0;
420
+ }
421
+
422
+ .dark .divider {
423
+ background: rgba(255, 255, 255, 0.08);
424
+ }
425
+
426
+ /* --- Card (used in TokenConvert dropdown) --- */
427
+ .card.dropdown-content {
428
+ background: #ffffff;
429
+ }
430
+
431
+ .dark .card.dropdown-content {
432
+ background: rgba(15, 20, 25, 0.9);
433
+ backdrop-filter: blur(12px);
434
+ -webkit-backdrop-filter: blur(12px);
435
+ border: 1px solid rgba(255, 255, 255, 0.08);
436
+ }
437
+
438
+ /* --- Loading --- */
439
+ .loading {
440
+ display: inline-block;
441
+ width: 1rem;
442
+ height: 1rem;
443
+ border: 2px solid rgba(255, 255, 255, 0.3);
444
+ border-top-color: #ffffff;
445
+ border-radius: 9999px;
446
+ animation: spin 0.6s linear infinite;
447
+ }
448
+
449
+ .loading-spinner {
450
+ display: inline-block;
451
+ width: 1rem;
452
+ height: 1rem;
453
+ border: 2px solid rgba(255, 255, 255, 0.3);
454
+ border-top-color: #ffffff;
455
+ border-radius: 9999px;
456
+ animation: spin 0.6s linear infinite;
457
+ }
458
+
459
+ @keyframes spin {
460
+ to {
461
+ transform: rotate(360deg);
462
+ }
463
+ }
464
+
465
+ /* --- Checkbox --- */
466
+ .checkbox {
467
+ width: 1.25rem;
468
+ height: 1.25rem;
469
+ border-radius: 0.25rem;
470
+ border: 2px solid #d1d5db;
471
+ appearance: none;
472
+ cursor: pointer;
473
+ transition: all 0.15s ease;
474
+ position: relative;
475
+ }
476
+
477
+ .checkbox:checked {
478
+ background: #0066ff;
479
+ border-color: #0066ff;
480
+ }
481
+
482
+ .checkbox:checked::after {
483
+ content: '';
484
+ position: absolute;
485
+ top: 50%;
486
+ left: 50%;
487
+ width: 0.35rem;
488
+ height: 0.6rem;
489
+ border: solid #ffffff;
490
+ border-width: 0 2px 2px 0;
491
+ transform: translate(-50%, -60%) rotate(45deg);
492
+ }
493
+
494
+ .checkbox-sm {
495
+ width: 1rem;
496
+ height: 1rem;
497
+ }
498
+
499
+ .checkbox-primary {
500
+ accent-color: #0066ff;
501
+ }
502
+
503
+ .dark .checkbox {
504
+ border-color: rgba(255, 255, 255, 0.2);
505
+ background: transparent;
506
+ }
507
+
508
+ .dark .checkbox:checked {
509
+ background: #0066ff;
510
+ border-color: #0066ff;
511
+ }
512
+
513
+ /* --- Radio --- */
514
+ .radio {
515
+ width: 1.25rem;
516
+ height: 1.25rem;
517
+ border-radius: 9999px;
518
+ border: 2px solid #d1d5db;
519
+ appearance: none;
520
+ cursor: pointer;
521
+ transition: all 0.15s ease;
522
+ position: relative;
523
+ }
524
+
525
+ .radio:checked {
526
+ border-color: #0066ff;
527
+ }
528
+
529
+ .radio:checked::after {
530
+ content: '';
531
+ position: absolute;
532
+ top: 50%;
533
+ left: 50%;
534
+ width: 0.5rem;
535
+ height: 0.5rem;
536
+ border-radius: 9999px;
537
+ background: #0066ff;
538
+ transform: translate(-50%, -50%);
539
+ }
540
+
541
+ .radio-success:checked {
542
+ border-color: #3fb68b;
543
+ }
544
+
545
+ .radio-success:checked::after {
546
+ background: #3fb68b;
547
+ }
548
+
549
+ .radio-error:checked {
550
+ border-color: #ff5353;
551
+ }
552
+
553
+ .radio-error:checked::after {
554
+ background: #ff5353;
555
+ }
556
+
557
+ .radio-dark:checked {
558
+ border-color: #1e40af;
559
+ }
560
+
561
+ .radio-dark:checked::after {
562
+ background: #1e40af;
563
+ }
564
+
565
+ .dark .radio {
566
+ border-color: rgba(255, 255, 255, 0.2);
567
+ }
568
+
569
+ /* --- File Input --- */
570
+ .file-input {
571
+ width: 100%;
572
+ border: 1px solid #d1d5db;
573
+ border-radius: 0.5rem;
574
+ padding: 0.5rem;
575
+ font-size: 0.875rem;
576
+ background: #ffffff;
577
+ color: #111827;
578
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
579
+ outline: none;
580
+ }
581
+
582
+ .file-input:focus {
583
+ border-color: #0066ff;
584
+ box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15);
585
+ }
586
+
587
+ .dark .file-input {
588
+ background: rgba(255, 255, 255, 0.05);
589
+ border-color: rgba(255, 255, 255, 0.1);
590
+ color: #e5e7eb;
591
+ }
package/lib/main.ts CHANGED
@@ -1,23 +1,24 @@
1
- import './main.css';
2
- import { createApp, h } from 'vue';
3
- // @ts-ignore
4
- import wrapper from 'vue3-webcomponent-wrapper';
5
-
6
- import TxDialog from './components/TxDialog/index.vue';
7
- import ConnectWallet from './components/ConnectWallet/index.vue';
8
- import TokenConvert from './components/TokenConvert/index.vue';
9
-
10
- function registry(name: string, module: any) {
11
- if (!window.customElements.get(name)) {
12
- const component = wrapper(module, createApp, h);
13
- window.customElements.define(name, component);
14
- }
15
- }
16
-
17
- registry('ping-tx-dialog', TxDialog)
18
- registry('ping-connect-wallet', ConnectWallet)
19
- registry('ping-token-convert', TokenConvert)
20
-
21
- export default {
22
- version: '0.0.5',
23
- };
1
+ import '../src/styles/design-system.css';
2
+ import './main.css';
3
+ import { createApp, h } from 'vue';
4
+ // @ts-ignore
5
+ import wrapper from 'vue3-webcomponent-wrapper';
6
+
7
+ import TxDialog from './components/TxDialog/index.vue';
8
+ import ConnectWallet from './components/ConnectWallet/index.vue';
9
+ import TokenConvert from './components/TokenConvert/index.vue';
10
+
11
+ function registry(name: string, module: any) {
12
+ if (!window.customElements.get(name)) {
13
+ const component = wrapper(module, createApp, h);
14
+ window.customElements.define(name, component);
15
+ }
16
+ }
17
+
18
+ registry('ping-tx-dialog', TxDialog)
19
+ registry('ping-connect-wallet', ConnectWallet)
20
+ registry('ping-token-convert', TokenConvert)
21
+
22
+ export default {
23
+ version: '0.0.5',
24
+ };