@matchain/matchid-sdk-react 0.1.53-alpha.2 → 0.1.53-alpha.20

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 (189) hide show
  1. package/dist/assets/icon/index.d.mts +4 -144
  2. package/dist/assets/icon/index.d.ts +4 -144
  3. package/dist/assets/icon/index.js +54 -0
  4. package/dist/assets/icon/index.js.map +1 -1
  5. package/dist/assets/icon/index.mjs +5 -1
  6. package/dist/chunk-3CR66BEX.mjs +19 -0
  7. package/dist/chunk-3CR66BEX.mjs.map +1 -0
  8. package/dist/{chunk-W5A6WY7Y.mjs → chunk-CLMSEFOV.mjs} +5808 -4749
  9. package/dist/chunk-CLMSEFOV.mjs.map +1 -0
  10. package/dist/{chunk-LHNKZISB.mjs → chunk-FKXS2XRG.mjs} +114 -2
  11. package/dist/chunk-FKXS2XRG.mjs.map +1 -0
  12. package/dist/{chunk-MX7N57AH.mjs → chunk-IZOOVZAD.mjs} +11 -6
  13. package/dist/chunk-IZOOVZAD.mjs.map +1 -0
  14. package/dist/{chunk-HYQ3T6WW.mjs → chunk-JX73EY6V.mjs} +2 -14
  15. package/dist/chunk-JX73EY6V.mjs.map +1 -0
  16. package/dist/{chunk-FB5MHLWX.mjs → chunk-X5HGL3ZX.mjs} +45 -3
  17. package/dist/chunk-X5HGL3ZX.mjs.map +1 -0
  18. package/dist/components/index.d.mts +3 -3
  19. package/dist/components/index.d.ts +3 -3
  20. package/dist/components/index.js +1568 -504
  21. package/dist/components/index.js.map +1 -1
  22. package/dist/components/index.mjs +11 -4
  23. package/dist/config/chains/index.mjs +2 -1
  24. package/dist/hooks/api/index.d.mts +3 -2
  25. package/dist/hooks/api/index.d.ts +3 -2
  26. package/dist/hooks/api/index.js +393 -82
  27. package/dist/hooks/api/index.js.map +1 -1
  28. package/dist/hooks/api/index.mjs +9 -8
  29. package/dist/hooks/index.d.mts +3 -2
  30. package/dist/hooks/index.d.ts +3 -2
  31. package/dist/hooks/index.js +620 -463
  32. package/dist/hooks/index.js.map +1 -1
  33. package/dist/hooks/index.mjs +5 -4
  34. package/dist/index-B1T3lcwo.d.mts +203 -0
  35. package/dist/{index-Df-WlkXq.d.ts → index-B6Tmp2HR.d.ts} +25 -5
  36. package/dist/index-B6pp5UQe.d.ts +203 -0
  37. package/dist/{index-IwwXQ_QV.d.ts → index-BR3CyOOn.d.ts} +5 -2
  38. package/dist/{index-CZqdmQu1.d.mts → index-BeTS09HM.d.mts} +41 -17
  39. package/dist/{index-iWHaT8HV.d.mts → index-BxHKPC5n.d.mts} +1 -1
  40. package/dist/{index-B8cUP7cH.d.ts → index-CA7lhjpa.d.mts} +25 -5
  41. package/dist/{index-yy3VTdFU.d.mts → index-CRoZ0p2b.d.ts} +25 -5
  42. package/dist/{index-BCGJczpk.d.mts → index-CXPCmoIu.d.mts} +5 -2
  43. package/dist/{index-Bil_db2f.d.mts → index-Ce3oCu6-.d.mts} +19 -16
  44. package/dist/{index-DNJuiNdz.d.mts → index-Ci_ub_5y.d.mts} +25 -5
  45. package/dist/{index-BsL6zo6a.d.ts → index-DKV8v6s_.d.ts} +1 -1
  46. package/dist/{index-K5vXmiRX.d.ts → index-Dnjr-WPp.d.ts} +41 -17
  47. package/dist/{index-BS-NO8Y2.d.ts → index-IHigYscw.d.ts} +19 -16
  48. package/dist/index.css +132 -13
  49. package/dist/index.d.mts +9 -7
  50. package/dist/index.d.ts +9 -7
  51. package/dist/index.js +1956 -793
  52. package/dist/index.js.map +1 -1
  53. package/dist/index.mjs +10 -8
  54. package/dist/request-B0CyrGFT.d.mts +15 -0
  55. package/dist/request-B0CyrGFT.d.ts +15 -0
  56. package/dist/types/index.d.mts +1 -1
  57. package/dist/types/index.d.ts +1 -1
  58. package/dist/{types-CZbR7ERa.d.mts → types-mRkAnXBf.d.mts} +17 -1
  59. package/dist/{types-CZbR7ERa.d.ts → types-mRkAnXBf.d.ts} +17 -1
  60. package/dist/ui/index.d.mts +3 -3
  61. package/dist/ui/index.d.ts +3 -3
  62. package/dist/ui/index.js +109 -61
  63. package/dist/ui/index.js.map +1 -1
  64. package/dist/ui/index.mjs +8 -4
  65. package/dist/utils/index.d.mts +3 -2
  66. package/dist/utils/index.d.ts +3 -2
  67. package/dist/utils/index.js +10 -4
  68. package/dist/utils/index.js.map +1 -1
  69. package/dist/utils/index.mjs +3 -1
  70. package/example/dist/assets/Arc-R3PUWRPJ-CUdEQO8X.js +1 -0
  71. package/example/dist/assets/Brave-24BM36UM-C6C5mkTK.js +1 -0
  72. package/example/dist/assets/Browser-4R4QKTV2-D3ON1q-S.js +1 -0
  73. package/example/dist/assets/Chrome-TLI42HDP-BgiVz-ma.js +1 -0
  74. package/example/dist/assets/Edge-AZ34LAFM-EBh9cG_z.js +1 -0
  75. package/example/dist/assets/Firefox-ZDK7RHKK-5nyhB0sj.js +1 -0
  76. package/example/dist/assets/Linux-VYP66PDO--MOvpQUa.js +1 -0
  77. package/example/dist/assets/Macos-5QL4JBJE-DLNYPiln.js +1 -0
  78. package/example/dist/assets/Opera-BKMCKUXC-CCypmVaM.js +1 -0
  79. package/example/dist/assets/Safari-PXQIVS6N-B-Lfxb9r.js +1 -0
  80. package/example/dist/assets/Windows-GTAT3OTE-K9Pt3pUF.js +1 -0
  81. package/example/dist/assets/apechain-COEQ5RUI-0TDoXOYf.js +1 -0
  82. package/example/dist/assets/ar_AR-ZRPPM56D-d2WEfzQ_.js +1349 -0
  83. package/example/dist/assets/arbitrum-HW44W6XR-hPA5bMPt.js +1 -0
  84. package/example/dist/assets/assets-NU2OP443-COMs-Mo6.js +1 -0
  85. package/example/dist/assets/avalanche-MXEFEDSW-DcC5FNt3.js +1 -0
  86. package/example/dist/assets/base-Z4LFBE5D-DHfqMzJC.js +1 -0
  87. package/example/dist/assets/berachain-ZN3U5LDZ-CAvW_8ws.js +1 -0
  88. package/example/dist/assets/bitgetWallet-CLYTW54T-Wwn2QYd0.js +1 -0
  89. package/example/dist/assets/blast-46UQLYYY-BV_Xlsq4.js +1 -0
  90. package/example/dist/assets/bsc-RVE67I5L-DVYEF0vl.js +1 -0
  91. package/example/dist/assets/ccip-BhIcA6Sl.js +1 -0
  92. package/example/dist/assets/celo-E6XU57FO-C5IguUgF.js +1 -0
  93. package/example/dist/assets/coinbaseWallet-WWX6LF36-BMRj6mTC.js +1 -0
  94. package/example/dist/assets/connect-MR6XDLIE-BET5HMNk.js +1 -0
  95. package/example/dist/assets/create-X4WFHLCW-De9pC3ym.js +1 -0
  96. package/example/dist/assets/cronos-ROYR77VZ-Prn3LRPZ.js +1 -0
  97. package/example/dist/assets/de_DE-GYZFZXWH-CYZf24IR.js +1349 -0
  98. package/example/dist/assets/degen-7ROC3GCY-9HqAkHtZ.js +1 -0
  99. package/example/dist/assets/es_419-OGVOQEFZ-D6BJPTeQ.js +1349 -0
  100. package/example/dist/assets/ethereum-RFBAMUVK-WsW8NXqo.js +1 -0
  101. package/example/dist/assets/events-CkdpRqBF.js +1 -0
  102. package/example/dist/assets/flow-NBCRNYVF-D2XasjKk.js +1 -0
  103. package/example/dist/assets/fr_FR-Q5QBQBX2-lQoTmpTH.js +1349 -0
  104. package/example/dist/assets/gnosis-Y56LN66M-D4_J-ZQH.js +1 -0
  105. package/example/dist/assets/gravity-LMEBVSFN-DLxWpxhy.js +1 -0
  106. package/example/dist/assets/hardhat-NEEC6JX7-DzuWQYyS.js +1 -0
  107. package/example/dist/assets/hi_IN-7I7LRHGW-CTQjmeYe.js +1349 -0
  108. package/example/dist/assets/hooks.module-C5ONEBEq.js +1 -0
  109. package/example/dist/assets/hyperevm-J6CONVCX-C6oeYIAP.js +1 -0
  110. package/example/dist/assets/id_ID-ZMGZ2JFV-CgKQKAmU.js +1349 -0
  111. package/example/dist/assets/index-BG5XIZpE.js +3 -0
  112. package/example/dist/assets/index-BsarjAeg.js +1 -0
  113. package/example/dist/assets/index-DK7UFFe7.js +7 -0
  114. package/example/dist/assets/index-DPb8sz1C.js +54 -0
  115. package/example/dist/assets/index-JbpWt42F.js +1 -0
  116. package/example/dist/assets/index-YsGNa18R.css +1 -0
  117. package/example/dist/assets/index-kAjO6hfy.js +2 -0
  118. package/example/dist/assets/index-qgo91dsq.js +3942 -0
  119. package/example/dist/assets/index.es-D44wzsQe.js +71 -0
  120. package/example/dist/assets/injectedWallet-H7LYKTQS-CAHJNGc-.js +1 -0
  121. package/example/dist/assets/ink-4U4ZVNAB-AlM1MLfQ.js +1 -0
  122. package/example/dist/assets/ja_JP-NYBCHQTZ-CMaBl8Za.js +1349 -0
  123. package/example/dist/assets/kaia-A33DVQBT-Fgclbhio.js +1 -0
  124. package/example/dist/assets/ko_KR-67WE736M-DHWhIjcm.js +1349 -0
  125. package/example/dist/assets/linea-IALBSJQC-Cmyd7vgA.js +1 -0
  126. package/example/dist/assets/login-CWDTIDNK-DhDUYE4b.js +1 -0
  127. package/example/dist/assets/manta-5V6W5D7G-BnjsGzeJ.js +1 -0
  128. package/example/dist/assets/mantle-KBL3OIYT-DIpe0poV.js +1 -0
  129. package/example/dist/assets/metaMaskWallet-YFHEHW7V-BggUDXad.js +1 -0
  130. package/example/dist/assets/metaMaskWallet-YFHEHW7V-DBxkXEyI.js +1 -0
  131. package/example/dist/assets/ms_MY-65AJIBUS-BLlUrxe6.js +1349 -0
  132. package/example/dist/assets/okxWallet-GJMKZIND-Ctk5JsJ6.js +1 -0
  133. package/example/dist/assets/optimism-YWJ3IQHA-DYER-OR5.js +1 -0
  134. package/example/dist/assets/polygon-WWEUOMKW-CNBYSB1T.js +1 -0
  135. package/example/dist/assets/pt_BR-DMJANC65-DMs4DrlC.js +1349 -0
  136. package/example/dist/assets/rainbowWallet-2SR6TVBF-kimcGeuf.js +1 -0
  137. package/example/dist/assets/refresh-HJGJRASX-D0rkc63_.js +1 -0
  138. package/example/dist/assets/ronin-PNHX5V6H-BS-WPXjQ.js +1 -0
  139. package/example/dist/assets/ru_RU-WER7RQ6A-DsJK55uv.js +1349 -0
  140. package/example/dist/assets/safeWallet-VUYZPLY4-CXnodgMs.js +1 -0
  141. package/example/dist/assets/sanko-RHQYXGM5-OX010CbN.js +1 -0
  142. package/example/dist/assets/scan-DEOT2M37-1-mJ5OyF.js +1 -0
  143. package/example/dist/assets/scroll-MCKFTBRS-C2gqZSab.js +1 -0
  144. package/example/dist/assets/sign-A7IJEUT5-CGsRnPrd.js +1 -0
  145. package/example/dist/assets/th_TH-JOSHEZ6D-Cp87mIRZ.js +1349 -0
  146. package/example/dist/assets/tr_TR-EAMG2YPO-C52_xfsf.js +1349 -0
  147. package/example/dist/assets/uk_UA-GO2TRVWA-C1C1400t.js +1349 -0
  148. package/example/dist/assets/unichain-OQ3BZUDH-CyMLDmFg.js +1 -0
  149. package/example/dist/assets/vi_VN-5HLLSOJA-Dj7ferOp.js +1349 -0
  150. package/example/dist/assets/walletConnectWallet-FNSU4KNU-B0ci71fU.js +1 -0
  151. package/example/dist/assets/walletConnectWallet-FNSU4KNU-CBpCuHbd.js +1 -0
  152. package/example/dist/assets/xdc-X7V4QFNF-CSGs0o6M.js +1 -0
  153. package/example/dist/assets/zetachain-BMJKVYBN-IK2CZBr3.js +1 -0
  154. package/example/dist/assets/zh_CN-THPIFVWJ-Cbp71xMR.js +1349 -0
  155. package/example/dist/assets/zh_HK-R7XP4TGF-CyJtfKGw.js +1349 -0
  156. package/example/dist/assets/zh_TW-F5LD752V-AHFgsYw-.js +1349 -0
  157. package/example/dist/assets/zksync-UWUXFL74-Bt0brpXu.js +1 -0
  158. package/example/dist/assets/zora-YZH32HP3-CY3tp3EJ.js +1 -0
  159. package/example/dist/index.html +2 -2
  160. package/example/package.json +3 -1
  161. package/example/src/App.tsx +30 -7
  162. package/example/src/pages/Contact/index.tsx +90 -0
  163. package/example/src/pages/UI/components/Tabs.tsx +18 -0
  164. package/example/src/pages/UI/index.tsx +2 -0
  165. package/example/src/pages/User/index.tsx +7 -1
  166. package/package.json +5 -1
  167. package/dist/chunk-4A2YPGO3.mjs +0 -97
  168. package/dist/chunk-4A2YPGO3.mjs.map +0 -1
  169. package/dist/chunk-FB5MHLWX.mjs.map +0 -1
  170. package/dist/chunk-HYQ3T6WW.mjs.map +0 -1
  171. package/dist/chunk-LHNKZISB.mjs.map +0 -1
  172. package/dist/chunk-MX7N57AH.mjs.map +0 -1
  173. package/dist/chunk-W5A6WY7Y.mjs.map +0 -1
  174. package/example/dist/assets/TransportWebHID-BEu7tC0r.js +0 -1
  175. package/example/dist/assets/bignumber-iG7K-qxw.js +0 -10
  176. package/example/dist/assets/ccip-a6wQ1Vcb.js +0 -1
  177. package/example/dist/assets/draggabilly-CRYR_S0q.js +0 -14
  178. package/example/dist/assets/index--dp9m9Ep.js +0 -1
  179. package/example/dist/assets/index-BDTHolFv.js +0 -569
  180. package/example/dist/assets/index-BZl59qLb.js +0 -179
  181. package/example/dist/assets/index-BmMbYNHO.js +0 -303
  182. package/example/dist/assets/index-C7cxVRDF.js +0 -1677
  183. package/example/dist/assets/index-CJk171Yb.js +0 -1
  184. package/example/dist/assets/index-CQiBesAa.js +0 -3
  185. package/example/dist/assets/index-D62loNA9.js +0 -3
  186. package/example/dist/assets/index-DqyX3FG6.js +0 -1
  187. package/example/dist/assets/index-Gy3FXGhr.css +0 -1
  188. package/example/dist/assets/inherits_browser-BlmhoU4v.js +0 -1
  189. package/example/dist/assets/solanaEmbed.esm-Djn-u4Vn.js +0 -38
@@ -0,0 +1 @@
1
+ var l='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><g transform="translate(0,0) scale(0.7)"><g clip-path="url(%23a)"><path fill="%23000" d="M0 0h40v40H0z"/><path fill="url(%23b)" fill-opacity=".1" d="M0 0h40v40H0z"/><path fill="%23fff" fill-rule="evenodd" d="m32.25 20.005-6.954-6.922v5.066l-6.901 5.078h6.901v3.7l6.954-6.922ZM7.75 20.005l6.954 6.923v-5.036l6.901-5.119h-6.901v-3.7L7.75 20.004Z" clip-rule="evenodd"/></g><defs><linearGradient id="b" x1="0" x2="20" y1="0" y2="40" gradientUnits="userSpaceOnUse"><stop stop-color="%23fff"/><stop offset="1" stop-color="%23fff" stop-opacity="0"/></linearGradient><clipPath id="a"><path fill="%23fff" d="M0 0h40v40H0z"/></clipPath></defs></g></svg>';export{l as default};
@@ -0,0 +1 @@
1
+ var o='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><g clip-path="url(%23a)"><path fill="url(%23b)" d="M.943 13.754c0 7.586 5.944 13.755 13.252 13.755 7.308 0 13.252-6.17 13.252-13.755C27.44 6.17 21.497 0 14.195 0 6.887 0 .943 6.17.943 13.754Z"/><path fill="url(%23c)" d="M.943 13.754c0 7.586 5.944 13.755 13.252 13.755 7.308 0 13.252-6.17 13.252-13.755C27.44 6.17 21.497 0 14.195 0 6.887 0 .943 6.17.943 13.754Z"/><path fill="url(%23d)" d="M.943 13.754c0 7.586 5.944 13.755 13.252 13.755 7.308 0 13.252-6.17 13.252-13.755C27.44 6.17 21.497 0 14.195 0 6.887 0 .943 6.17.943 13.754Z"/></g><defs><radialGradient id="b" cx="0" cy="0" r="1" gradientTransform="matrix(19.9547 0 0 20.7113 18.16 6.7)" gradientUnits="userSpaceOnUse"><stop offset=".005" stop-color="%23fff"/><stop offset=".458" stop-color="%23B7D8C8"/><stop offset=".656" stop-color="%236D9487"/><stop offset="1" stop-color="%234B4C3C"/></radialGradient><radialGradient id="c" cx="0" cy="0" r="1" gradientTransform="matrix(19.9547 0 0 20.7113 18.16 6.7)" gradientUnits="userSpaceOnUse"><stop offset=".005" stop-color="%23fff"/><stop offset=".458" stop-color="%23B5B4C6"/><stop offset=".656" stop-color="%239B8F8F"/><stop offset="1" stop-color="%234B4C3C"/></radialGradient><radialGradient id="d" cx="0" cy="0" r="1" gradientTransform="matrix(19.9547 0 0 20.7113 18.16 6.7)" gradientUnits="userSpaceOnUse"><stop offset=".156" stop-color="%23DCC8D0"/><stop offset=".302" stop-color="%2378C8CF"/><stop offset=".427" stop-color="%234D959E"/><stop offset=".557" stop-color="%23305EB9"/><stop offset=".797" stop-color="%23311F12"/><stop offset=".906" stop-color="%23684232"/><stop offset="1" stop-color="%232D1C13"/></radialGradient><clipPath id="a"><path fill="%23fff" d="M0 0h28v28H0z"/></clipPath></defs></svg>';export{o as default};
@@ -5,8 +5,8 @@
5
5
  <meta charset="UTF-8" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>MatchID example</title>
8
- <script type="module" crossorigin src="/assets/index-C7cxVRDF.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-Gy3FXGhr.css">
8
+ <script type="module" crossorigin src="/assets/index-qgo91dsq.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-YsGNa18R.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
@@ -17,10 +17,12 @@
17
17
  "viem": "../node_modules/viem",
18
18
  "react": "../node_modules/react",
19
19
  "react-dom": "../node_modules/react-dom/profiling",
20
+ "lodash": "../node_modules/lodash",
20
21
  "axios": "../node_modules/axios",
21
22
  "zustand": "../node_modules/zustand",
22
23
  "react-router-dom": "../node_modules/react-router-dom",
23
- "@types/react-router-dom": "../node_modules/@types/react-router-dom"
24
+ "@types/react-router-dom": "../node_modules/@types/react-router-dom",
25
+ "@types/lodash": "../node_modules/@types/lodash"
24
26
  },
25
27
  "dependencies": {
26
28
  "@matchain/matchid-sdk-react": "../dist",
@@ -14,6 +14,7 @@ import useLocalStore from "@/store/useLocalStore";
14
14
  import {LoginButton} from "@matchain/matchid-sdk-react/components";
15
15
  import UI from "@/pages/UI";
16
16
  import TgApp from "@/pages/TgApp";
17
+ import Contact from "./pages/Contact";
17
18
 
18
19
 
19
20
  function Nav() {
@@ -51,6 +52,12 @@ function Nav() {
51
52
  url: '/wallet',
52
53
  onActive: location.pathname === '/wallet',
53
54
  hidden: !isLogin
55
+ },
56
+ {
57
+ name: 'Contact',
58
+ url: '/contact',
59
+ onActive: location.pathname === '/contact',
60
+ hidden: !isLogin
54
61
  }
55
62
  ]
56
63
  return list
@@ -59,7 +66,7 @@ function Nav() {
59
66
  <nav className={`text-2xl mb-5 p-2 text-red-600 flex gap-10 flex-wrap`}>
60
67
  {menus.map((menu) => {
61
68
  return <Link key={menu.url} to={menu.url}
62
- className={`text-2xl ${menu.onActive ? 'text-red-600' : 'text-gray-400'} ${menu.hidden?'hidden' :''}`}>{menu.name}</Link>
69
+ className={`text-2xl ${menu.onActive ? 'text-red-600' : 'text-gray-400'} ${menu.hidden ? 'hidden' : ''}`}>{menu.name}</Link>
63
70
  })}
64
71
 
65
72
  <LoginButton/>
@@ -69,15 +76,29 @@ function Nav() {
69
76
  }
70
77
 
71
78
  function RouterApp() {
72
- const {appid, setAppid, locale, setLocale, endpoints, setEndpoints, setWalletType,walletType,backgroundColor,setBackgroundColor,color,setColor} = useLocalStore()
79
+ const {
80
+ appid,
81
+ setAppid,
82
+ locale,
83
+ setLocale,
84
+ endpoints,
85
+ setEndpoints,
86
+ setWalletType,
87
+ walletType,
88
+ backgroundColor,
89
+ setBackgroundColor,
90
+ color,
91
+ setColor
92
+ } = useLocalStore()
73
93
 
74
94
  return <Router>
75
95
  <div className={`mb-2 p-2 flex gap-2 flex-col`}>
76
96
  <div>
77
97
  <label>BackgroundColor:</label>
78
- <input value={backgroundColor} placeholder={"BackgroundColor"} className={"border-solid border"} onChange={(ele) => {
79
- setBackgroundColor(ele.target.value)
80
- }}/></div>
98
+ <input value={backgroundColor} placeholder={"BackgroundColor"} className={"border-solid border"}
99
+ onChange={(ele) => {
100
+ setBackgroundColor(ele.target.value)
101
+ }}/></div>
81
102
  <div>
82
103
  <label>Color:</label>
83
104
  <input value={color} placeholder={"Color"} className={"border-solid border"} onChange={(ele) => {
@@ -128,6 +149,7 @@ function RouterApp() {
128
149
  <Route element={<RoutePrivate/>}>
129
150
  <Route path="/user" element={<User/>}/>
130
151
  <Route path="/wallet" element={<Wallet/>}/>
152
+ <Route path="/contact" element={<Contact/>}/>
131
153
  </Route>
132
154
  </Routes>
133
155
  </div>
@@ -135,7 +157,7 @@ function RouterApp() {
135
157
  }
136
158
 
137
159
  function App() {
138
- const {appid, locale, endpoints,walletType,backgroundColor,color} = useLocalStore()
160
+ const {appid, locale, endpoints, walletType, backgroundColor, color} = useLocalStore()
139
161
 
140
162
  return <div style={{
141
163
  backgroundColor: backgroundColor,
@@ -157,7 +179,8 @@ function App() {
157
179
  }}
158
180
  >
159
181
  <RouterApp/>
160
- </MatchProvider></div>;
182
+ </MatchProvider>
183
+ </div>;
161
184
  }
162
185
 
163
186
  export default App;
@@ -0,0 +1,90 @@
1
+ import {ContactList,ContactCard} from "@matchain/matchid-sdk-react/components"
2
+ import {Field, Input, Button, Radio} from "@matchain/matchid-sdk-react/ui"
3
+ import {Api,Icon} from "@matchain/matchid-sdk-react"
4
+ import React, {useCallback, useEffect, useState} from "react";
5
+ import {debounce} from "lodash";
6
+ import {useToast} from "@matchain/matchid-sdk-react/hooks";
7
+
8
+ const {contact} = Api
9
+
10
+ function ContactSearch() {
11
+ const [value, setValue] = useState("")
12
+ const [searchValue, setSearchValue] = useState("")
13
+ const [loading,setLoading] = useState(false)
14
+ const [searching,setSearching] = useState(false)
15
+ const toast = useToast()
16
+ const debouncedSetKeyword = useCallback(
17
+ debounce((newKeyword) => {
18
+ setSearchValue(newKeyword);
19
+ }, 1500),
20
+ []
21
+ );
22
+
23
+ const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
24
+ setValue(e.target.value);
25
+ debouncedSetKeyword(e.target.value);
26
+ setSearching(true)
27
+ }
28
+
29
+ const searchQuery = contact.useContactSearch(searchValue)
30
+
31
+ useEffect(() => {
32
+ if(searchQuery.isFetched){
33
+ setSearching(false)
34
+ }
35
+ }, [searchQuery.isFetched]);
36
+
37
+
38
+ const onAdd = async()=>{
39
+ if(!searchQuery.data){
40
+ return
41
+ }
42
+ setLoading(true)
43
+ try{
44
+ await contact.addContact(searchQuery.data)
45
+ toast.success("Add Success")
46
+ }catch(error:any){
47
+ toast.success(error.message)
48
+ console.error(error)
49
+ }finally {
50
+ setLoading(false)
51
+ }
52
+ }
53
+ return <div className={`flex gap-4 flex-col`}>
54
+ <Field label={"Search"}>
55
+ <Input placeholder={"Input address or MatchID"} value={value} onChange={onChange}/>
56
+ </Field>
57
+ {(searchQuery.data || searching )&& <div className={"break-all"}>
58
+ <ContactCard loading={searching} data={!searching ?(searchQuery.data||undefined) : undefined}
59
+ action={()=>{
60
+ return searchQuery.data && <Button size="sm" onClick={onAdd} disabled={!searchQuery.data} loading={loading}>Add</Button>
61
+ }}
62
+ />
63
+ </div>}
64
+ </div>
65
+ }
66
+
67
+ export default function Contact() {
68
+ const [contactType, setContactType] = useState<"Friend" | "Requests">("Friend")
69
+
70
+ return <div className={`grid md:grid-cols-2 gap-4`}>
71
+ <div>
72
+ <Field label={"Type"}>
73
+ <div className={`flex gap-4`}>
74
+ <div onClick={() => setContactType("Friend")}
75
+ className={`flex gap-2 items-center cursor-pointer`}>
76
+ <Radio checked={contactType == "Friend"}/>
77
+ Friend
78
+ </div>
79
+ <div onClick={() => setContactType("Requests")}
80
+ className={`flex gap-2 items-center cursor-pointer`}>
81
+ <Radio checked={contactType == "Requests"}/>
82
+ Requests
83
+ </div>
84
+ </div>
85
+ </Field>
86
+ <ContactList type={contactType}/>
87
+ </div>
88
+ <ContactSearch/>
89
+ </div>
90
+ }
@@ -0,0 +1,18 @@
1
+ import {useState} from "react";
2
+ import {Tabs} from "@matchain/matchid-sdk-react/ui"
3
+ export default function TabsDemo(){
4
+ const list = ['Tab1', 'Tab2', 'Tab3']
5
+ const [activeTab, setActiveTab] = useState(0)
6
+ return <div>
7
+ <Tabs tabs={list} activeTab={activeTab} setActiveTab={setActiveTab}/>
8
+ <div>
9
+ {list.map((tab, index) => {
10
+ return <div key={index} style={{display: activeTab === index ? 'block' : 'none'}}>
11
+ {tab}
12
+ </div>
13
+ })}
14
+ </div>
15
+ </div>
16
+
17
+
18
+ }
@@ -1,11 +1,13 @@
1
1
  import SwitchDemo from "@/pages/UI/components/Switch";
2
2
  import AlphaAvatarDemo from "@/pages/UI/components/AlphaAvatar";
3
3
  import RadioDemo from "@/pages/UI/components/Radio";
4
+ import TabsDemo from "@/pages/UI/components/Tabs";
4
5
 
5
6
  export default function UI(){
6
7
  return <div>
7
8
  <SwitchDemo/>
8
9
  <AlphaAvatarDemo/>
9
10
  <RadioDemo/>
11
+ <TabsDemo/>
10
12
  </div>
11
13
  }
@@ -93,7 +93,13 @@ function LoginContent() {
93
93
  {
94
94
  Object.keys(LOGIN_METHOD_MAP).map((method) => {
95
95
  return <button key={method} className={`bg-gray-300 p-1 capitalize rounded`}
96
- onClick={() => getAuthInfo(method as keyof typeof LOGIN_METHOD_MAP)}>{LOGIN_METHOD_MAP[method as keyof typeof LOGIN_METHOD_MAP]}
96
+ onClick={async () => {
97
+ try {
98
+ await getAuthInfo(method as keyof typeof LOGIN_METHOD_MAP)
99
+ } catch (error: any) {
100
+ console.error(error, typeof error, error.toString())
101
+ }
102
+ }}>{LOGIN_METHOD_MAP[method as keyof typeof LOGIN_METHOD_MAP]}
97
103
  </button>
98
104
  })
99
105
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matchain/matchid-sdk-react",
3
- "version": "0.1.53-alpha.2",
3
+ "version": "0.1.53-alpha.20",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -66,17 +66,20 @@
66
66
  "react-dom": "^18.0.0"
67
67
  },
68
68
  "dependencies": {
69
+ "@rainbow-me/rainbowkit": "^2.2.4",
69
70
  "@tanstack/react-query": "^5.62.11",
70
71
  "@tonconnect/ui-react": "^2.0.11",
71
72
  "axios": "^1.7.0",
72
73
  "axios-retry": "^4.5.0",
73
74
  "copy-to-clipboard": "^3.3.3",
74
75
  "ethers": "^5.7.2",
76
+ "lodash": "^4.17.21",
75
77
  "moment": "^2.30.1",
76
78
  "react-infinite-scroll-component": "^6.1.0",
77
79
  "react-intl": "^7.1.0",
78
80
  "react-qrcode": "^0.3.6",
79
81
  "react-router-dom": "^6.0.0",
82
+ "react-virtuoso": "^4.12.5",
80
83
  "sats-connect": "^3.0.1",
81
84
  "siwe": "^2.3.2",
82
85
  "styled-components": "^6.1.13",
@@ -86,6 +89,7 @@
86
89
  },
87
90
  "devDependencies": {
88
91
  "@swc/core": "^1.9.1",
92
+ "@types/lodash": "^4.17.16",
89
93
  "@types/react": "^18.0.0",
90
94
  "@types/react-dom": "^18.0.0",
91
95
  "@types/react-modal": "^3.16.3",
@@ -1,97 +0,0 @@
1
- import {
2
- bindCexApi,
3
- chooseIdentityApi,
4
- getBindInfoApi,
5
- getBindListApi,
6
- getPohListApi,
7
- isSuccess,
8
- mintPassportNftApi,
9
- unBindApi,
10
- unBindWalletApi,
11
- useUserInfo,
12
- verifyPohApi,
13
- wallet_exports
14
- } from "./chunk-W5A6WY7Y.mjs";
15
- import {
16
- __export
17
- } from "./chunk-J5LGTIGS.mjs";
18
-
19
- // src/hooks/api/index.ts
20
- var api_exports = {};
21
- __export(api_exports, {
22
- bind: () => bind_exports,
23
- isSuccess: () => isSuccess,
24
- poh: () => poh_exports,
25
- user: () => user_exports,
26
- wallet: () => wallet_exports
27
- });
28
-
29
- // src/hooks/api/bind.ts
30
- var bind_exports = {};
31
- __export(bind_exports, {
32
- bindCexApi: () => bindCexApi,
33
- unBindApi: () => unBindApi,
34
- unBindWalletApi: () => unBindWalletApi,
35
- useBindInfo: () => useBindInfo,
36
- useBindList: () => useBindList
37
- });
38
- import { useQuery } from "@tanstack/react-query";
39
- function useBindList(options) {
40
- const { isLogin } = useUserInfo();
41
- return useQuery({
42
- queryKey: ["bindList"],
43
- enabled: isLogin,
44
- queryFn: async () => {
45
- let res = await getBindListApi();
46
- return res.data;
47
- },
48
- ...options
49
- });
50
- }
51
- function useBindInfo(options) {
52
- const { isLogin } = useUserInfo();
53
- return useQuery({
54
- queryKey: ["bindInfo"],
55
- enabled: isLogin,
56
- queryFn: async () => {
57
- let res = await getBindInfoApi();
58
- return res.data;
59
- },
60
- ...options
61
- });
62
- }
63
-
64
- // src/hooks/api/poh.ts
65
- var poh_exports = {};
66
- __export(poh_exports, {
67
- usePohList: () => usePohList,
68
- verifyPohApi: () => verifyPohApi
69
- });
70
- import { useQuery as useQuery2 } from "@tanstack/react-query";
71
- function usePohList(options) {
72
- const { isLogin } = useUserInfo();
73
- return useQuery2({
74
- queryKey: ["pohList"],
75
- enabled: isLogin,
76
- queryFn: async () => {
77
- let res = await getPohListApi();
78
- return res.data;
79
- },
80
- ...options
81
- });
82
- }
83
-
84
- // src/hooks/api/user.ts
85
- var user_exports = {};
86
- __export(user_exports, {
87
- chooseIdentityApi: () => chooseIdentityApi,
88
- mintPassportNftApi: () => mintPassportNftApi
89
- });
90
-
91
- export {
92
- bind_exports,
93
- poh_exports,
94
- user_exports,
95
- api_exports
96
- };
97
- //# sourceMappingURL=chunk-4A2YPGO3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/api/index.ts","../src/hooks/api/bind.ts","../src/hooks/api/poh.ts","../src/hooks/api/user.ts"],"sourcesContent":["export * as bind from \"./bind\";\nexport * as poh from \"./poh\";\nexport * as user from \"./user\";\nexport * as wallet from \"./wallet\";\nexport {isSuccess} from \"../../api/request\"","import {useQuery} from \"@tanstack/react-query\";\nimport useUserInfo from \"../useUserInfo\";\nimport type {UseQueryOptions} from \"@tanstack/react-query/src/types\";\nimport {BindInfoType, BindItemType} from \"../../types/types\";\nimport {getBindInfoApi, getBindListApi} from \"../../api\";\n\nexport {bindCexApi, unBindApi, unBindWalletApi} from \"../../api\";\n\nexport function useBindList(options?: Partial<Omit<UseQueryOptions<BindItemType[]>, 'queryKey' | 'queryFn'>>) {\n const {isLogin} = useUserInfo()\n return useQuery<BindItemType[]>({\n queryKey: ['bindList'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getBindListApi()\n return res.data\n },\n ...options\n })\n}\n\nexport function useBindInfo(options?: Partial<Omit<UseQueryOptions<BindInfoType>, 'queryKey' | 'queryFn'>>) {\n const {isLogin} = useUserInfo()\n return useQuery<BindInfoType>({\n queryKey: ['bindInfo'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getBindInfoApi()\n return res.data\n },\n ...options\n })\n}\n","import {useQuery} from \"@tanstack/react-query\";\nimport useUserInfo from \"../useUserInfo\";\nimport type {UseQueryOptions} from \"@tanstack/react-query/src/types\";\nimport {PohItemType} from \"types/types\";\nimport {getPohListApi} from \"api\";\nexport {verifyPohApi} from \"api\";\n\nexport function usePohList(options?: Partial<Omit<UseQueryOptions<PohItemType[]>, 'queryKey' | 'queryFn'>>) {\n const {isLogin} = useUserInfo()\n return useQuery<PohItemType[]>({\n queryKey: ['pohList'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getPohListApi()\n return res.data\n },\n ...options\n })\n}","export {mintPassportNftApi,chooseIdentityApi} from \"api\""],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAQ,gBAAe;AAQhB,SAAS,YAAY,SAAkF;AAC1G,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,SAAO,SAAyB;AAAA,IAC5B,UAAU,CAAC,UAAU;AAAA,IACrB,SAAS;AAAA,IACT,SAAS,YAAY;AACjB,UAAI,MAAM,MAAM,eAAe;AAC/B,aAAO,IAAI;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;AAEO,SAAS,YAAY,SAAgF;AACxG,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,SAAO,SAAuB;AAAA,IAC1B,UAAU,CAAC,UAAU;AAAA,IACrB,SAAS;AAAA,IACT,SAAS,YAAY;AACjB,UAAI,MAAM,MAAM,eAAe;AAC/B,aAAO,IAAI;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;;;AChCA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAQ,YAAAA,iBAAe;AAOhB,SAAS,WAAW,SAAiF;AACxG,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,SAAOC,UAAwB;AAAA,IAC3B,UAAU,CAAC,SAAS;AAAA,IACpB,SAAS;AAAA,IACT,SAAS,YAAY;AACjB,UAAI,MAAM,MAAM,cAAc;AAC9B,aAAO,IAAI;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;;;AClBA;AAAA;AAAA;AAAA;AAAA;","names":["useQuery","useQuery"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/index.ts","../src/ui/Button/index.tsx","../src/ui/Overlay/index.tsx","../src/ui/Drawer/index.tsx","../src/ui/Field/index.tsx","../src/ui/HashPanel/index.tsx","../src/hooks/useLayout.tsx","../src/ui/Modal/index.tsx","../src/ui/ModalDrawer/index.tsx","../src/hooks/useHash.ts","../src/utils/matchlog.ts","../src/ui/Input/index.tsx","../src/ui/Popover/index.tsx","../src/ui/Switch/index.tsx","../src/ui/AlphaAvatar/index.tsx","../src/ui/Radio/index.tsx"],"sourcesContent":["export { default as Button } from './Button';\nexport { default as Drawer } from './Drawer';\nexport { default as Field } from './Field';\nexport { default as HashPanel } from './HashPanel';\nexport { default as Input } from './Input';\nexport { default as Modal,ModalWithHeader } from './Modal';\nexport { default as ModalDrawer } from './ModalDrawer';\nexport { default as Overlay } from './Overlay';\nexport { default as Popover } from './Popover';\nexport { default as Switch } from './Switch';\nexport { default as AlphaAvatar } from './AlphaAvatar';\nexport { default as Radio } from './Radio';","import {LoadingIcon} from \"assets/icon\";\nimport {ButtonProps} from \"../../types/types\";\n\nexport default function Button({\n size = \"df\",\n disabled = false,\n loading = false,\n children,\n onClick,\n highlight = false,\n block = false,\n type = \"button\",\n rounded = true,\n className = '',\n style = {}\n }: ButtonProps) {\n\n const onAction = () => {\n if (!disabled && !loading) {\n onClick && onClick()\n }\n }\n return <button\n type={type}\n className={`${className} matchid-btn ${'matchid-btn-' + size} ${highlight ? \"matchid-btn-highlight\" : ''} ${loading ? \"matchid-btn-loading\" : ''} ${block ? \"matchid-btn-block\" : ''} ${rounded ? \"matchid-btn-rounded\" : ''}`}\n disabled={disabled || loading}\n style={{\n ...style\n }}\n onClick={onAction}\n >\n {\n loading ?\n <LoadingIcon className=\"matchid-btn-loading-icon\" color=\"var(--matchid-btn-loading-color)\"/> :\n children\n }\n </button>\n}","import React, {PropsWithChildren, useEffect} from \"react\";\n\nexport default function Overlay({\n isOpen = false,\n children,\n zIndex = 100,\n }: {\n isOpen?: boolean\n zIndex?: number\n} & PropsWithChildren) {\n useEffect(() => {\n if (isOpen) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"\";\n }\n\n return () => {\n document.body.style.overflow = \"\";\n };\n }, [isOpen]);\n return isOpen ? <div\n className=\"matchid-overlay\"\n style={{\n zIndex\n }}\n >\n {children}\n </div> : <></>\n}","import React, {PropsWithChildren} from \"react\";\nimport Overlay from \"../Overlay\";\nimport {CloseRoundIcon} from \"assets/icon\";\nimport {DrawerProps} from \"../../types\";\nimport ArrowLeftIcon from \"../../assets/icon/ArrowLeftIcon\";\n\nexport default function Drawer({\n children,\n showClose = true,\n onClose,\n isOpen = false,\n title,\n zIndex = 100,\n onBack\n }: DrawerProps) {\n\n if (!isOpen) {\n return <></>\n }\n\n\n return <Overlay isOpen={isOpen} zIndex={zIndex}>\n <div className={\"matchid-drawer\"}>\n <div className={`matchid-drawer-header matchid-flex`}>\n <div className={`matchid-drawer-header-content matchid-flex`}>\n {onBack && <ArrowLeftIcon height={25} width={24} className=\"matchid-drawer-header-back\" onClick={onBack}/>}\n {title}\n </div>\n {\n showClose && <CloseRoundIcon className={\"matchid-drawer-header-close\"} onClick={onClose}/>\n }\n </div>\n\n {children}\n </div>\n </Overlay>\n}","import {PropsWithChildren, ReactNode} from \"react\";\n\nexport default function Field({\n label,\n children,\n error,\n required,\n className=''\n }:{\n label: ReactNode,\n error?: ReactNode,\n required?: boolean\n className?: string\n\n}&PropsWithChildren){\n return <div className={`matchid-field-box ${className}`}>\n <div className=\"matchid-field-label\">{required&&<span className={\"matchid-field-required\"}>*</span>}{label}</div>\n {children}\n {error && <div className=\"matchid-field-error\">{error}</div>}\n </div>\n\n}","import {\n http,\n Hash,\n createPublicClient, Chain,\n} from \"viem\";\nimport {useEffect, useState} from \"react\";\nimport {useQuery} from \"@tanstack/react-query\";\nimport ModalDrawer from \"../ModalDrawer\";\nimport Button from \"../Button\";\nimport ConfirmImg from \"assets/img/confirm.gif\"\nimport PendingImg from \"assets/img/pending.gif\"\nimport SuccessImg from \"assets/img/success.gif\"\nimport FailImg from \"assets/img/fail.gif\"\nimport matchlog from \"../../utils/matchlog\";\nimport useHash from \"../../hooks/useHash\";\n\ntype statusType = 'pending' | 'success' | 'fail' | 'confirm'\ntype HashPanelProps = {\n hash?: Hash | null,\n chain?: Chain | null,\n isOpen: boolean,\n onClose: () => void\n zIndex?: number\n}\n\nfunction HashPanel({\n hash,\n chain,\n isOpen,\n onClose,\n zIndex,\n }: HashPanelProps) {\n const [status, setStatus] = useState<statusType>('confirm')\n\n const statusMaps: Record<statusType, {\n icon: string;\n text: string;\n color: string\n }> = {\n 'confirm': {\n icon: ConfirmImg,\n text: 'Confirming...',\n color: '#FC802D'\n },\n 'pending': {\n icon: PendingImg,\n text: 'Pending...',\n color: '#FC802D'\n },\n 'success': {\n icon: SuccessImg,\n text: 'Successful!',\n color: '#2CBF68'\n },\n 'fail': {\n icon: FailImg,\n text: 'Failed!',\n color: '#F14141'\n }\n }\n\n const statusValue = statusMaps[status]\n const [shouldRefetch, setShouldRefetch] = useState(true)\n\n useEffect(() => {\n if (hash) {\n setShouldRefetch(true)\n setStatus('pending')\n } else {\n setStatus('confirm')\n }\n }, [hash])\n const hashQuery = useHash({\n hash,\n chain,\n refetchInterval: shouldRefetch ? 3000 : false\n })\n useEffect(() => {\n if(hashQuery.data==1||hashQuery.data==-1){\n setShouldRefetch(false)\n }\n if(hashQuery.data==1){\n setStatus('success')\n }else if(hashQuery.data==-1){\n setStatus('fail')\n }else if(hashQuery.data==0){\n setStatus('pending')\n }\n }, [hashQuery.data]);\n\n const link = chain ? `${chain?.blockExplorers?.default.url}/tx/${hash}` : '';\n\n return <ModalDrawer isOpen={isOpen}\n showClose\n onClose={onClose}\n zIndex={zIndex}\n title={\n <div className={\"matchid-hashpanel-header\"}\n style={{\n color: statusValue.color\n }}>{statusValue.text}</div>\n }\n >\n <div className=\"matchid-hashpanel-box\">\n <div className=\"matchid-hashpanel-content\">\n <div className={`matchid-hashpanel-status`} style={{\n color: statusValue.color\n }}>{statusValue.text}</div>\n\n <img src={statusValue.icon} alt={statusValue.text} className={`matchid-hashpanel-img`}/>\n\n {hash && <div className=\"matchid-hashpanel-hash\">\n Hash:<a href={link} target=\"_blank\">{hash}</a>\n </div>}\n </div>\n <Button onClick={onClose} size=\"lg\" block>Back</Button>\n </div>\n </ModalDrawer>\n}\n\nexport default function (props: HashPanelProps) {\n return props.isOpen && <HashPanel {...props}/>\n\n}","import { useState ,useEffect} from \"react\";\n\nexport function useDownMd(): boolean {\n const [isBelowMd, setIsBelowMd] = useState(window.matchMedia('(max-width: 767px)').matches);\n\n useEffect(() => {\n const handleResize = () => {\n setIsBelowMd(window.matchMedia('(max-width: 767px)').matches);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isBelowMd;\n}","import React, {useEffect} from \"react\";\nimport {ModalProps, ModalWithHeaderProps} from \"../../types\";\nimport ArrowLeftIcon from \"../../assets/icon/ArrowLeftIcon\";\nimport {CloseRoundIcon} from \"../../assets/icon\";\nimport {useDownMd} from \"../../hooks/useLayout\";\nimport Overlay from \"../Overlay\";\n\nexport default function Modal({\n children,\n isOpen,\n width = 480,\n zIndex = 100,\n className = ''\n }: ModalProps) {\n\n return <Overlay isOpen={isOpen} zIndex={zIndex}>\n <div className={`matchid-modal ${className}`} style={{\n width\n }}>\n <div className=\"matchid-modal-mobile-header\"></div>\n {children}\n </div>\n </Overlay>\n}\n\nexport function ModalWithHeader({\n children,\n onBack,\n onClose,\n title,\n showBorder = true,\n showClose = true,\n ...props\n\n }: ModalWithHeaderProps) {\n const isDownMd = useDownMd()\n return <Modal {...props}>\n <div className={`matchid-modal-header ${showBorder ? 'matchid-modal-header-border' : ''}`}>\n <div className=\"matchid-modal-header-content\">\n {\n onBack &&\n <ArrowLeftIcon height={isDownMd ? 20 : 25} width={isDownMd ? 20 : 24} className=\"matchid-modal-header-back\" onClick={onBack}/>\n }\n <span className=\"matchid-modal-header-title\">{title}</span>\n </div>\n {onClose &&\n <CloseRoundIcon size={isDownMd ? 24 : 30} className=\"matchid-modal-header-close\" onClick={onClose}/>}\n </div>\n {children}\n </Modal>\n\n}","import {useDownMd} from \"hooks/useLayout\";\nimport {ModalWithHeader} from \"../Modal\";\nimport Drawer from \"../Drawer\";\nimport {WalletPanelProps} from \"../../types\";\n\nexport default function ModalDrawer({\n title,\n drawerTitleVisible=true,\n ...props}:WalletPanelProps){\n\n const isDownMd = useDownMd()\n if(isDownMd){\n return <ModalWithHeader {...props} title={title}/>\n }\n return <Drawer {...props} title={drawerTitleVisible ? title : null}/>\n}","import {useQuery} from \"@tanstack/react-query\";\nimport {Chain, createPublicClient, http} from \"viem\";\nimport matchlog from \"../utils/matchlog\";\n\nexport default function useHash({\n hash,\n chain,\n refetchInterval,\n enabled=true\n }:{\n hash?: `0x${string}` | null,\n chain?: Chain | null,\n refetchInterval?:false|number\n enabled?:boolean\n}){\n return useQuery(\n {\n queryKey: ['txhash', hash, chain],\n queryFn: async () => {\n if (!chain || !hash) return false\n const publicClient = createPublicClient({\n chain,\n transport: http(),\n });\n try {\n const receipt = await publicClient.getTransactionReceipt({hash});\n\n if (!receipt) {\n return 0\n }\n matchlog.log('getTransactionReceipt', receipt)\n if (receipt.status === 'success') {\n return 1\n }\n return -1\n\n } catch (error) {\n console.error('getTransactionReceiptError', error)\n }\n return -99\n },\n enabled: !!chain && !!hash && enabled,\n refetchInterval,\n // refetchIntervalInBackground: false\n }\n );\n}","// src/utils/logger.ts\nconst matchDevExists = () => localStorage.getItem('matchid-sdk-react-debug') !== null;\n\nconst handler = {\n get(target: any, prop: string) {\n if (matchDevExists() && typeof target[prop] === 'function') {\n return target[prop].bind(console);\n }\n return () => {};\n }\n};\n\nconst matchlog = new Proxy(console, handler);\n\nexport default matchlog;","import {InputProps} from \"types/types\";\nimport {DeleteRoundIcon, CloseEyeIcon, OpenEyeIcon} from \"assets/icon\";\nimport {useState} from \"react\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function Input({\n onChange,\n type,\n after,\n className = '',\n ...props\n }: InputProps) {\n const [inputType, setInputType] = useState(type)\n const isDownMd = useDownMd()\n return <div\n className={`matchid-input-box ${props.value && props.value.length > 0 ? 'matchid-input-has-content' : ''} ${className}`}>\n <input type={inputType} onChange={onChange} {...props} className=\"matchid-input-field\"/>\n {\n props.value && props.value.length > 0\n && <div className=\"matchid-input-delete-icon\" onClick={(e) => {\n if (onChange) {\n onChange({target: {value: ''}});\n }\n }}>\n <DeleteRoundIcon height={isDownMd ? 16 : 21} width={isDownMd ? 16 : 20}\n color=\"var(--matchid-input-delete-icon-color)\"/>\n </div>\n }\n {\n type === 'password' && <div className=\"matchid-input-eye-icon\" onClick={() => {\n setInputType(inputType === 'password' ? 'text' : 'password')\n }}>\n {\n inputType === 'password' ? <CloseEyeIcon size={isDownMd ? 16 : 20}/> :\n <OpenEyeIcon size={isDownMd ? 16 : 20}/>\n }\n </div>\n }\n {\n after\n }\n </div>\n\n}","import {useState} from \"react\";\nimport {PopoverProps} from \"../../types/types\";\n\nexport default function Popover({\n children,\n content,\n position = \"right\",\n type = \"hover\",\n className = \"\",\n gap = '20px'\n }: PopoverProps) {\n const [active, setActive] = useState(false)\n return children && <div\n onClick={() => {\n if (type == 'click') {\n setActive(!active)\n }\n }}\n className={`matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == 'click' && active ? 'matchid-popover-click-active' : ''}`}>\n {children}\n <div style={{\n paddingTop: gap\n }} className={`matchid-popover-area`}>\n <div className={`matchid-popover-content`}>\n {content}\n </div>\n </div>\n </div>\n\n}","import {UIProps} from \"../../types\";\nimport {LoadingIcon} from \"../../assets/icon\";\n\nexport default function Switch({\n size=\"default\",\n checked=false,\n loading=false,\n onChange,\n className,\n disabled=false,\n ...props\n }:{\n size?:\"default\"|\"sm\",\n checked?:boolean,\n loading?:boolean,\n disabled?:boolean,\n onChange?:(checked:boolean)=>void,\n}&UIProps){\n const onClick = ()=>{\n if(!disabled && !loading){\n onChange && onChange(!checked)\n }\n }\n return <div onClick={onClick} className={`matchid-switch matchid-switch-${size} ${checked ? \"matchid-switch-checked\":\"\"} ${disabled ? \"matchid-switch-disabled\":\"\"} ${loading ? \"matchid-switch-loading\":\"\"}`} {...props}>\n\n {\n loading ?\n <LoadingIcon className=\"matchid-switch-loading-icon\" size={size==\"default\"?24:18} color=\"var(--matchid-swicth-loading-color)\"/> :\n <div className={\"matchid-switch-ball\"}></div>\n }\n </div>\n}","import { useMemo} from \"react\";\nimport {UIProps} from \"../../types\";\n\nexport default function AlphaAvatar({\n name,\n size = \"default\", className = '',style}: {\n name: string,\n size?: number|\"sm\"|\"default\"|\"lg\",\n}&UIProps) {\n\n const avatar = useMemo(()=>{\n if (name) {\n const char = name[0].toUpperCase()\n if (char.match(/[a-zA-Z0-9]/)) {\n return char\n }\n }\n return ''\n },[name])\n\n const numberSize = typeof size === 'number' ? size : size === 'sm' ? 24 : size === 'default' ? 40 : 64\n return <div className={`matchid-alpha-avatar ${className}`} style={{\n width: numberSize,\n height: numberSize,\n fontSize: Math.ceil(numberSize / 2),\n ...style\n }}>\n {avatar}\n </div>\n}","import {CSSProperties} from \"react\";\n\nexport default function Radio({\n checked = false,\n onChange,\n size = 24,\n color = \"#FC802D\",\n className = \"\",\n style = {}\n }: {\n checked?: boolean,\n onChange?: () => void\n size?: number,\n color?: string,\n className?: string,\n style?: CSSProperties\n}) {\n return <div onClick={onChange} className={`matchid-radio ${className} ${checked ? 'matchid-radio-checked' :''}`} style={{\n width: size,\n height: size,\n ...style,\n // @ts-ignore\n '--matchid-radio-checked': color\n }}>\n {checked && <div className={`matchid-radio-content`} style={{\n width:Math.floor(size*0.7),\n height:Math.floor(size*0.7),\n }}></div>}\n </div>\n}"],"mappings":"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","names":["jsx","Fragment","jsx","jsx","jsxs","useEffect","useState","useEffect","jsx","jsxs","jsx","jsx","jsxs","useState","useEffect","useState","jsx","jsxs","useState","useState","jsx","jsxs","jsx","jsx","jsx"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/config/chains/index.ts","../src/config/chains/MatchMain.ts","../src/config/chains/MatchTest.ts"],"sourcesContent":["export { matchMain as MatchMain} from \"./MatchMain\"\nexport { matchTest as MatchTest} from \"./MatchTest\"","import {defineChain} from \"viem\";\n\nexport const matchMain = /*#__PURE__*/ defineChain({\n //定义match链\n id: 698,\n name: \"Matchain\",\n nativeCurrency: { name: \"Match Coin\", symbol: \"BNB\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.matchain.io\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Matchscan\",\n url: \"https://matchscan.io/\",\n apiUrl: \"https://matchscan.io/api\",\n },\n },\n iconUrl: \"https://matchscan.io/static/identicon_logos/blockies.png\",\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n }\n },\n // testnet: true,\n});","\nimport { defineChain } from \"viem\"\n\nexport const matchTest = /*#__PURE__*/ defineChain({\n //定义matchTest链\n id: 699,\n name: \"MatchTest\",\n nativeCurrency: { name: \"Match Coin\", symbol: \"BNB\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet-rpc.matchain.io\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Matchscan\",\n url: \"https://testnet.matchscan.io/\",\n apiUrl: \"https://testnet.matchscan.io/api\",\n },\n },\n iconUrl: \"https://testnet.matchscan.io/static/identicon_logos/blockies.png\",\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 751532,\n },\n ensRegistry: { address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\" },\n ensUniversalResolver: {\n address: \"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC\",\n blockCreated: 5_317_080,\n },\n },\n // testnet: true,\n});\n"],"mappings":";;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,SAAQ,mBAAkB;AAEnB,IAAM,YAA0B,4BAAY;AAAA;AAAA,EAE/C,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB,EAAE,MAAM,cAAc,QAAQ,OAAO,UAAU,GAAG;AAAA,EAClE,SAAS;AAAA,IACL,SAAS;AAAA,MACL,MAAM,CAAC,yBAAyB;AAAA,IACpC;AAAA,EACJ;AAAA,EACA,gBAAgB;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,IACZ;AAAA,EACJ;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,IACP,YAAY;AAAA,MACR,SAAS;AAAA,IACb;AAAA,EACJ;AAAA;AAEJ,CAAC;;;ACzBD,SAAS,eAAAA,oBAAmB;AAErB,IAAM,YAA0B,gBAAAA,aAAY;AAAA;AAAA,EAEjD,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB,EAAE,MAAM,cAAc,QAAQ,OAAO,UAAU,GAAG;AAAA,EAClE,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,iCAAiC;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,IACT,YAAY;AAAA,MACV,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,aAAa,EAAE,SAAS,6CAA6C;AAAA,IACrE,sBAAsB;AAAA,MACpB,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF;AAAA;AAEF,CAAC;","names":["defineChain"]}