@cfxjs/sirius-next-common 0.0.1 → 0.0.2-zg

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 (611) hide show
  1. package/dist/{components/AddressContainer/index.js → chunk-26BGPSLL.js} +30 -40
  2. package/dist/chunk-26BGPSLL.js.map +1 -0
  3. package/dist/{chunk-QNPGAFQK.js → chunk-3D3AULGE.js} +4 -4
  4. package/dist/{chunk-2CWEC36S.js.map → chunk-3D3AULGE.js.map} +1 -1
  5. package/dist/{chunk-CJQCVR64.js → chunk-3DSBII47.js} +19 -2
  6. package/dist/chunk-3DSBII47.js.map +1 -0
  7. package/dist/{chunk-GKAPQ7LN.js → chunk-43RJJ6FE.js} +44 -47
  8. package/dist/chunk-43RJJ6FE.js.map +1 -0
  9. package/dist/chunk-65X53DMW.js +47 -0
  10. package/dist/chunk-65X53DMW.js.map +1 -0
  11. package/dist/{chunk-AIAFDTQT.js → chunk-7CRUFCGX.js} +35 -20
  12. package/dist/chunk-7CRUFCGX.js.map +1 -0
  13. package/dist/chunk-7JJQSXBV.js +141 -0
  14. package/dist/chunk-7JJQSXBV.js.map +1 -0
  15. package/dist/chunk-7OAWG2IZ.js +44 -0
  16. package/dist/chunk-7OAWG2IZ.js.map +1 -0
  17. package/dist/{chunk-NCT7N5ZO.js → chunk-7SH3YCJ7.js} +98 -4
  18. package/dist/chunk-7SH3YCJ7.js.map +1 -0
  19. package/dist/chunk-A7RMNSCW.js +250 -0
  20. package/dist/chunk-A7RMNSCW.js.map +1 -0
  21. package/dist/{chunk-JZRCC4Q7.js → chunk-AA66QSDL.js} +30 -6
  22. package/dist/{chunk-M2WED4GE.js.map → chunk-AA66QSDL.js.map} +1 -1
  23. package/dist/{chunk-RLZTFLPD.js → chunk-ADPYV4OL.js} +36 -2
  24. package/dist/chunk-ADPYV4OL.js.map +1 -0
  25. package/dist/{chunk-54J4VH5Z.js → chunk-AMXXTGCE.js} +30 -6
  26. package/dist/chunk-AMXXTGCE.js.map +1 -0
  27. package/dist/chunk-BSSE7DI3.js +257 -0
  28. package/dist/chunk-BSSE7DI3.js.map +1 -0
  29. package/dist/chunk-CBLGPZ6N.js +108 -0
  30. package/dist/chunk-CBLGPZ6N.js.map +1 -0
  31. package/dist/{chunk-4V4K4OJ4.js → chunk-CDYJDIZL.js} +6 -6
  32. package/dist/{chunk-4V4K4OJ4.js.map → chunk-CDYJDIZL.js.map} +1 -1
  33. package/dist/{chunk-OBX6RJEW.js → chunk-CFRPDLWO.js} +1 -1
  34. package/dist/{chunk-IM77KPX5.js.map → chunk-CFRPDLWO.js.map} +1 -1
  35. package/dist/{chunk-2CS64Q56.js → chunk-CLGITWOX.js} +43 -18
  36. package/dist/chunk-CLGITWOX.js.map +1 -0
  37. package/dist/{chunk-2ONZ5M75.js → chunk-CQLD2WE7.js} +66 -1211
  38. package/dist/chunk-CQLD2WE7.js.map +1 -0
  39. package/dist/chunk-CZ3CBSQG.js +141 -0
  40. package/dist/chunk-CZ3CBSQG.js.map +1 -0
  41. package/dist/{chunk-MCZT23D6.js → chunk-D3CVJAPF.js} +30 -6
  42. package/dist/chunk-D3CVJAPF.js.map +1 -0
  43. package/dist/{chunk-YVIZX6QJ.js → chunk-DOYWQVTM.js} +46 -16
  44. package/dist/chunk-DOYWQVTM.js.map +1 -0
  45. package/dist/{chunk-UH5JZYVE.js → chunk-DPSCMWIB.js} +4 -4
  46. package/dist/{chunk-5AEWLDN5.js.map → chunk-DPSCMWIB.js.map} +1 -1
  47. package/dist/{chunk-JCVKAQDU.js → chunk-ESE4IOXB.js} +8 -7
  48. package/dist/chunk-ESE4IOXB.js.map +1 -0
  49. package/dist/{chunk-LDWHYCAM.js → chunk-EUWX4WGR.js} +9 -3
  50. package/dist/chunk-EUWX4WGR.js.map +1 -0
  51. package/dist/{chunk-R5ECXT74.js → chunk-EVCNR7M7.js} +2 -2
  52. package/dist/{chunk-R5ECXT74.js.map → chunk-EVCNR7M7.js.map} +1 -1
  53. package/dist/{chunk-6ITBEFLS.js → chunk-GUCQ4F2G.js} +4 -4
  54. package/dist/{chunk-6ITBEFLS.js.map → chunk-GUCQ4F2G.js.map} +1 -1
  55. package/dist/{chunk-25QWXIAS.js → chunk-HRW4BUP4.js} +18 -1
  56. package/dist/chunk-HRW4BUP4.js.map +1 -0
  57. package/dist/{chunk-M6AOTEU6.js → chunk-HVLEBJG6.js} +30 -6
  58. package/dist/chunk-HVLEBJG6.js.map +1 -0
  59. package/dist/{chunk-AEYHX3HP.js → chunk-IEPHKAPT.js} +2 -2
  60. package/dist/{chunk-ZSP5VMHE.js.map → chunk-IEPHKAPT.js.map} +1 -1
  61. package/dist/chunk-ILJFYWLB.js +353 -0
  62. package/dist/chunk-ILJFYWLB.js.map +1 -0
  63. package/dist/chunk-JUKLHM7G.js +108 -0
  64. package/dist/chunk-JUKLHM7G.js.map +1 -0
  65. package/dist/{chunk-DYCUWPED.js → chunk-K3I5KE22.js} +10 -8
  66. package/dist/chunk-K3I5KE22.js.map +1 -0
  67. package/dist/chunk-KGSYZCQQ.js +257 -0
  68. package/dist/chunk-KGSYZCQQ.js.map +1 -0
  69. package/dist/chunk-KJU5OLS3.js +150 -0
  70. package/dist/chunk-KJU5OLS3.js.map +1 -0
  71. package/dist/{chunk-4ZNTVKIA.js → chunk-KSQ43WMM.js} +2 -2
  72. package/dist/chunk-KTFYV3XJ.js +3629 -0
  73. package/dist/chunk-KTFYV3XJ.js.map +1 -0
  74. package/dist/chunk-KVUV4ZYP.js +108 -0
  75. package/dist/chunk-KVUV4ZYP.js.map +1 -0
  76. package/dist/{chunk-UBCDOZDY.js → chunk-L7LRX5XU.js} +62 -1218
  77. package/dist/chunk-L7LRX5XU.js.map +1 -0
  78. package/dist/{chunk-YO35FTDP.js → chunk-LHGQPHTE.js} +43 -18
  79. package/dist/chunk-LHGQPHTE.js.map +1 -0
  80. package/dist/{chunk-AGOKIWZZ.js → chunk-LKVGVLCW.js} +2 -2
  81. package/dist/chunk-LKVGVLCW.js.map +1 -0
  82. package/dist/{chunk-5IEZKHNQ.js → chunk-LRCAKRPK.js} +1 -1
  83. package/dist/{chunk-5IEZKHNQ.js.map → chunk-LRCAKRPK.js.map} +1 -1
  84. package/dist/{chunk-QEA5CFVU.js → chunk-MWUMNQPB.js} +10 -8
  85. package/dist/chunk-MWUMNQPB.js.map +1 -0
  86. package/dist/{chunk-C6QGEHOL.js → chunk-NDCMVJNJ.js} +28 -4
  87. package/dist/chunk-NDCMVJNJ.js.map +1 -0
  88. package/dist/{chunk-45GWWTGX.js → chunk-NQNVZ2Y2.js} +43 -18
  89. package/dist/chunk-NQNVZ2Y2.js.map +1 -0
  90. package/dist/chunk-NWAEIKOD.js +108 -0
  91. package/dist/chunk-NWAEIKOD.js.map +1 -0
  92. package/dist/{chunk-NMFJLSY5.js → chunk-P25K2ZQD.js} +6 -5
  93. package/dist/chunk-P25K2ZQD.js.map +1 -0
  94. package/dist/chunk-PH2C43JH.js +257 -0
  95. package/dist/chunk-PH2C43JH.js.map +1 -0
  96. package/dist/chunk-PT3E35FJ.js +141 -0
  97. package/dist/chunk-PT3E35FJ.js.map +1 -0
  98. package/dist/{chunk-HR2KNVPF.js → chunk-Q6F2K6RX.js} +10 -8
  99. package/dist/chunk-Q6F2K6RX.js.map +1 -0
  100. package/dist/chunk-QF5ASUBG.js +3629 -0
  101. package/dist/chunk-QF5ASUBG.js.map +1 -0
  102. package/dist/{chunk-WFCK7FPT.js → chunk-QKQG47IV.js} +31 -9
  103. package/dist/chunk-QKQG47IV.js.map +1 -0
  104. package/dist/chunk-QXH3T2BM.js +13 -0
  105. package/dist/chunk-QXH3T2BM.js.map +1 -0
  106. package/dist/{chunk-NO7KRLGV.js → chunk-RD7ICJJF.js} +8 -7
  107. package/dist/chunk-RD7ICJJF.js.map +1 -0
  108. package/dist/{chunk-T7BICPTT.js → chunk-RI63CIWZ.js} +60 -1223
  109. package/dist/chunk-RI63CIWZ.js.map +1 -0
  110. package/dist/{chunk-OK7ZHYID.js → chunk-RTUI55OW.js} +37 -21
  111. package/dist/chunk-RTUI55OW.js.map +1 -0
  112. package/dist/{chunk-2IQSVQYV.js → chunk-RVARUZVC.js} +3 -3
  113. package/dist/{chunk-WML236LE.js → chunk-RWMP7K3H.js} +4 -4
  114. package/dist/{chunk-624443IP.js → chunk-TLC6WXQ6.js} +2 -2
  115. package/dist/{chunk-624443IP.js.map → chunk-TLC6WXQ6.js.map} +1 -1
  116. package/dist/{chunk-FXBVUGRI.js → chunk-TOKKKTFG.js} +6 -6
  117. package/dist/chunk-TOKKKTFG.js.map +1 -0
  118. package/dist/{chunk-5AEWLDN5.js → chunk-TQ4T3Y2Y.js} +4 -4
  119. package/dist/{chunk-H3IMRG3I.js.map → chunk-TQ4T3Y2Y.js.map} +1 -1
  120. package/dist/chunk-TQS322QQ.js +3629 -0
  121. package/dist/chunk-TQS322QQ.js.map +1 -0
  122. package/dist/{chunk-AURJNQGW.js → chunk-TXNXFHTS.js} +10 -8
  123. package/dist/chunk-TXNXFHTS.js.map +1 -0
  124. package/dist/{chunk-OWEKHXL6.js → chunk-UZEZWJOB.js} +2 -2
  125. package/dist/{chunk-BU3LY3N5.js.map → chunk-UZEZWJOB.js.map} +1 -1
  126. package/dist/chunk-VALKQOSX.js +150 -0
  127. package/dist/chunk-VALKQOSX.js.map +1 -0
  128. package/dist/{chunk-OYJGSKTU.js → chunk-VGCTU7HB.js} +43 -18
  129. package/dist/chunk-VGCTU7HB.js.map +1 -0
  130. package/dist/{chunk-XQHSIGUO.js → chunk-VHHCKHYE.js} +37 -21
  131. package/dist/chunk-VHHCKHYE.js.map +1 -0
  132. package/dist/{chunk-BU3LY3N5.js → chunk-VXOIIFIY.js} +2 -2
  133. package/dist/{chunk-MABMW3F2.js.map → chunk-VXOIIFIY.js.map} +1 -1
  134. package/dist/{chunk-2SJLVUR5.js → chunk-WPMARG3B.js} +3 -3
  135. package/dist/{chunk-MABMW3F2.js → chunk-WPQJIRK6.js} +2 -2
  136. package/dist/{chunk-OWEKHXL6.js.map → chunk-WPQJIRK6.js.map} +1 -1
  137. package/dist/chunk-XKKCZHHP.js +150 -0
  138. package/dist/chunk-XKKCZHHP.js.map +1 -0
  139. package/dist/{chunk-AQPHS44A.js → chunk-XZPP35AP.js} +2 -2
  140. package/dist/{chunk-AQPHS44A.js.map → chunk-XZPP35AP.js.map} +1 -1
  141. package/dist/{chunk-APPX7GEO.js → chunk-ZAKHKJLN.js} +3 -3
  142. package/dist/{chunk-5A2Q4BEC.js.map → chunk-ZAKHKJLN.js.map} +1 -1
  143. package/dist/{chunk-SQZ7HX2Q.js → chunk-ZRKRTAKY.js} +56 -24
  144. package/dist/chunk-ZRKRTAKY.js.map +1 -0
  145. package/dist/components/AddressContainer/CoreAddressContainer.d.ts +8 -0
  146. package/dist/components/AddressContainer/CoreAddressContainer.js +21 -0
  147. package/dist/components/AddressContainer/EVMAddressContainer.d.ts +8 -0
  148. package/dist/components/AddressContainer/EVMAddressContainer.js +19 -0
  149. package/dist/components/AddressContainer/EVMAddressContainer.js.map +1 -0
  150. package/dist/components/AddressContainer/addressSwitcher.d.ts +3 -4
  151. package/dist/components/AddressContainer/addressSwitcher.js +11 -9
  152. package/dist/components/AddressContainer/addressView.d.ts +0 -3
  153. package/dist/components/AddressContainer/addressView.js +10 -8
  154. package/dist/components/AddressContainer/label.js +6 -4
  155. package/dist/components/AddressContainer/types.d.ts +26 -9
  156. package/dist/components/Button/BaseButton/index.d.ts +1 -1
  157. package/dist/components/Button/index.js +4 -4
  158. package/dist/components/Charts/BreadcrumbNav.js +3 -3
  159. package/dist/components/Charts/ChartOptions.js +2 -2
  160. package/dist/components/Charts/PreviewChartTemplate.js +7 -7
  161. package/dist/components/Charts/PreviewTitle.js +4 -4
  162. package/dist/components/Charts/StockChartTemplate.js +11 -11
  163. package/dist/components/Charts/config.d.ts +1 -1
  164. package/dist/components/CookieTip/index.js +2 -2
  165. package/dist/components/CopyButton/index.js +8 -8
  166. package/dist/components/CopyButton/index.js.map +1 -1
  167. package/dist/components/CountDown/index.js +7 -7
  168. package/dist/components/CountDown/index.js.map +1 -1
  169. package/dist/components/Description/index.d.ts +1 -1
  170. package/dist/components/DownloadCSV/index.js +21 -14
  171. package/dist/components/DownloadCSV/index.js.map +1 -1
  172. package/dist/components/Dropdown/index.js +2 -2
  173. package/dist/components/Dropdown/index.js.map +1 -1
  174. package/dist/components/Empty/index.d.ts +1 -1
  175. package/dist/components/Empty/index.js +1 -1
  176. package/dist/components/FileUpload/index.js.map +1 -1
  177. package/dist/components/GasPriceDropdown/index.d.ts +5 -2
  178. package/dist/components/GasPriceDropdown/index.js +32 -23
  179. package/dist/components/GasPriceDropdown/index.js.map +1 -1
  180. package/dist/components/IncreasePercent/Icons.d.ts +6 -0
  181. package/dist/components/IncreasePercent/Icons.js +9 -0
  182. package/dist/components/IncreasePercent/Icons.js.map +1 -0
  183. package/dist/components/IncreasePercent/index.d.ts +20 -0
  184. package/dist/components/IncreasePercent/index.js +42 -0
  185. package/dist/components/IncreasePercent/index.js.map +1 -0
  186. package/dist/components/InfoIconWithTooltip/index.js +5 -2
  187. package/dist/components/InfoIconWithTooltip/index.js.map +1 -1
  188. package/dist/components/Link/index.js +2 -2
  189. package/dist/components/List/index.js +3 -3
  190. package/dist/components/List/index.js.map +1 -1
  191. package/dist/components/Modal/index.js +4 -3
  192. package/dist/components/Price/index.js +7 -6
  193. package/dist/components/Price/index.js.map +1 -1
  194. package/dist/components/Remark/index.js +1 -1
  195. package/dist/components/Select/index.d.ts +3 -1
  196. package/dist/components/Select/index.js +72 -42
  197. package/dist/components/Select/index.js.map +1 -1
  198. package/dist/components/Select/select.d.ts +1 -2
  199. package/dist/components/Select/select.js +5 -6
  200. package/dist/components/Skeleton/index.d.ts +1 -1
  201. package/dist/components/SkeletonContainer/index.d.ts +1 -1
  202. package/dist/components/Text/index.d.ts +2 -1
  203. package/dist/components/Text/index.js +7 -6
  204. package/dist/components/Tooltip/index.d.ts +3 -2
  205. package/dist/components/Tooltip/index.js +5 -2
  206. package/dist/components/TransactionAction/constants.d.ts +6 -0
  207. package/dist/components/TransactionAction/constants.js +13 -0
  208. package/dist/components/TransactionAction/constants.js.map +1 -0
  209. package/dist/components/TransactionAction/coreTransactionAction.d.ts +12 -0
  210. package/dist/components/TransactionAction/coreTransactionAction.js +332 -0
  211. package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -0
  212. package/dist/components/TransactionAction/evmTransactionAction.d.ts +12 -0
  213. package/dist/components/TransactionAction/evmTransactionAction.js +343 -0
  214. package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -0
  215. package/dist/store/index.d.ts +3 -2
  216. package/dist/store/index.js +5 -3
  217. package/dist/store/types.d.ts +7 -1
  218. package/dist/uno.css +26 -12
  219. package/dist/utils/address.d.ts +36 -21
  220. package/dist/utils/address.js +35 -23
  221. package/dist/utils/cache.d.ts +7 -0
  222. package/dist/utils/cache.js +56 -0
  223. package/dist/utils/cache.js.map +1 -0
  224. package/dist/utils/constants.d.ts +2 -1
  225. package/dist/utils/constants.js +4 -1
  226. package/dist/utils/ga.d.ts +1 -1
  227. package/dist/utils/ga.js +1 -1
  228. package/dist/utils/hooks/useAge.js +2 -1
  229. package/dist/utils/hooks/useAge.js.map +1 -1
  230. package/dist/utils/hooks/useENS.js +7 -7
  231. package/dist/utils/hooks/useGetTxnStatus.d.ts +4 -2
  232. package/dist/utils/hooks/useGetTxnStatus.js +23 -5
  233. package/dist/utils/hooks/useGetTxnStatus.js.map +1 -1
  234. package/dist/utils/index.d.ts +8 -2
  235. package/dist/utils/index.js +5 -2
  236. package/dist/utils/media.js +1 -1
  237. package/dist/utils/request.d.ts +3 -1
  238. package/dist/utils/request.js +8 -3
  239. package/dist/utils/rpcRequest.js +4 -3
  240. package/package.json +20 -19
  241. package/dist/chunk-25QWXIAS.js.map +0 -1
  242. package/dist/chunk-2C7IFQEA.js +0 -27
  243. package/dist/chunk-2CS64Q56.js.map +0 -1
  244. package/dist/chunk-2CWEC36S.js +0 -53
  245. package/dist/chunk-2GJPZIIE.js +0 -27
  246. package/dist/chunk-2IQSVQYV.js.map +0 -1
  247. package/dist/chunk-2ONZ5M75.js.map +0 -1
  248. package/dist/chunk-2QKLQSRN.js +0 -176
  249. package/dist/chunk-2QKLQSRN.js.map +0 -1
  250. package/dist/chunk-2SJLVUR5.js.map +0 -1
  251. package/dist/chunk-2TNEFW2L.js +0 -216
  252. package/dist/chunk-2TNEFW2L.js.map +0 -1
  253. package/dist/chunk-3X7J72D7.js +0 -100
  254. package/dist/chunk-3X7J72D7.js.map +0 -1
  255. package/dist/chunk-45GWWTGX.js.map +0 -1
  256. package/dist/chunk-45HVL3QX.js +0 -27
  257. package/dist/chunk-45HVL3QX.js.map +0 -1
  258. package/dist/chunk-4BMQQQOY.js +0 -216
  259. package/dist/chunk-4BMQQQOY.js.map +0 -1
  260. package/dist/chunk-4DOTFHHM.js +0 -27
  261. package/dist/chunk-4DOTFHHM.js.map +0 -1
  262. package/dist/chunk-4LQWWDGW.js +0 -707
  263. package/dist/chunk-4LQWWDGW.js.map +0 -1
  264. package/dist/chunk-4V7MBDIS.js +0 -25
  265. package/dist/chunk-4V7MBDIS.js.map +0 -1
  266. package/dist/chunk-4YULAKSU.js +0 -27
  267. package/dist/chunk-4YULAKSU.js.map +0 -1
  268. package/dist/chunk-52EWSX7J.js +0 -27
  269. package/dist/chunk-52EWSX7J.js.map +0 -1
  270. package/dist/chunk-54J4VH5Z.js.map +0 -1
  271. package/dist/chunk-54SPUUOZ.js +0 -27
  272. package/dist/chunk-54SPUUOZ.js.map +0 -1
  273. package/dist/chunk-5A2Q4BEC.js +0 -65
  274. package/dist/chunk-5IE7FJUY.js +0 -22
  275. package/dist/chunk-5IE7FJUY.js.map +0 -1
  276. package/dist/chunk-5IGPCDW5.js +0 -60
  277. package/dist/chunk-5IGPCDW5.js.map +0 -1
  278. package/dist/chunk-5NHNBLID.js +0 -22
  279. package/dist/chunk-5NHNBLID.js.map +0 -1
  280. package/dist/chunk-5S6I7VBP.js +0 -27
  281. package/dist/chunk-5S6I7VBP.js.map +0 -1
  282. package/dist/chunk-5V3UMMXJ.js +0 -120
  283. package/dist/chunk-5V3UMMXJ.js.map +0 -1
  284. package/dist/chunk-5VHCSEOH.js +0 -179
  285. package/dist/chunk-5VHCSEOH.js.map +0 -1
  286. package/dist/chunk-5ZLN3VJU.js +0 -27
  287. package/dist/chunk-5ZLN3VJU.js.map +0 -1
  288. package/dist/chunk-653SDFEF.js +0 -27
  289. package/dist/chunk-653SDFEF.js.map +0 -1
  290. package/dist/chunk-6A2TFIV6.js +0 -100
  291. package/dist/chunk-6A2TFIV6.js.map +0 -1
  292. package/dist/chunk-6CCBKPZA.js +0 -27
  293. package/dist/chunk-6CCBKPZA.js.map +0 -1
  294. package/dist/chunk-6FOBETW2.js +0 -46
  295. package/dist/chunk-6FOBETW2.js.map +0 -1
  296. package/dist/chunk-6LDPUF6C.js +0 -60
  297. package/dist/chunk-6LDPUF6C.js.map +0 -1
  298. package/dist/chunk-6R6YFBB2.js +0 -22
  299. package/dist/chunk-6R6YFBB2.js.map +0 -1
  300. package/dist/chunk-6UEVM7Q5.js +0 -22
  301. package/dist/chunk-6UEVM7Q5.js.map +0 -1
  302. package/dist/chunk-6Z6JAP4R.js +0 -216
  303. package/dist/chunk-6Z6JAP4R.js.map +0 -1
  304. package/dist/chunk-73DPEDDS.js +0 -22
  305. package/dist/chunk-73DPEDDS.js.map +0 -1
  306. package/dist/chunk-75JL3FSB.js +0 -22
  307. package/dist/chunk-75JL3FSB.js.map +0 -1
  308. package/dist/chunk-7J3MHSMU.js +0 -176
  309. package/dist/chunk-7J3MHSMU.js.map +0 -1
  310. package/dist/chunk-7JFLXBAL.js +0 -62
  311. package/dist/chunk-7JFLXBAL.js.map +0 -1
  312. package/dist/chunk-7SZUSPWM.js +0 -179
  313. package/dist/chunk-7SZUSPWM.js.map +0 -1
  314. package/dist/chunk-7TEFIAEG.js +0 -176
  315. package/dist/chunk-7TEFIAEG.js.map +0 -1
  316. package/dist/chunk-7U5APTOH.js +0 -27
  317. package/dist/chunk-7U5APTOH.js.map +0 -1
  318. package/dist/chunk-7XAT5SZJ.js +0 -27
  319. package/dist/chunk-7XAT5SZJ.js.map +0 -1
  320. package/dist/chunk-A2SOYUX7.js +0 -22
  321. package/dist/chunk-A2SOYUX7.js.map +0 -1
  322. package/dist/chunk-A356EUBR.js +0 -27
  323. package/dist/chunk-A356EUBR.js.map +0 -1
  324. package/dist/chunk-A63F3M2G.js +0 -22
  325. package/dist/chunk-A63F3M2G.js.map +0 -1
  326. package/dist/chunk-A6U63XS7.js +0 -22
  327. package/dist/chunk-A6U63XS7.js.map +0 -1
  328. package/dist/chunk-ADTPJ4V5.js +0 -22
  329. package/dist/chunk-ADTPJ4V5.js.map +0 -1
  330. package/dist/chunk-AEYHX3HP.js.map +0 -1
  331. package/dist/chunk-AGOKIWZZ.js.map +0 -1
  332. package/dist/chunk-AGT5MA6S.js +0 -61
  333. package/dist/chunk-AGT5MA6S.js.map +0 -1
  334. package/dist/chunk-AIAFDTQT.js.map +0 -1
  335. package/dist/chunk-APPX7GEO.js.map +0 -1
  336. package/dist/chunk-AQ6P63XV.js +0 -36
  337. package/dist/chunk-AQ6P63XV.js.map +0 -1
  338. package/dist/chunk-AQUETLB4.js +0 -707
  339. package/dist/chunk-AQUETLB4.js.map +0 -1
  340. package/dist/chunk-AURJNQGW.js.map +0 -1
  341. package/dist/chunk-AXQV56I2.js +0 -22
  342. package/dist/chunk-AXQV56I2.js.map +0 -1
  343. package/dist/chunk-AYF5K4JP.js +0 -216
  344. package/dist/chunk-AYF5K4JP.js.map +0 -1
  345. package/dist/chunk-AYFCTFCN.js +0 -22
  346. package/dist/chunk-AYFCTFCN.js.map +0 -1
  347. package/dist/chunk-BO72SP7F.js +0 -111
  348. package/dist/chunk-BO72SP7F.js.map +0 -1
  349. package/dist/chunk-C6QGEHOL.js.map +0 -1
  350. package/dist/chunk-CBRX2B6Y.js +0 -22
  351. package/dist/chunk-CBRX2B6Y.js.map +0 -1
  352. package/dist/chunk-CIJA77I4.js +0 -3459
  353. package/dist/chunk-CIJA77I4.js.map +0 -1
  354. package/dist/chunk-CJOYNPNQ.js +0 -22
  355. package/dist/chunk-CJOYNPNQ.js.map +0 -1
  356. package/dist/chunk-CJQCVR64.js.map +0 -1
  357. package/dist/chunk-CXSJ4LQP.js +0 -62
  358. package/dist/chunk-CXSJ4LQP.js.map +0 -1
  359. package/dist/chunk-CXZHHWAG.js +0 -93
  360. package/dist/chunk-CXZHHWAG.js.map +0 -1
  361. package/dist/chunk-D2KNOIZJ.js +0 -27
  362. package/dist/chunk-D2KNOIZJ.js.map +0 -1
  363. package/dist/chunk-DWU7MK5E.js +0 -176
  364. package/dist/chunk-DWU7MK5E.js.map +0 -1
  365. package/dist/chunk-DYCUWPED.js.map +0 -1
  366. package/dist/chunk-E34G4YSV.js +0 -176
  367. package/dist/chunk-E34G4YSV.js.map +0 -1
  368. package/dist/chunk-ECJNCBFQ.js +0 -102
  369. package/dist/chunk-ECJNCBFQ.js.map +0 -1
  370. package/dist/chunk-ELG6GDH4.js +0 -27
  371. package/dist/chunk-ELG6GDH4.js.map +0 -1
  372. package/dist/chunk-ELZCOMBE.js +0 -707
  373. package/dist/chunk-ELZCOMBE.js.map +0 -1
  374. package/dist/chunk-ESAPWIDV.js +0 -63
  375. package/dist/chunk-ESAPWIDV.js.map +0 -1
  376. package/dist/chunk-EXW5F6NL.js +0 -46
  377. package/dist/chunk-EXW5F6NL.js.map +0 -1
  378. package/dist/chunk-F2TMU3AL.js +0 -61
  379. package/dist/chunk-F2TMU3AL.js.map +0 -1
  380. package/dist/chunk-F2UNHDUR.js +0 -16
  381. package/dist/chunk-F2UNHDUR.js.map +0 -1
  382. package/dist/chunk-FAGFAIUU.js +0 -27
  383. package/dist/chunk-FAGFAIUU.js.map +0 -1
  384. package/dist/chunk-FCMOSB7E.js +0 -65
  385. package/dist/chunk-FCMOSB7E.js.map +0 -1
  386. package/dist/chunk-FLVGMPHV.js +0 -216
  387. package/dist/chunk-FLVGMPHV.js.map +0 -1
  388. package/dist/chunk-FSLH4MIP.js +0 -62
  389. package/dist/chunk-FSLH4MIP.js.map +0 -1
  390. package/dist/chunk-FXBVUGRI.js.map +0 -1
  391. package/dist/chunk-G24D2NRU.js +0 -22
  392. package/dist/chunk-G24D2NRU.js.map +0 -1
  393. package/dist/chunk-GKAPQ7LN.js.map +0 -1
  394. package/dist/chunk-GUHILBGR.js +0 -63
  395. package/dist/chunk-GUHILBGR.js.map +0 -1
  396. package/dist/chunk-H3IMRG3I.js +0 -53
  397. package/dist/chunk-HA7FJBYQ.js +0 -60
  398. package/dist/chunk-HA7FJBYQ.js.map +0 -1
  399. package/dist/chunk-HBVMUDIG.js +0 -46
  400. package/dist/chunk-HBVMUDIG.js.map +0 -1
  401. package/dist/chunk-HOA5BC7S.js +0 -27
  402. package/dist/chunk-HOA5BC7S.js.map +0 -1
  403. package/dist/chunk-HR2KNVPF.js.map +0 -1
  404. package/dist/chunk-I3WPTSFO.js +0 -179
  405. package/dist/chunk-I3WPTSFO.js.map +0 -1
  406. package/dist/chunk-IB7T4CUM.js +0 -3459
  407. package/dist/chunk-IB7T4CUM.js.map +0 -1
  408. package/dist/chunk-ICXZGCLG.js +0 -120
  409. package/dist/chunk-ICXZGCLG.js.map +0 -1
  410. package/dist/chunk-IJ4UPXWM.js +0 -35
  411. package/dist/chunk-IJ4UPXWM.js.map +0 -1
  412. package/dist/chunk-ILQXEOSB.js +0 -61
  413. package/dist/chunk-ILQXEOSB.js.map +0 -1
  414. package/dist/chunk-IM77KPX5.js +0 -78
  415. package/dist/chunk-IS76X5TE.js +0 -100
  416. package/dist/chunk-IS76X5TE.js.map +0 -1
  417. package/dist/chunk-J5NPC6NJ.js +0 -27
  418. package/dist/chunk-J5NPC6NJ.js.map +0 -1
  419. package/dist/chunk-JACMNCWT.js +0 -215
  420. package/dist/chunk-JACMNCWT.js.map +0 -1
  421. package/dist/chunk-JCVKAQDU.js.map +0 -1
  422. package/dist/chunk-JO46BYJI.js +0 -93
  423. package/dist/chunk-JO46BYJI.js.map +0 -1
  424. package/dist/chunk-JO5JHISS.js +0 -93
  425. package/dist/chunk-JO5JHISS.js.map +0 -1
  426. package/dist/chunk-JOYMTLWQ.js +0 -176
  427. package/dist/chunk-JOYMTLWQ.js.map +0 -1
  428. package/dist/chunk-JQXQDMRC.js +0 -61
  429. package/dist/chunk-JQXQDMRC.js.map +0 -1
  430. package/dist/chunk-JRAFUCCF.js +0 -22
  431. package/dist/chunk-JRAFUCCF.js.map +0 -1
  432. package/dist/chunk-JTZF2MUU.js +0 -27
  433. package/dist/chunk-JTZF2MUU.js.map +0 -1
  434. package/dist/chunk-JZRCC4Q7.js.map +0 -1
  435. package/dist/chunk-KAGD5CB6.js +0 -100
  436. package/dist/chunk-KAGD5CB6.js.map +0 -1
  437. package/dist/chunk-KAPSY6QS.js +0 -27
  438. package/dist/chunk-KAPSY6QS.js.map +0 -1
  439. package/dist/chunk-KK7XFZMX.js +0 -46
  440. package/dist/chunk-KK7XFZMX.js.map +0 -1
  441. package/dist/chunk-KKIH2YPS.js +0 -27
  442. package/dist/chunk-KKIH2YPS.js.map +0 -1
  443. package/dist/chunk-KMV3NISR.js +0 -65
  444. package/dist/chunk-KMV3NISR.js.map +0 -1
  445. package/dist/chunk-KSSYWOD6.js +0 -93
  446. package/dist/chunk-KSSYWOD6.js.map +0 -1
  447. package/dist/chunk-L2JESTXK.js +0 -62
  448. package/dist/chunk-L2JESTXK.js.map +0 -1
  449. package/dist/chunk-LDWHYCAM.js.map +0 -1
  450. package/dist/chunk-LHGVVIEZ.js +0 -707
  451. package/dist/chunk-LHGVVIEZ.js.map +0 -1
  452. package/dist/chunk-LJWHSXL5.js +0 -61
  453. package/dist/chunk-LJWHSXL5.js.map +0 -1
  454. package/dist/chunk-LRRZQJVV.js +0 -216
  455. package/dist/chunk-LRRZQJVV.js.map +0 -1
  456. package/dist/chunk-LYI4EQZ3.js +0 -120
  457. package/dist/chunk-LYI4EQZ3.js.map +0 -1
  458. package/dist/chunk-M2WED4GE.js +0 -107
  459. package/dist/chunk-M4L4LFJJ.js +0 -22
  460. package/dist/chunk-M4L4LFJJ.js.map +0 -1
  461. package/dist/chunk-M6AOTEU6.js.map +0 -1
  462. package/dist/chunk-MCZT23D6.js.map +0 -1
  463. package/dist/chunk-MH7KB7D2.js +0 -27
  464. package/dist/chunk-MH7KB7D2.js.map +0 -1
  465. package/dist/chunk-MSQQRS5T.js +0 -63
  466. package/dist/chunk-MSQQRS5T.js.map +0 -1
  467. package/dist/chunk-MZRFBOWD.js +0 -22
  468. package/dist/chunk-MZRFBOWD.js.map +0 -1
  469. package/dist/chunk-N6V3EZQS.js +0 -46
  470. package/dist/chunk-N6V3EZQS.js.map +0 -1
  471. package/dist/chunk-NCT7N5ZO.js.map +0 -1
  472. package/dist/chunk-NFAJYSI7.js +0 -27
  473. package/dist/chunk-NFAJYSI7.js.map +0 -1
  474. package/dist/chunk-NMFJLSY5.js.map +0 -1
  475. package/dist/chunk-NO7KRLGV.js.map +0 -1
  476. package/dist/chunk-NWSIXBRD.js +0 -93
  477. package/dist/chunk-NWSIXBRD.js.map +0 -1
  478. package/dist/chunk-O4QARNTB.js +0 -179
  479. package/dist/chunk-O4QARNTB.js.map +0 -1
  480. package/dist/chunk-OBX6RJEW.js.map +0 -1
  481. package/dist/chunk-OK7ZHYID.js.map +0 -1
  482. package/dist/chunk-ONRPKCIB.js +0 -27
  483. package/dist/chunk-ONRPKCIB.js.map +0 -1
  484. package/dist/chunk-OTMKUAHM.js +0 -60
  485. package/dist/chunk-OTMKUAHM.js.map +0 -1
  486. package/dist/chunk-OYJGSKTU.js.map +0 -1
  487. package/dist/chunk-P3STXDCF.js +0 -119
  488. package/dist/chunk-P3STXDCF.js.map +0 -1
  489. package/dist/chunk-PDGP7SBR.js +0 -43
  490. package/dist/chunk-PDGP7SBR.js.map +0 -1
  491. package/dist/chunk-PWBOQ74R.js +0 -22
  492. package/dist/chunk-PWBOQ74R.js.map +0 -1
  493. package/dist/chunk-Q7C37EMA.js +0 -93
  494. package/dist/chunk-Q7C37EMA.js.map +0 -1
  495. package/dist/chunk-QEA5CFVU.js.map +0 -1
  496. package/dist/chunk-QGFBNI4G.js +0 -22
  497. package/dist/chunk-QGFBNI4G.js.map +0 -1
  498. package/dist/chunk-QI52IGHS.js +0 -27
  499. package/dist/chunk-QI52IGHS.js.map +0 -1
  500. package/dist/chunk-QNPGAFQK.js.map +0 -1
  501. package/dist/chunk-R66RPCTU.js +0 -27
  502. package/dist/chunk-R66RPCTU.js.map +0 -1
  503. package/dist/chunk-R6JXPAOX.js +0 -50
  504. package/dist/chunk-R6JXPAOX.js.map +0 -1
  505. package/dist/chunk-RLWYAD7T.js +0 -27
  506. package/dist/chunk-RLWYAD7T.js.map +0 -1
  507. package/dist/chunk-RLZTFLPD.js.map +0 -1
  508. package/dist/chunk-ROAIYVDT.js +0 -22
  509. package/dist/chunk-ROAIYVDT.js.map +0 -1
  510. package/dist/chunk-RRIL2F7M.js +0 -100
  511. package/dist/chunk-RRIL2F7M.js.map +0 -1
  512. package/dist/chunk-RV66XRFR.js +0 -111
  513. package/dist/chunk-RV66XRFR.js.map +0 -1
  514. package/dist/chunk-RVRQ2255.js +0 -60
  515. package/dist/chunk-RVRQ2255.js.map +0 -1
  516. package/dist/chunk-S4JJPIDW.js +0 -22
  517. package/dist/chunk-S4JJPIDW.js.map +0 -1
  518. package/dist/chunk-SCXHS4HO.js +0 -709
  519. package/dist/chunk-SCXHS4HO.js.map +0 -1
  520. package/dist/chunk-SI5YJXRM.js +0 -709
  521. package/dist/chunk-SI5YJXRM.js.map +0 -1
  522. package/dist/chunk-SQZ7HX2Q.js.map +0 -1
  523. package/dist/chunk-T5PU6MYN.js +0 -22
  524. package/dist/chunk-T5PU6MYN.js.map +0 -1
  525. package/dist/chunk-T7BICPTT.js.map +0 -1
  526. package/dist/chunk-TGINZWRL.js +0 -27
  527. package/dist/chunk-TGINZWRL.js.map +0 -1
  528. package/dist/chunk-TJ6J4LRS.js +0 -22
  529. package/dist/chunk-TJ6J4LRS.js.map +0 -1
  530. package/dist/chunk-TS7XJ6JK.js +0 -22
  531. package/dist/chunk-TS7XJ6JK.js.map +0 -1
  532. package/dist/chunk-TU4M4EAJ.js +0 -177
  533. package/dist/chunk-TU4M4EAJ.js.map +0 -1
  534. package/dist/chunk-TZ25WIJN.js +0 -27
  535. package/dist/chunk-TZ25WIJN.js.map +0 -1
  536. package/dist/chunk-U3JDCY6F.js +0 -100
  537. package/dist/chunk-U3JDCY6F.js.map +0 -1
  538. package/dist/chunk-UBCDOZDY.js.map +0 -1
  539. package/dist/chunk-UDM4PGUT.js +0 -62
  540. package/dist/chunk-UDM4PGUT.js.map +0 -1
  541. package/dist/chunk-UH5JZYVE.js.map +0 -1
  542. package/dist/chunk-ULQ2DZPS.js +0 -22
  543. package/dist/chunk-ULQ2DZPS.js.map +0 -1
  544. package/dist/chunk-UQLL5CUW.js +0 -112
  545. package/dist/chunk-UQLL5CUW.js.map +0 -1
  546. package/dist/chunk-UT4JDBL4.js +0 -61
  547. package/dist/chunk-UT4JDBL4.js.map +0 -1
  548. package/dist/chunk-UV6SB23I.js +0 -27
  549. package/dist/chunk-UV6SB23I.js.map +0 -1
  550. package/dist/chunk-V5QBEPMZ.js +0 -763
  551. package/dist/chunk-V5QBEPMZ.js.map +0 -1
  552. package/dist/chunk-V75DEMU4.js +0 -27
  553. package/dist/chunk-V75DEMU4.js.map +0 -1
  554. package/dist/chunk-VF7HI7RV.js +0 -22
  555. package/dist/chunk-VF7HI7RV.js.map +0 -1
  556. package/dist/chunk-W6E7LNDA.js +0 -61
  557. package/dist/chunk-W6E7LNDA.js.map +0 -1
  558. package/dist/chunk-WATQ7EQT.js +0 -22
  559. package/dist/chunk-WATQ7EQT.js.map +0 -1
  560. package/dist/chunk-WDM5CTLH.js +0 -3459
  561. package/dist/chunk-WDM5CTLH.js.map +0 -1
  562. package/dist/chunk-WDQ2AOIO.js +0 -61
  563. package/dist/chunk-WDQ2AOIO.js.map +0 -1
  564. package/dist/chunk-WFCK7FPT.js.map +0 -1
  565. package/dist/chunk-WIAW4POL.js +0 -22
  566. package/dist/chunk-WIAW4POL.js.map +0 -1
  567. package/dist/chunk-WLKMIQSZ.js +0 -22
  568. package/dist/chunk-WLKMIQSZ.js.map +0 -1
  569. package/dist/chunk-WM2V2ZCY.js +0 -100
  570. package/dist/chunk-WM2V2ZCY.js.map +0 -1
  571. package/dist/chunk-X34QEZHK.js +0 -61
  572. package/dist/chunk-X34QEZHK.js.map +0 -1
  573. package/dist/chunk-X4Y3E73B.js +0 -107
  574. package/dist/chunk-X4Y3E73B.js.map +0 -1
  575. package/dist/chunk-XQHSIGUO.js.map +0 -1
  576. package/dist/chunk-Y4M2WIUH.js +0 -27
  577. package/dist/chunk-Y4M2WIUH.js.map +0 -1
  578. package/dist/chunk-YDGIQMYG.js +0 -37
  579. package/dist/chunk-YDGIQMYG.js.map +0 -1
  580. package/dist/chunk-YK5KNGDQ.js +0 -61
  581. package/dist/chunk-YK5KNGDQ.js.map +0 -1
  582. package/dist/chunk-YMHY5AZC.js +0 -22
  583. package/dist/chunk-YMHY5AZC.js.map +0 -1
  584. package/dist/chunk-YO35FTDP.js.map +0 -1
  585. package/dist/chunk-YRCX5J3B.js +0 -22
  586. package/dist/chunk-YRCX5J3B.js.map +0 -1
  587. package/dist/chunk-YVIZX6QJ.js.map +0 -1
  588. package/dist/chunk-Z2Z6JPLB.js +0 -27
  589. package/dist/chunk-Z2Z6JPLB.js.map +0 -1
  590. package/dist/chunk-ZCC5UWKB.js +0 -61
  591. package/dist/chunk-ZCC5UWKB.js.map +0 -1
  592. package/dist/chunk-ZDW2WA4O.js +0 -61
  593. package/dist/chunk-ZDW2WA4O.js.map +0 -1
  594. package/dist/chunk-ZSP5VMHE.js +0 -61
  595. package/dist/chunk-ZWGO3274.js +0 -27
  596. package/dist/chunk-ZWGO3274.js.map +0 -1
  597. package/dist/chunk-ZXZQSDM4.js +0 -112
  598. package/dist/chunk-ZXZQSDM4.js.map +0 -1
  599. package/dist/components/AddressContainer/index.d.ts +0 -11
  600. package/dist/components/AddressContainer/index.js.map +0 -1
  601. package/dist/components/Loading/head.png.png +0 -0
  602. package/dist/components/Loading/loading.js.js +0 -7
  603. package/dist/components/SkeletonContainer copy/index.js +0 -18
  604. package/dist/components/SkeletonContainer copy/index.js.map +0 -1
  605. package/dist/head-QBKK4MAD.png +0 -0
  606. package/dist/loading-header-QBKK4MAD.png +0 -0
  607. /package/dist/{chunk-4ZNTVKIA.js.map → chunk-KSQ43WMM.js.map} +0 -0
  608. /package/dist/{chunk-2C7IFQEA.js.map → chunk-RVARUZVC.js.map} +0 -0
  609. /package/dist/{chunk-WML236LE.js.map → chunk-RWMP7K3H.js.map} +0 -0
  610. /package/dist/{chunk-2GJPZIIE.js.map → chunk-WPMARG3B.js.map} +0 -0
  611. /package/dist/components/{Loading/loading.js.js.map → AddressContainer/CoreAddressContainer.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Text/index.tsx"],"sourcesContent":["import React from 'react';\nimport clsx from 'clsx';\nimport { Tooltip } from '../Tooltip';\nimport { selectText } from '../../utils';\nimport { useBreakpoint } from '../../utils/media';\n\ntype NormalTypes =\n | 'default'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'error'\n | 'primary';\n\ntype TextProps = {\n children?: React.ReactNode;\n maxWidth?: string;\n maxCount?: number;\n hoverValue?: React.ReactNode;\n hoverValueMaxCount?: number;\n tag?: 'p' | 'span';\n type?: NormalTypes;\n hideTooltip?: boolean;\n};\ntype NativeAttrs = Omit<React.HTMLAttributes<any>, keyof TextProps>;\n\nconst getTypeColor = (type: NormalTypes) => {\n const colors: { [key in NormalTypes]: string } = {\n default: 'inherit',\n primary: '#7cd77b',\n secondary: '#666',\n success: '#7cd77b',\n warning: '#ffc438',\n error: '#e15c56',\n };\n\n return colors[type] || colors.default;\n};\n\n// note:\n// 1. maxWidth priority is higher than maxCount\n// 2. maxCount only apply to string\n// 3. if hoverValue is provided, use hoverValue as Tooltip text, otherwise use children\n// if text of prop tooltip is provided, use as Tooltip text\nexport const Text = React.memo(\n ({\n className,\n children,\n maxWidth,\n maxCount,\n hoverValue,\n hoverValueMaxCount: outerHoverValueMaxCount,\n tag = 'p',\n type = 'default',\n hideTooltip = false,\n ...props\n }: NativeAttrs & TextProps) => {\n const Component = tag;\n const bp = useBreakpoint();\n let child: React.ReactNode = children;\n if (maxWidth === undefined && maxCount && typeof children === 'string') {\n child = String.prototype.substr.call(children, 0, maxCount) + '...';\n }\n\n let textContent = hoverValue || children;\n // 控制移动端字符串类型 tooltip 的长度\n // 这里有个问题,就是截断的位置可能是一个完整的单词,暂时没有办法处理,如果为了避免这种情况,需要由外面传入前对内容进行处理,比如设置固定宽度小于 24rem\n // @todo 后续可以试下读取文本长度,动态设置容器宽度值的方式,可以避免截断位置的问题\n if (bp === 's' && typeof textContent === 'string') {\n const hoverValueMaxCount = outerHoverValueMaxCount || 34; // default text count is 36\n let textContentCopy: string = textContent;\n let newTextContent: Array<React.ReactNode> = [];\n let count = 0;\n while (textContentCopy.length > hoverValueMaxCount) {\n newTextContent.push(\n <span key={count}>\n {textContentCopy.substr(0, hoverValueMaxCount)}\n </span>,\n );\n newTextContent.push(<br key={`br${count}`} />);\n textContentCopy = textContentCopy.substr(hoverValueMaxCount);\n // 防止文本过长的情况\n if (count > 3) {\n textContentCopy =\n textContentCopy.substr(0, hoverValueMaxCount - 3) + '...';\n }\n }\n newTextContent.push(<span key={++count}>{textContentCopy}</span>);\n textContent = newTextContent;\n }\n const tooltipText =\n !hideTooltip &&\n React.createElement(\n 'div',\n {\n onClick: e => {\n e.preventDefault();\n e.stopPropagation();\n selectText(e.currentTarget);\n },\n },\n textContent,\n );\n\n const p = { title: tooltipText };\n return React.createElement(Tooltip, p, [\n <span key=\"text\">\n <Component\n className={clsx(\n 'sirius-text truncate vertical-bottom',\n 'all-[a]:truncate all-[a]:vertical-bottom all-[a]:cursor-pointer all-[a:hover]:text-#0626ae',\n className,\n )}\n style={{\n maxWidth,\n display: maxWidth === undefined ? 'inherit' : 'inline-block',\n color: getTypeColor(type),\n }}\n {...props}\n >\n {child}\n </Component>\n </span>,\n ]);\n },\n);\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,UAAU;AA0EP;AAjDV,IAAM,eAAe,CAAC,SAAsB;AAC1C,QAAM,SAA2C;AAAA,IAC/C,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAEA,SAAO,OAAO,IAAI,KAAK,OAAO;AAChC;AAOO,IAAM,OAAO,MAAM;AAAA,EACxB,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc;AAAA,IACd,GAAG;AAAA,EACL,MAA+B;AAC7B,UAAM,YAAY;AAClB,UAAM,KAAK,cAAc;AACzB,QAAI,QAAyB;AAC7B,QAAI,aAAa,UAAa,YAAY,OAAO,aAAa,UAAU;AACtE,cAAQ,OAAO,UAAU,OAAO,KAAK,UAAU,GAAG,QAAQ,IAAI;AAAA,IAChE;AAEA,QAAI,cAAc,cAAc;AAIhC,QAAI,OAAO,OAAO,OAAO,gBAAgB,UAAU;AACjD,YAAM,qBAAqB,2BAA2B;AACtD,UAAI,kBAA0B;AAC9B,UAAI,iBAAyC,CAAC;AAC9C,UAAI,QAAQ;AACZ,aAAO,gBAAgB,SAAS,oBAAoB;AAClD,uBAAe;AAAA,UACb,oBAAC,UACE,0BAAgB,OAAO,GAAG,kBAAkB,KADpC,KAEX;AAAA,QACF;AACA,uBAAe,KAAK,oBAAC,UAAQ,KAAK,OAAS,CAAE;AAC7C,0BAAkB,gBAAgB,OAAO,kBAAkB;AAE3D,YAAI,QAAQ,GAAG;AACb,4BACE,gBAAgB,OAAO,GAAG,qBAAqB,CAAC,IAAI;AAAA,QACxD;AAAA,MACF;AACA,qBAAe,KAAK,oBAAC,UAAoB,6BAAV,EAAE,KAAwB,CAAO;AAChE,oBAAc;AAAA,IAChB;AACA,UAAM,cACJ,CAAC,eACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,QACE,SAAS,OAAK;AACZ,YAAE,eAAe;AACjB,YAAE,gBAAgB;AAClB,qBAAW,EAAE,aAAa;AAAA,QAC5B;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAEF,UAAM,IAAI,EAAE,OAAO,YAAY;AAC/B,WAAO,MAAM,cAAc,SAAS,GAAG;AAAA,MACrC,oBAAC,UACC;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA,SAAS,aAAa,SAAY,YAAY;AAAA,YAC9C,OAAO,aAAa,IAAI;AAAA,UAC1B;AAAA,UACC,GAAG;AAAA,UAEH;AAAA;AAAA,MACH,KAfQ,MAgBV;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -1,12 +1,17 @@
1
1
  import {
2
2
  getCurrencySymbol
3
- } from "./chunk-CJQCVR64.js";
3
+ } from "./chunk-ADPYV4OL.js";
4
4
 
5
5
  // src/utils/index.ts
6
6
  import BigNumber from "bignumber.js";
7
7
  import dayjs from "dayjs";
8
8
  import useSWR from "swr";
9
9
  import qs from "qs";
10
+ import { clsx } from "clsx";
11
+ import { twMerge } from "tailwind-merge";
12
+ function cn(...inputs) {
13
+ return twMerge(clsx(inputs));
14
+ }
10
15
  var toThousands = (num, delimiter = ",", prevDelimiter = ",") => {
11
16
  if ((typeof num !== "number" || isNaN(num)) && typeof num !== "string")
12
17
  return "";
@@ -35,7 +40,7 @@ var tranferToLowerCase = (str) => {
35
40
  function hex2asc(pStr) {
36
41
  let tempstr = "";
37
42
  for (let b = 0; b < pStr.length; b += 2) {
38
- tempstr += String.fromCharCode(parseInt(pStr.slice(b, 2), 16));
43
+ tempstr += String.fromCharCode(parseInt(pStr.slice(b, b + 2), 16));
39
44
  }
40
45
  return tempstr;
41
46
  }
@@ -783,6 +788,7 @@ var formatPrice = (price, symbol = cSymbol) => {
783
788
  };
784
789
 
785
790
  export {
791
+ cn,
786
792
  toThousands,
787
793
  getEllipsStr,
788
794
  tranferToLowerCase,
@@ -835,4 +841,4 @@ export {
835
841
  getDuration,
836
842
  formatPrice
837
843
  };
838
- //# sourceMappingURL=chunk-LDWHYCAM.js.map
844
+ //# sourceMappingURL=chunk-EUWX4WGR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/index.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport dayjs from 'dayjs';\nimport useSWR from 'swr';\nimport qs from 'qs';\nimport { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport { LOCALSTORAGE_KEYS_MAP, getCurrencySymbol } from './constants';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport const toThousands = (num: any, delimiter = ',', prevDelimiter = ',') => {\n if ((typeof num !== 'number' || isNaN(num)) && typeof num !== 'string')\n return '';\n let str = num + '';\n return str\n .replace(new RegExp(prevDelimiter, 'igm'), '')\n .split('.')\n .reduce((acc, cur, index) => {\n if (index) {\n return `${acc}.${cur}`;\n } else {\n return cur.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, `$1${delimiter}`);\n }\n }, '');\n};\n\nexport const getEllipsStr = (str: string, frontNum: number, endNum: number) => {\n if (str) {\n const length = str.length;\n if (endNum === 0 && length <= frontNum) {\n return str.substring(0, frontNum);\n }\n return (\n str.substring(0, frontNum) +\n '...' +\n str.substring(length - endNum, length)\n );\n }\n return '';\n};\n\nexport const tranferToLowerCase = (str: string) => {\n return str ? str.toLowerCase() : '';\n};\n\nfunction hex2asc(pStr: string) {\n let tempstr = '';\n for (let b = 0; b < pStr.length; b += 2) {\n tempstr += String.fromCharCode(parseInt(pStr.slice(b, b + 2), 16));\n }\n return tempstr;\n}\n\nexport const hex2utf8 = (pStr: string) => {\n let tempstr = '';\n try {\n tempstr = decodeURIComponent(\n pStr.replace(/\\s+/g, '').replace(/[0-9a-f]{2}/g, '%$&'),\n );\n } catch (err) {\n tempstr = hex2asc(pStr);\n }\n return tempstr;\n};\n\n// alternative of String.prototype.replaceAll\nexport const replaceAll = (str: string, find: string, replace: string) => {\n return str.replace(\n new RegExp(find.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&'), 'g'),\n replace,\n );\n};\n\n/**\n * 格式化字符串,向下取整\n * @param {number|string} num 数字或字符串,应尽量使用字符串格式,数字格式如果长度超过 Number.MAX_SAFE_INTEGER 或 Number.MIN_SAFE_INTEGER 可能会有精度损失\n * @param {object} opt 配置参数\n * @returns {string} 格式化后字符串格式数字\n * @todo: 支持四舍五入,向上取整\n * @todo: 支持整数位小数设置精度\n * @todo: 支持负数格式化\n */\nexport const formatNumber = (num: number | string | BigNumber, opt?: any) => {\n // 无法通过 bignumber.js 格式化的不处理\n let bNum = new BigNumber(num).toFixed();\n if (bNum === 'NaN') {\n return '';\n }\n const option = {\n precision: 3, // 保留小数精度数(注意整数位小数的精度固定为 3,原因是受千分符影响)\n keepDecimal: true, // 是否保留小数位(注意如果整数部分带有小数位,则不保留实际小数位,原因是会显示两个小数点,会误解)\n keepZero: false, // 是否保留小数位的 0(注意此配置优先级高于 precision,会清除 precision 添加的 0)\n delimiter: ',', // 自定义分隔符\n withUnit: true, // 是否显示单位\n unit: '', // 指定单位\n ...opt,\n };\n // 0. 定义返回值\n let int = '';\n let decimal = '';\n let result = '';\n /**\n * 1. 定义单位\n * K - kilo, 10³\n * M - mega, 10⁶\n * G - giga, 10⁹\n * T - tera, 10¹²\n * P - peta, 10¹⁵\n * E - exa, 10¹⁸\n * Z - zetta, 10²¹\n * Y - yotta, 10²⁴\n */\n const UNITS = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];\n // 2. 拆分出整数和小数,小数默认值为 0\n const [intStr, decimalStr = '0'] = bNum.split('.');\n // 3. 只能处理 27 位数的单位,大于 27 位的字符串从头部截断保留\n // 3.1 获取大于小数点前 27 位的数字 intStrFront\n let intStrFront = intStr ? intStr.slice(-Infinity, -27) : 0;\n // 3.2 获取小数点前 27 位数字 intStrEnd\n let intStrEnd = intStr ? intStr.slice(-27) : 0;\n // 4. intStrEnd 转千分符形式\n const intStrEndAfterToThousands = toThousands(intStrEnd, option.delimiter);\n // 5. intStrEnd 添加单位,此处不对数字有效性做验证,即可能值为 100.000,100.000k 或 000.000Y\n let intStrEndWithUnit = '';\n\n if (option.withUnit === false) {\n intStrEndWithUnit = intStrEndAfterToThousands;\n } else {\n let unitIndex = 1;\n if (option.unit !== '' && UNITS.includes(option.unit)) {\n unitIndex =\n intStrEndAfterToThousands.split(option.delimiter).length -\n UNITS.findIndex(u => u === option.unit);\n }\n if (unitIndex > 0) {\n intStrEndWithUnit = intStrEndAfterToThousands\n .split(option.delimiter)\n .reduce((prev, curr, index, arr) => {\n const len = arr.length;\n // 无单位整数,为了后面方便处理统一格式\n if (len === 1) {\n return `${curr}.000`;\n }\n if (index === 0) {\n return curr;\n } else if (index === unitIndex) {\n return `${prev}.${curr}${UNITS[len - index]}`;\n } else if (index < unitIndex) {\n return `${prev},${curr}`;\n } else {\n return prev;\n }\n }, '');\n } else {\n intStrEndWithUnit = intStrEndAfterToThousands;\n }\n }\n // 6. 格式化整数\n if (intStrFront) {\n // 如果数字长度超过 27 位,则前面的数字用千分符分割\n int = `${toThousands(intStrFront, option.delimiter)}${\n option.delimiter\n }${intStrEndWithUnit}`;\n } else {\n int = intStrEndWithUnit;\n }\n // 7. 格式化小数\n decimal = new BigNumber(`0.${decimalStr}`).toPrecision(option.precision, 1);\n // 8. 拼接整数,小数和单位\n let unit = int.slice(-1);\n let intWithoutUnit = int;\n if (int && UNITS.includes(unit)) {\n // 8.1 整数位包含单位,则不显示实际小数部分\n if (option.keepDecimal) {\n // 保留整数位整数 + 整数位小数\n intWithoutUnit = int.slice(-Infinity, -1);\n } else {\n // 仅保留整数位整数\n intWithoutUnit = intWithoutUnit.split('.')[0] || '';\n }\n result = `${intWithoutUnit}${unit}`;\n } else {\n unit = '';\n // 8.2 整数位为 0 或无单位整数,拼接小数位\n if (option.keepDecimal) {\n result = new BigNumber(int.toString().replace(/,/g, ''))\n .plus(new BigNumber(decimal))\n .toFixed(option.precision, 1);\n } else {\n result = int.split('.')[0] || '';\n }\n intWithoutUnit = result;\n }\n // 9. 处理小数部分的 0\n if (!option.keepZero) {\n result = `${new BigNumber(\n replaceAll(intWithoutUnit, option.delimiter, ''),\n ).toFormat()}${unit}`;\n }\n // 10. 格式化千分符\n result = toThousands(result);\n return result;\n};\n\nexport const roundToFixedPrecision = (\n number: number | string,\n precision: number,\n method = 'ROUND',\n) => {\n if (number === '') {\n return '--';\n }\n if (typeof number === 'string' && number.includes('<')) {\n return number;\n }\n\n const regex = /^([+-]?[0-9]*\\.?[0-9]+)(\\D*)$/;\n let matches = String(number).match(regex);\n if (!matches) {\n matches = [String(number), ''];\n }\n const suffix = matches[2] || '';\n\n const numberFormat = parseFloat(matches[1] ?? '');\n const factor = Math.pow(10, precision);\n let resultNum: number;\n\n switch (method) {\n case 'FLOOR':\n resultNum = Math.floor(numberFormat * factor) / factor;\n break;\n case 'CEIL':\n resultNum = Math.ceil(numberFormat * factor) / factor;\n break;\n case 'ROUND':\n default:\n resultNum = Math.round((numberFormat + Number.EPSILON) * factor) / factor;\n }\n return resultNum.toFixed(precision) + suffix;\n};\n\nexport const getPercent = (\n divisor: number | string | BigNumber,\n dividend: number | string | BigNumber,\n precision?: number,\n) => {\n if (Number(dividend) === 0) return 0 + '%';\n const bnDivisor = new BigNumber(divisor);\n const bnDividend = new BigNumber(dividend);\n const percentageNum = formatNumber(\n bnDivisor.dividedBy(bnDividend).multipliedBy(100).toNumber(),\n );\n if (precision || precision === 0) {\n const percentageNumPrecision = roundToFixedPrecision(\n percentageNum,\n precision,\n );\n if (percentageNumPrecision === '100.00') {\n return '100%';\n } else if (percentageNumPrecision === '0.00') {\n return '0%';\n }\n return roundToFixedPrecision(percentageNum, precision) + '%';\n }\n\n return `${percentageNum}%`;\n};\n\nexport const formatTimeStamp = (\n time: number,\n type?: 'standard' | 'timezone',\n) => {\n let result: string;\n try {\n switch (type) {\n case 'standard':\n result = dayjs(time).format('YYYY-MM-DD HH:mm:ss');\n break;\n case 'timezone':\n result = dayjs(time).format('YYYY-MM-DD HH:mm:ss Z');\n break;\n default:\n result = dayjs(time).format('YYYY-MM-DD HH:mm:ss');\n }\n } catch (error) {\n result = '';\n }\n return result;\n};\n\nexport const fromGdripToDrip = (num: number | string) =>\n new BigNumber(num).multipliedBy(10 ** 9);\n\nexport const fromCfxToDrip = (num: number | string) =>\n new BigNumber(num).multipliedBy(10 ** 18);\n\nexport const formatBalance = (\n balance: any,\n decimals = 18,\n isShowFull = false,\n opt = {},\n ltValue?: number | string,\n) => {\n try {\n const balanceValue =\n typeof balance === 'string' || typeof balance === 'number'\n ? new BigNumber(balance)\n : balance;\n const num = balanceValue.div(new BigNumber(10).pow(decimals));\n if (num.eq(0)) {\n return num.toFixed();\n }\n if (isShowFull) {\n return toThousands(num.toFixed());\n }\n if (ltValue && num.lt(ltValue)) {\n return `<${ltValue}`;\n }\n return formatNumber(num.toString(), opt);\n } catch {\n return '';\n }\n};\n\ninterface BodyElement extends HTMLBodyElement {\n createTextRange?(): Range;\n}\nexport const selectText = (element: HTMLElement) => {\n var range: any,\n selection: any,\n body = document.body as BodyElement;\n if (body.createTextRange) {\n range = body.createTextRange();\n range.moveToElementText(element);\n range.select();\n } else if (window.getSelection) {\n selection = window.getSelection();\n range = document.createRange();\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n};\n\nexport const isHash = (str: string) => {\n return /^0x[0-9a-fA-F]{64}$/.test(str);\n};\n\nexport const isBlockHash = async (str: string) => {\n if (!isHash(str)) return false;\n let isBlock = true;\n try {\n const block: any = await fetch(`/v1/block/${str}`);\n // server side will return {} when no block found\n if (!block.hash || block.code !== undefined) isBlock = false;\n } catch (err) {\n isBlock = false;\n }\n\n return isBlock;\n};\n\nexport const isTxHash = async (str: string) => {\n if (!isHash(str)) return false;\n return !isBlockHash(str);\n};\n\nexport function validURL(str: string) {\n var pattern = new RegExp(\n '^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$',\n 'i',\n ); // fragment locator\n return !!pattern.test(str);\n}\n\nexport function byteToKb(bytes: number) {\n return bytes / 1024;\n}\n\nexport function isObject(o: any) {\n return o !== null && typeof o === 'object' && Array.isArray(o) === false;\n}\n\nexport function checkInt(value: string, type: string) {\n const num = Number(type.slice(3));\n const min = new BigNumber(2).pow(num - 1).multipliedBy(-1);\n const max = new BigNumber(2).pow(num - 1).minus(1);\n let isType = false;\n if (!isNaN(Number(value))) {\n const valNum = new BigNumber(value);\n if (\n valNum.isInteger() &&\n valNum.isGreaterThanOrEqualTo(min) &&\n valNum.isLessThanOrEqualTo(max)\n ) {\n isType = true;\n } else {\n isType = false;\n }\n } else {\n isType = false;\n }\n return [isType, num, min.toString(), max.toString()];\n}\n\nexport function checkUint(value: string, type: string) {\n const num = Number(type.slice(4));\n const min = new BigNumber(0);\n const max = new BigNumber(Math.pow(2, num)).minus(1);\n let isType = false;\n if (!isNaN(Number(value))) {\n const valNum = new BigNumber(value);\n if (\n valNum.isInteger() &&\n valNum.isGreaterThanOrEqualTo(min) &&\n valNum.isLessThanOrEqualTo(max)\n ) {\n isType = true;\n } else {\n isType = false;\n }\n } else {\n isType = false;\n }\n return [isType, num, min.toFixed(), max.toFixed()];\n}\n\nexport function isHex(num: string, withPrefix = true) {\n const reg = withPrefix ? /^0x[0-9a-f]*$/i : /^(0x)?[0-9a-f]*$/i;\n return Boolean(num.match(reg));\n}\n\nexport function isEvenLength(str: string) {\n const length = str.length;\n return length > 0 && length % 2 === 0;\n}\n\nexport function checkBytes(value: string, type: string) {\n if (type === 'byte') {\n type = 'bytes1';\n }\n const num = Number(type.slice(5));\n let isBytes = false;\n if (!value) return [isBytes, num];\n if (isHex(value) && isEvenLength(value)) {\n if (num > 0) {\n const str = value.slice(2);\n const buffer = Buffer.from(str, 'hex');\n if (buffer.length === num) {\n isBytes = true;\n } else {\n isBytes = false;\n }\n } else {\n isBytes = true;\n }\n } else {\n isBytes = false;\n }\n return [isBytes, num];\n}\n\nexport function checkCfxType(value: string | number) {\n if (isNaN(Number(value))) {\n return false;\n }\n const valNum = new BigNumber(value);\n if (valNum.isNegative()) {\n return false;\n }\n let index = String(value).indexOf('.');\n if (index !== -1) {\n if (String(value).slice(index + 1).length > 18) {\n return false;\n } else {\n return true;\n }\n } else {\n return true;\n }\n}\n\nexport const sleep = (timeout: number) =>\n new Promise(resolve => setTimeout(resolve, timeout));\n\n// get two block interval time\nexport const getTimeByBlockInterval = (minuend = 0, subtrahend = 0) => {\n const seconds = new BigNumber(minuend)\n .minus(subtrahend)\n .dividedBy(2)\n .toNumber();\n const dayBase = 86400;\n const hourBase = 3600;\n const days = Math.floor(seconds / dayBase);\n const deltaSecond = seconds - days * 86400;\n const hours = Math.floor(deltaSecond / hourBase);\n return { days, hours, seconds };\n};\n\n/**\n *\n * @param {number|string} data\n * @returns {boolean}\n * @example\n * 0 -> true\n * . -> true\n * 0. -> true\n * .0 -> true\n * 0.0 -> true\n * 0..0 -> false\n * x -> false\n * e -> false\n * @todo support config, such as negative and exponential notation\n */\n\n/**\n *\n * @param {number|string} data\n * @returns {boolean}\n * @example\n * 0 -> true\n * . -> false\n * 11 -> true\n * 011 -> false\n * -1 -> false\n */\nexport const isSafeNumberOrNumericStringInput = (data: string) =>\n /^\\d+\\.?\\d*$|^\\.\\d*$/.test(data);\n\nexport const isZeroOrPositiveInteger = (data: string) =>\n /^(0|[1-9]\\d*)$/.test(data);\n\nexport const parseString = (v: string) => {\n if (typeof v === 'string' && !v.startsWith('0x')) {\n return Buffer.from(v);\n }\n return v;\n};\n\n// process datepicker initial value\nexport const getInitialDate = (minTimestamp: number, maxTimestamp: number) => {\n const startDate = dayjs('2020-10-29T00:00:00+08:00');\n const endDate = dayjs();\n const innerMinTimestamp = minTimestamp\n ? dayjs(new Date(parseInt((minTimestamp + '000') as string)))\n : startDate;\n const innerMaxTimestamp = maxTimestamp\n ? dayjs(new Date(parseInt((maxTimestamp + '000') as string)))\n : endDate;\n const disabledDateD1 = (date: dayjs.Dayjs) =>\n date &&\n (date > innerMaxTimestamp.endOf('day') ||\n date < startDate.subtract(1, 'day').endOf('day'));\n const disabledDateD2 = (date: dayjs.Dayjs) =>\n date &&\n (date < innerMinTimestamp.subtract(1, 'day').endOf('day') ||\n date > endDate.endOf('day'));\n\n return {\n minT: innerMinTimestamp,\n maxT: innerMaxTimestamp,\n dMinT: disabledDateD1,\n dMaxT: disabledDateD2,\n };\n};\n\nexport const addIPFSGateway = (\n imgURL: string,\n IPFSGatewayURL: string,\n): string => {\n if (\n typeof imgURL === 'string' &&\n typeof IPFSGatewayURL === 'string' &&\n imgURL.startsWith('ipfs://')\n ) {\n imgURL = `${IPFSGatewayURL}/${imgURL.replace('ipfs://', 'ipfs/')}`;\n }\n\n return imgURL;\n};\n\nexport const isLikeBigNumber = (obj: any) => {\n if (obj === null || typeof obj !== 'object') {\n return false;\n }\n return 's' in obj && 'e' in obj && 'c' in obj && Array.isArray(obj.c);\n};\n\ntype NestedArray = (string | number | BigNumber | NestedArray)[];\ntype NestedObject = {\n [key: string]: BigNumber | string | NestedObject | NestedObject[];\n};\nexport const convertBigNumbersToStrings: any = (input: NestedArray) => {\n return input.map((item: any) => {\n if (item instanceof Uint8Array) {\n return item;\n }\n if (Array.isArray(item)) {\n return convertBigNumbersToStrings(item);\n } else if (\n item !== null &&\n typeof item === 'object' &&\n !isLikeBigNumber(item)\n ) {\n return convertObjBigNumbersToStrings(item);\n } else if (isLikeBigNumber(item)) {\n return item.toString(10);\n } else {\n return item;\n }\n });\n};\nexport const convertObjBigNumbersToStrings: any = (input: NestedArray) => {\n const newObj: NestedObject = {};\n if (Array.isArray(input)) {\n return convertBigNumbersToStrings(input);\n }\n for (let key in input as any) {\n if (isLikeBigNumber(input[key])) {\n newObj[key] = (input[key] as BigNumber).toString(10);\n } else if (Array.isArray(input[key])) {\n newObj[key] = convertBigNumbersToStrings(input[key]);\n } else if (typeof input[key] === 'object') {\n newObj[key] = convertObjBigNumbersToStrings(input[key] as NestedObject);\n } else {\n newObj[key] = input[key];\n }\n }\n return newObj;\n};\nexport const constprocessResultArray = (resultArray: NestedArray) => {\n if (typeof resultArray === 'string') {\n return resultArray;\n }\n const processElement: any = (element: any) => {\n if (Array.isArray(element)) {\n return element.map(processElement);\n } else if (element.type && element.type === 'Buffer') {\n let result = element.data\n .map((byte: number) => ('00' + byte.toString(16)).slice(-2))\n .join('');\n if (!result.startsWith('0x')) {\n result = '0x' + result;\n }\n return result;\n } else {\n return element;\n }\n };\n\n const inputArray = Array.isArray(resultArray) ? resultArray : [resultArray];\n return inputArray.map(processElement);\n};\n\nexport const formatLargeNumber = (number: string | number | BigNumber) => {\n const num = new BigNumber(number);\n\n if (num.isNaN()) {\n return { value: null, unit: '' };\n }\n\n const T = new BigNumber(10).pow(12);\n const P = new BigNumber(10).pow(15);\n const E = new BigNumber(10).pow(18);\n\n if (num.isGreaterThanOrEqualTo(E)) {\n const result = num.dividedBy(E);\n return {\n value: result.isNaN() ? null : result.toString(),\n unit: 'E',\n };\n } else if (num.isGreaterThanOrEqualTo(P)) {\n const result = num.dividedBy(P);\n return {\n value: result.isNaN() ? null : result.toString(),\n unit: 'P',\n };\n } else if (num.isGreaterThanOrEqualTo(T)) {\n const result = num.dividedBy(T);\n return {\n value: result.isNaN() ? null : result.toString(),\n unit: 'T',\n };\n } else {\n return {\n value: num.toString(),\n unit: '',\n };\n }\n};\n\nconst EPS = new BigNumber(1e-6);\n\nexport function transferRisk(riskStr: string) {\n const riskNum = new BigNumber(riskStr);\n\n if (riskNum.isNaN()) {\n return '';\n }\n // risk > 1e-4*(1+EPS)\n if (riskNum.isGreaterThan(new BigNumber(1e-4).times(EPS.plus(1)))) {\n return 'lv3';\n }\n // risk > 1e-6*(1+EPS)\n if (riskNum.isGreaterThan(new BigNumber(1e-6).times(EPS.plus(1)))) {\n return 'lv2';\n }\n // risk > 1e-8*(1+EPS)\n if (riskNum.isGreaterThan(new BigNumber(1e-8).times(EPS.plus(1)))) {\n return 'lv1';\n }\n return 'lv0';\n}\n\nexport const appendApiPrefix = (url: string) => {\n // for cfx top N\n if (url.startsWith('/stat/')) {\n return url;\n }\n return `/v1${url}`;\n};\n\nexport const simpleGetFetcher = async (...args: any[]) => {\n let [url, query] = args;\n if (query) {\n url = qs.stringify({ url, query });\n }\n return await fetch(appendApiPrefix(url), {\n method: 'get',\n });\n};\n\nexport const useSWRWithGetFecher = (\n key: string | string[] | null,\n swrOpts = {},\n) => {\n const isTransferReq =\n (typeof key === 'string' && key.startsWith('/transfer')) ||\n (Array.isArray(key) &&\n typeof key[0] === 'string' &&\n key[0].startsWith('/transfer'));\n\n const { data, error, mutate }: any = useSWR(key, simpleGetFetcher, {\n ...swrOpts,\n });\n\n let tokenAddress: string | string[] = '';\n\n // deal with token info\n if (isTransferReq && data && data.list) {\n tokenAddress = data.list.reduce(\n (acc: string[], trans: { address: string }) => {\n if (trans.address && !acc.includes(trans.address))\n acc.push(trans.address);\n return acc;\n },\n [],\n );\n }\n\n const { data: tokenData }: any = useSWR(\n qs.stringify({\n url: '/token',\n query: { addressArray: tokenAddress, fields: 'iconUrl' },\n }),\n simpleGetFetcher,\n );\n\n if (tokenData && tokenData.list) {\n const newTransferList = data.list.map((trans: { address: string }) => {\n if (tokenAddress.includes(trans.address)) {\n const tokenInfo = tokenData.list.find(\n (t: { address: string }) => t.address === trans.address,\n );\n if (tokenInfo) return { ...trans, token: { ...tokenInfo } };\n }\n\n return trans;\n });\n\n return {\n data: {\n ...data,\n list: newTransferList,\n },\n error,\n mutate,\n };\n }\n\n return { data, error, mutate };\n};\n\nexport const mergeDeep = (...objects: any[]): any => {\n return objects.reduce((prev, obj) => {\n if (isObject(obj)) {\n Object.keys(obj).forEach(key => {\n const pVal = prev[key];\n const oVal = obj[key];\n\n if (Array.isArray(pVal) && Array.isArray(oVal)) {\n prev[key] = pVal.concat(oVal);\n } else if (isObject(pVal) && isObject(oVal)) {\n prev[key] = mergeDeep(pVal, oVal);\n } else {\n prev[key] = oVal;\n }\n });\n }\n return prev;\n }, {});\n};\n\ntype EventName = string;\ntype Callback = (data: any) => void;\n\ninterface Subscribers {\n [eventName: string]: Callback[];\n}\n\nconst pubSubLib = () => {\n const subscribers: Subscribers = {};\n\n function publish(eventName: EventName, data: any): void {\n const eventSubscribers = subscribers[eventName];\n if (!Array.isArray(eventSubscribers)) {\n return;\n }\n eventSubscribers.forEach(callback => {\n callback(data);\n });\n }\n\n function subscribe(eventName: EventName, callback: Callback): () => void {\n if (!Array.isArray(subscribers[eventName])) {\n subscribers[eventName] = [];\n }\n const eventSubscribers = subscribers[eventName] || [];\n eventSubscribers.push(callback);\n const index = eventSubscribers.length - 1;\n return () => {\n eventSubscribers.splice(index, 1);\n };\n }\n\n return {\n publish,\n subscribe,\n };\n};\n\nexport const pubsub = pubSubLib();\n\ninterface ErrorInfoType {\n url?: string;\n code?: number;\n message?: string;\n data?: string;\n method?: string;\n}\n\nconst isNil = (value: any) => value === null || value === undefined;\nexport const publishRequestError = (\n e: (Error & ErrorInfoType) | ErrorInfoType,\n type: 'rpc' | 'http' | 'wallet' | 'code',\n) => {\n let detail = '';\n if (e.code && e.message) {\n if (type === 'code') {\n detail = e.message;\n } else {\n detail = `Error Code: ${e.code} \\n`;\n if (type === 'http') {\n const origin = window.location.origin;\n detail += `Rest Api Url: ${\n e.url?.includes('https://') ? e.url : origin + e.url\n } \\n`;\n }\n if (type === 'rpc') {\n // detail += `RPC Url: ${RPC_SERVER} \\n`;\n if (!isNil(e.method)) {\n detail += `Method: ${e.method} \\n`;\n }\n if (!isNil(e.data)) {\n detail += `Data: ${e.data} \\n`;\n }\n }\n detail += `Error Message: ${e.message} \\n`;\n }\n }\n\n pubsub.publish('notify', {\n type: 'request',\n option: {\n code: type === 'rpc' ? 30001 : e.code || 20000, // code is used for title, 20000 means unknown issue\n message: e.message,\n detail: detail,\n },\n });\n};\n\nexport const HIDE_IN_DOT_NET =\n /.net$/.test(window.location.host) &&\n localStorage.getItem(LOCALSTORAGE_KEYS_MAP.hideInDotNet) !== 'false';\n\nexport interface NetworksType {\n url: string;\n name: string;\n id: number;\n}\n\nexport const getNetwork = (\n networks: Array<NetworksType>,\n id: number,\n): NetworksType => {\n const defaultNetwork = { url: '', name: '', id: 0 };\n if (!Array.isArray(networks)) {\n return defaultNetwork;\n }\n const matchs = networks.filter(n => n.id === id);\n\n if (matchs && matchs[0]) {\n return matchs[0];\n } else if (networks && networks[0]) {\n return networks[0];\n }\n\n return defaultNetwork;\n};\n\nexport const coreCorrespondsToEspace = (coreId: number) => {\n const correspond: { [index: number]: number } = {\n 1029: 1030,\n 1: 71,\n };\n return correspond[coreId] || 1030;\n};\n\n/**\n * 格式化字符串\n * @param {string} str\n * @param {string} type 可能取值为:tag - contract name tag, hash, address; 如果 type 为数字,则截取对应数字 + ...,默认值为 12\n */\nexport const formatString = (\n str: string,\n type?:\n | 'tag'\n | 'hash'\n | 'address'\n | 'tokenTracker'\n | 'posAddress'\n | 'hexAddress'\n | number,\n) => {\n let result: string;\n switch (type) {\n case 'tag':\n result = getEllipsStr(str, 14, 0);\n break;\n case 'hash':\n result = getEllipsStr(str, 10, 0);\n break;\n case 'address':\n result = getEllipsStr(str, 6, 4);\n break;\n case 'tokenTracker':\n result = getEllipsStr(str, 24, 0);\n break;\n case 'posAddress':\n result = getEllipsStr(str, 10, 0);\n break;\n case 'hexAddress':\n result = getEllipsStr(str, 6, 4);\n break;\n default:\n let num = 12;\n if (typeof type === 'number') num = type;\n if (str.length > num) {\n result = getEllipsStr(str, num, 0);\n } else {\n result = str;\n }\n }\n return result;\n};\n\n/**\n *\n * @param num original number\n * @param isShowFull Whether to show all numbers\n */\nexport const fromDripToGdrip = (\n num: number | string,\n isShowFull = false,\n _opt = {},\n) => {\n const opt = {\n minNum: 0.001,\n ..._opt,\n };\n const bn = new BigNumber(num);\n let result = '0';\n if (!window.isNaN(bn.toNumber()) && bn.toNumber() !== 0) {\n const divideBn = bn.dividedBy(10 ** 9);\n if (isShowFull) {\n result = toThousands(divideBn.toFixed());\n } else {\n result = divideBn.lt(opt.minNum)\n ? '< ' + new BigNumber(opt.minNum).toString()\n : formatNumber(divideBn.toFixed(), opt);\n }\n }\n return `${result}`;\n};\n\n/**\n * 获取给定时间戳 from 到给定时间 to 的 duration\n * @param {string | number} from syncTimestamp\n * @param {string | number} to current serverTimestamp or current browserTimestamp\n */\nexport const getDuration = (pFrom: number, pTo?: number) => {\n try {\n const to = pTo || +new Date();\n const from = pFrom * 1000;\n\n if (from > to) {\n throw new Error('invalid timestamp pair');\n }\n\n const dayjsTo = dayjs(to);\n\n const fullDay = dayjsTo.diff(from, 'day');\n const fullHour = dayjsTo.diff(from, 'hour');\n const fullMinute = dayjsTo.diff(from, 'minute');\n\n const day = dayjsTo.diff(from, 'day');\n const hour = dayjsTo.subtract(fullDay, 'day').diff(from, 'hour');\n const minute = dayjsTo.subtract(fullHour, 'hour').diff(from, 'minute');\n const second = dayjsTo.subtract(fullMinute, 'minute').diff(from, 'second');\n\n return [day, hour, minute, second];\n } catch (e) {\n return [0, 0, 0, 0];\n }\n};\n\nconst cSymbol = getCurrencySymbol();\nexport const formatPrice = (\n price: string | number,\n symbol = cSymbol,\n): [string, string] => {\n const p = new BigNumber(price);\n let precision = 2;\n\n if (p.eq(0)) {\n return ['0', ''];\n } else if (p.lt(0.0001)) {\n return [\n '<0.0001',\n formatNumber(price || 0, {\n withUnit: false,\n precision: 18,\n keepZero: false,\n }),\n ];\n } else if (p.lt(1)) {\n precision = 4;\n } else if (p.lt(10)) {\n precision = 3;\n } else {\n precision = 2;\n }\n\n return [\n symbol +\n formatNumber(price || 0, {\n withUnit: false,\n keepZero: false,\n precision,\n }),\n '',\n ];\n};\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-XCKMXAL2.js";
4
4
  import {
5
5
  cn
6
- } from "./chunk-AGOKIWZZ.js";
6
+ } from "./chunk-LKVGVLCW.js";
7
7
 
8
8
  // src/components/Modal/index.tsx
9
9
  import { useEffect, useCallback, useMemo } from "react";
@@ -147,4 +147,4 @@ var Modal = ({
147
147
  export {
148
148
  Modal
149
149
  };
150
- //# sourceMappingURL=chunk-R5ECXT74.js.map
150
+ //# sourceMappingURL=chunk-EVCNR7M7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Modal/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport { X } from 'lucide-react';\nimport { Spin } from '../Spin';\nimport { cn } from '../../utils';\n\ninterface ModalProps {\n open: boolean;\n closeOnEsc?: boolean;\n closable?: boolean;\n preventScroll?: boolean;\n backdropClassName?: string;\n containerClassName?: string;\n onOpen?: () => void;\n onClose?: () => void;\n children?: React.ReactNode;\n width?: string | number;\n maskClosable?: boolean;\n centered?: boolean;\n loading?: boolean;\n}\n\ninterface ModalContentProps {\n containerClassName: string;\n closable: boolean;\n onClose?: VoidFunction;\n children?: React.ReactNode;\n loading?: boolean;\n modalStyles: React.CSSProperties;\n}\n\ninterface BackdropProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n className: string;\n children?: React.ReactNode;\n}\n\nconst Backdrop: React.FC<BackdropProps> = ({\n onClick,\n children,\n className,\n}) => (\n <div className={className} onClick={onClick}>\n {children}\n </div>\n);\n\nconst ModalContent = ({\n containerClassName,\n closable,\n onClose,\n children,\n loading,\n modalStyles,\n}: ModalContentProps) => (\n <div\n className={cn('relative bg-[#FFF] rounded shadow-lg', containerClassName)}\n tabIndex={-1}\n style={modalStyles}\n >\n <Spin spinning={loading}>\n {closable && (\n <X className=\"h-4 w-4 absolute right-5 top-5\" onClick={onClose} />\n )}\n <div className=\"p-4\">{children}</div>\n </Spin>\n </div>\n);\n\nconst useEventListener = (\n eventName: string,\n handler: (event: Event) => void,\n active: boolean,\n) => {\n useEffect(() => {\n if (active) {\n const eventListener = (event: Event) => handler(event);\n\n document.addEventListener(eventName, eventListener);\n return () => {\n document.removeEventListener(eventName, eventListener);\n };\n }\n }, [eventName, handler, active]);\n};\n\nconst Modal: React.FC<ModalProps> = ({\n open,\n closeOnEsc = true,\n closable = true,\n preventScroll = true,\n backdropClassName = '',\n containerClassName = '',\n onOpen = () => {},\n onClose,\n children,\n width = '600px',\n maskClosable = true,\n centered = true,\n loading = false,\n}) => {\n useEffect(() => {\n if (open) {\n onOpen?.();\n if (preventScroll) {\n document.body.style.overflow = 'hidden';\n }\n } else {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n }\n return () => {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n };\n }, [open, onOpen, preventScroll]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && closeOnEsc && onClose) {\n onClose?.();\n }\n },\n [closeOnEsc, onClose],\n );\n\n const handleClickOutside = useCallback(() => {\n if (onClose && maskClosable) {\n onClose?.();\n }\n }, [onClose, maskClosable]);\n\n const handleBackdropClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (maskClosable && event.target === event.currentTarget && onClose) {\n onClose?.();\n }\n },\n [maskClosable, onClose],\n );\n\n const modalStyles: React.CSSProperties = useMemo(\n () => ({\n width: typeof width === 'string' ? width : `${width}px`,\n margin: centered ? 'auto' : undefined,\n }),\n [width, centered],\n );\n\n useEventListener(\n 'keydown',\n handleKeyDown as (event: Event) => void,\n open && closeOnEsc,\n );\n useEventListener(\n 'mousedown',\n handleClickOutside as (event: Event) => void,\n open && maskClosable,\n );\n\n if (!open) return null;\n\n return ReactDOM.createPortal(\n <Backdrop\n onClick={handleBackdropClick}\n className={cn(\n 'fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000',\n backdropClassName,\n )}\n >\n <ModalContent\n containerClassName={containerClassName}\n closable={closable}\n onClose={onClose}\n children={children}\n loading={loading}\n modalStyles={modalStyles}\n />\n </Backdrop>,\n document.body,\n );\n};\n\nexport { Modal };\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/components/Modal/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport { X } from 'lucide-react';\nimport { Spin } from '../Spin';\nimport { cn } from '../../utils';\n\ninterface ModalProps {\n open: boolean;\n closeOnEsc?: boolean;\n closable?: boolean;\n preventScroll?: boolean;\n backdropClassName?: string;\n containerClassName?: string;\n onOpen?: () => void;\n onClose?: () => void;\n children?: React.ReactNode;\n width?: string | number;\n maskClosable?: boolean;\n centered?: boolean;\n loading?: boolean;\n}\n\ninterface ModalContentProps {\n containerClassName: string;\n closable: boolean;\n onClose?: VoidFunction;\n children?: React.ReactNode;\n loading?: boolean;\n modalStyles: React.CSSProperties;\n}\n\ninterface BackdropProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n className: string;\n children?: React.ReactNode;\n}\n\nconst Backdrop: React.FC<BackdropProps> = ({\n onClick,\n children,\n className,\n}) => (\n <div className={className} onClick={onClick}>\n {children}\n </div>\n);\n\nconst ModalContent = ({\n containerClassName,\n closable,\n onClose,\n children,\n loading,\n modalStyles,\n}: ModalContentProps) => (\n <div\n className={cn('relative bg-[#FFF] rounded shadow-lg', containerClassName)}\n tabIndex={-1}\n style={modalStyles}\n >\n <Spin spinning={loading}>\n {closable && (\n <X className=\"h-4 w-4 absolute right-5 top-5\" onClick={onClose} />\n )}\n <div className=\"p-4\">{children}</div>\n </Spin>\n </div>\n);\n\nconst useEventListener = (\n eventName: string,\n handler: (event: Event) => void,\n active: boolean,\n) => {\n useEffect(() => {\n if (active) {\n const eventListener = (event: Event) => handler(event);\n\n document.addEventListener(eventName, eventListener);\n return () => {\n document.removeEventListener(eventName, eventListener);\n };\n }\n }, [eventName, handler, active]);\n};\n\nconst Modal: React.FC<ModalProps> = ({\n open,\n closeOnEsc = true,\n closable = true,\n preventScroll = true,\n backdropClassName = '',\n containerClassName = '',\n onOpen = () => {},\n onClose,\n children,\n width = '600px',\n maskClosable = true,\n centered = true,\n loading = false,\n}) => {\n useEffect(() => {\n if (open) {\n onOpen?.();\n if (preventScroll) {\n document.body.style.overflow = 'hidden';\n }\n } else {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n }\n return () => {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n };\n }, [open, onOpen, preventScroll]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && closeOnEsc && onClose) {\n onClose?.();\n }\n },\n [closeOnEsc, onClose],\n );\n\n const handleClickOutside = useCallback(() => {\n if (onClose && maskClosable) {\n onClose?.();\n }\n }, [onClose, maskClosable]);\n\n const handleBackdropClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (maskClosable && event.target === event.currentTarget && onClose) {\n onClose?.();\n }\n },\n [maskClosable, onClose],\n );\n\n const modalStyles: React.CSSProperties = useMemo(\n () => ({\n width: typeof width === 'string' ? width : `${width}px`,\n margin: centered ? 'auto' : undefined,\n }),\n [width, centered],\n );\n\n useEventListener(\n 'keydown',\n handleKeyDown as (event: Event) => void,\n open && closeOnEsc,\n );\n useEventListener(\n 'mousedown',\n handleClickOutside as (event: Event) => void,\n open && maskClosable,\n );\n\n if (!open) return null;\n\n return ReactDOM.createPortal(\n <Backdrop\n onClick={handleBackdropClick}\n className={cn(\n 'fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000',\n backdropClassName,\n )}\n >\n <ModalContent\n containerClassName={containerClassName}\n closable={closable}\n onClose={onClose}\n children={children}\n loading={loading}\n modalStyles={modalStyles}\n />\n </Backdrop>,\n document.body,\n );\n};\n\nexport { Modal };\n"],"mappings":";;;;;;;;AAAA,SAAgB,WAAW,aAAa,eAAe;AACvD,OAAO,cAAc;AACrB,SAAS,SAAS;AAwChB,cAkBE,YAlBF;AALF,IAAM,WAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACF,MACE,oBAAC,SAAI,WAAsB,SACxB,UACH;AAGF,IAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC,WAAW,GAAG,wCAAwC,kBAAkB;AAAA,IACxE,UAAU;AAAA,IACV,OAAO;AAAA,IAEP,+BAAC,QAAK,UAAU,SACb;AAAA,kBACC,oBAAC,KAAE,WAAU,kCAAiC,SAAS,SAAS;AAAA,MAElE,oBAAC,SAAI,WAAU,OAAO,UAAS;AAAA,OACjC;AAAA;AACF;AAGF,IAAM,mBAAmB,CACvB,WACA,SACA,WACG;AACH,YAAU,MAAM;AACd,QAAI,QAAQ;AACV,YAAM,gBAAgB,CAAC,UAAiB,QAAQ,KAAK;AAErD,eAAS,iBAAiB,WAAW,aAAa;AAClD,aAAO,MAAM;AACX,iBAAS,oBAAoB,WAAW,aAAa;AAAA,MACvD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,WAAW,SAAS,MAAM,CAAC;AACjC;AAEA,IAAM,QAA8B,CAAC;AAAA,EACnC;AAAA,EACA,aAAa;AAAA,EACb,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,SAAS,MAAM;AAAA,EAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW;AAAA,EACX,UAAU;AACZ,MAAM;AACJ,YAAU,MAAM;AACd,QAAI,MAAM;AACR,eAAS;AACT,UAAI,eAAe;AACjB,iBAAS,KAAK,MAAM,WAAW;AAAA,MACjC;AAAA,IACF,OAAO;AACL,UAAI,eAAe;AACjB,iBAAS,KAAK,MAAM,WAAW;AAAA,MACjC;AAAA,IACF;AACA,WAAO,MAAM;AACX,UAAI,eAAe;AACjB,iBAAS,KAAK,MAAM,WAAW;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,aAAa,CAAC;AAEhC,QAAM,gBAAgB;AAAA,IACpB,CAAC,UAAyB;AACxB,UAAI,MAAM,QAAQ,YAAY,cAAc,SAAS;AACnD,kBAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,CAAC,YAAY,OAAO;AAAA,EACtB;AAEA,QAAM,qBAAqB,YAAY,MAAM;AAC3C,QAAI,WAAW,cAAc;AAC3B,gBAAU;AAAA,IACZ;AAAA,EACF,GAAG,CAAC,SAAS,YAAY,CAAC;AAE1B,QAAM,sBAAsB;AAAA,IAC1B,CAAC,UAAwD;AACvD,UAAI,gBAAgB,MAAM,WAAW,MAAM,iBAAiB,SAAS;AACnE,kBAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,CAAC,cAAc,OAAO;AAAA,EACxB;AAEA,QAAM,cAAmC;AAAA,IACvC,OAAO;AAAA,MACL,OAAO,OAAO,UAAU,WAAW,QAAQ,GAAG;AAAA,MAC9C,QAAQ,WAAW,SAAS;AAAA,IAC9B;AAAA,IACA,CAAC,OAAO,QAAQ;AAAA,EAClB;AAEA;AAAA,IACE;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV;AACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV;AAEA,MAAI,CAAC;AAAM,WAAO;AAElB,SAAO,SAAS;AAAA,IACd;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AACF;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Tooltip
3
- } from "./chunk-YVIZX6QJ.js";
3
+ } from "./chunk-DOYWQVTM.js";
4
4
  import {
5
5
  getTranslations
6
- } from "./chunk-25QWXIAS.js";
6
+ } from "./chunk-HRW4BUP4.js";
7
7
 
8
8
  // src/components/AddressContainer/label.tsx
9
9
  import { Translation } from "react-i18next";
@@ -34,7 +34,7 @@ var getLabelInfo = (label, type) => {
34
34
  }
35
35
  return {
36
36
  label,
37
- icon: /* @__PURE__ */ jsx("div", { className: "mr-[2px]", children: /* @__PURE__ */ jsx(Tooltip, { title: /* @__PURE__ */ jsx(Translation, { children: (t) => t(trans) }), children: icon }) })
37
+ icon: /* @__PURE__ */ jsx("span", { className: "mr-[2px]", children: /* @__PURE__ */ jsx(Tooltip, { title: /* @__PURE__ */ jsx(Translation, { children: (t) => t(trans) }), children: icon }) })
38
38
  };
39
39
  }
40
40
  return {
@@ -46,4 +46,4 @@ var getLabelInfo = (label, type) => {
46
46
  export {
47
47
  getLabelInfo
48
48
  };
49
- //# sourceMappingURL=chunk-6ITBEFLS.js.map
49
+ //# sourceMappingURL=chunk-GUCQ4F2G.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AddressContainer/label.tsx"],"sourcesContent":["import { Translation } from 'react-i18next';\nimport { Bookmark, Hash } from '@zeit-ui/react-icons';\nimport { Tooltip } from '../Tooltip';\nimport { getTranslations } from '../../store';\nimport ICON_ENS from '../../images/logo-cns.svg';\n\nexport const getLabelInfo = (label: string, type: string) => {\n const translations = getTranslations();\n if (label) {\n let trans: string = '';\n let icon: React.ReactNode = null;\n\n if (type === 'tag') {\n trans = translations.profile.tip.label;\n icon = <Bookmark color=\"var(--theme-color-gray2)\" size={16} />;\n } else if (type === 'ens') {\n trans = (translations as any).ens.label;\n icon = (\n <img\n src={ICON_ENS}\n className=\"w-[16px] h-[16px] mb-[3px] mr-[2px]\"\n alt=\"\"\n />\n );\n // nametag from official operational staff\n } else if (type === 'nametag') {\n trans = translations.nametag.label;\n icon = <Hash color=\"var(--theme-color-gray2)\" size={16} />;\n }\n\n return {\n label,\n icon: (\n <div className=\"mr-[2px]\">\n <Tooltip title={<Translation>{t => t(trans)}</Translation>}>\n {icon}\n </Tooltip>\n </div>\n ),\n };\n }\n\n return {\n label: '',\n icon: null,\n };\n};\n"],"mappings":";;;;;;;;AAAA,SAAS,mBAAmB;AAC5B,SAAS,UAAU,YAAY;AAG/B,OAAO,cAAc;AAUR;AARN,IAAM,eAAe,CAAC,OAAe,SAAiB;AAC3D,QAAM,eAAe,gBAAgB;AACrC,MAAI,OAAO;AACT,QAAI,QAAgB;AACpB,QAAI,OAAwB;AAE5B,QAAI,SAAS,OAAO;AAClB,cAAQ,aAAa,QAAQ,IAAI;AACjC,aAAO,oBAAC,YAAS,OAAM,4BAA2B,MAAM,IAAI;AAAA,IAC9D,WAAW,SAAS,OAAO;AACzB,cAAS,aAAqB,IAAI;AAClC,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,WAAU;AAAA,UACV,KAAI;AAAA;AAAA,MACN;AAAA,IAGJ,WAAW,SAAS,WAAW;AAC7B,cAAQ,aAAa,QAAQ;AAC7B,aAAO,oBAAC,QAAK,OAAM,4BAA2B,MAAM,IAAI;AAAA,IAC1D;AAEA,WAAO;AAAA,MACL;AAAA,MACA,MACE,oBAAC,SAAI,WAAU,YACb,8BAAC,WAAQ,OAAO,oBAAC,eAAa,iBAAK,EAAE,KAAK,GAAE,GACzC,gBACH,GACF;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/components/AddressContainer/label.tsx"],"sourcesContent":["import { Translation } from 'react-i18next';\nimport { Bookmark, Hash } from '@zeit-ui/react-icons';\nimport { Tooltip } from '../Tooltip';\nimport { getTranslations } from '../../store';\nimport ICON_ENS from '../../images/logo-cns.svg';\n\nexport const getLabelInfo = (label: string, type: string) => {\n const translations = getTranslations();\n if (label) {\n let trans: string = '';\n let icon: React.ReactNode = null;\n\n if (type === 'tag') {\n trans = translations.profile.tip.label;\n icon = <Bookmark color=\"var(--theme-color-gray2)\" size={16} />;\n } else if (type === 'ens') {\n trans = (translations as any).ens.label;\n icon = (\n <img\n src={ICON_ENS}\n className=\"w-[16px] h-[16px] mb-[3px] mr-[2px]\"\n alt=\"\"\n />\n );\n // nametag from official operational staff\n } else if (type === 'nametag') {\n trans = translations.nametag.label;\n icon = <Hash color=\"var(--theme-color-gray2)\" size={16} />;\n }\n\n return {\n label,\n icon: (\n <span className=\"mr-[2px]\">\n <Tooltip title={<Translation>{t => t(trans)}</Translation>}>\n {icon}\n </Tooltip>\n </span>\n ),\n };\n }\n\n return {\n label: '',\n icon: null,\n };\n};\n"],"mappings":";;;;;;;;AAAA,SAAS,mBAAmB;AAC5B,SAAS,UAAU,YAAY;AAG/B,OAAO,cAAc;AAUR;AARN,IAAM,eAAe,CAAC,OAAe,SAAiB;AAC3D,QAAM,eAAe,gBAAgB;AACrC,MAAI,OAAO;AACT,QAAI,QAAgB;AACpB,QAAI,OAAwB;AAE5B,QAAI,SAAS,OAAO;AAClB,cAAQ,aAAa,QAAQ,IAAI;AACjC,aAAO,oBAAC,YAAS,OAAM,4BAA2B,MAAM,IAAI;AAAA,IAC9D,WAAW,SAAS,OAAO;AACzB,cAAS,aAAqB,IAAI;AAClC,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,WAAU;AAAA,UACV,KAAI;AAAA;AAAA,MACN;AAAA,IAGJ,WAAW,SAAS,WAAW;AAC7B,cAAQ,aAAa,QAAQ;AAC7B,aAAO,oBAAC,QAAK,OAAM,4BAA2B,MAAM,IAAI;AAAA,IAC1D;AAEA,WAAO;AAAA,MACL;AAAA,MACA,MACE,oBAAC,UAAK,WAAU,YACd,8BAAC,WAAQ,OAAO,oBAAC,eAAa,iBAAK,EAAE,KAAK,GAAE,GACzC,gBACH,GACF;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AACF;","names":[]}
@@ -21,6 +21,22 @@ var useENSStore = create((set) => ({
21
21
  }
22
22
  }))
23
23
  }));
24
+ var useNametagCacheStore = create((set) => ({
25
+ nametagCache: {},
26
+ contractCache: {},
27
+ setNametagCache: (e) => set((state) => ({
28
+ nametagCache: {
29
+ ...state.nametagCache,
30
+ ...e
31
+ }
32
+ })),
33
+ setContractCache: (e) => set((state) => ({
34
+ contractCache: {
35
+ ...state.contractCache,
36
+ ...e
37
+ }
38
+ }))
39
+ }));
24
40
  var defaultGasPriceBundle = {
25
41
  gasPriceInfo: {
26
42
  min: 0,
@@ -52,9 +68,10 @@ export {
52
68
  useI18n,
53
69
  useGlobalData,
54
70
  useENSStore,
71
+ useNametagCacheStore,
55
72
  defaultGasPriceBundle,
56
73
  useGasPrice,
57
74
  getEnvConfig,
58
75
  getTranslations
59
76
  };
60
- //# sourceMappingURL=chunk-25QWXIAS.js.map
77
+ //# sourceMappingURL=chunk-HRW4BUP4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/store/index.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { TranslationResource } from '@cfxjs/sirius-next-i18n/types';\nimport {\n EnvState,\n I18nState,\n GlobalDataType,\n GlobalDataState,\n ENSStore,\n NametagCacheStore,\n GasPriceDataState,\n GasPriceBundle,\n} from './types';\n\nexport const useEnv = create<EnvState<any>>(set => ({\n ENV_CONFIG: {},\n SET_ENV_CONFIG: (env: any) => set({ ENV_CONFIG: env }),\n}));\n\nexport const useI18n = create<I18nState>(set => ({\n translations: {} as TranslationResource,\n setTranslations: (translations: TranslationResource) => set({ translations }),\n}));\n\nexport const useGlobalData = create<GlobalDataState>(set => ({\n globalData: {} as GlobalDataType,\n setGlobalData: (data: GlobalDataType) => set({ globalData: data }),\n}));\n\nexport const useENSStore = create<ENSStore>(set => ({\n ens: {},\n setENS: newENS =>\n set(state => ({\n ens: {\n ...state.ens,\n ...newENS,\n },\n })),\n}));\n\nexport const useNametagCacheStore = create<NametagCacheStore>(set => ({\n nametagCache: {},\n contractCache: {},\n setNametagCache: e =>\n set(state => ({\n nametagCache: {\n ...state.nametagCache,\n ...e,\n },\n })),\n setContractCache: e =>\n set(state => ({\n contractCache: {\n ...state.contractCache,\n ...e,\n },\n })),\n}));\n\nexport const defaultGasPriceBundle: GasPriceBundle = {\n gasPriceInfo: {\n min: 0,\n tp50: 0,\n max: 0,\n },\n gasPriceMarket: {\n min: 0,\n tp25: 0,\n tp50: 0,\n tp75: 0,\n max: 0,\n },\n maxEpoch: 0,\n minEpoch: 0,\n maxTime: '0',\n minTime: '0',\n blockHeight: 0,\n};\nexport const useGasPrice = create<GasPriceDataState>(set => ({\n gasPriceData: defaultGasPriceBundle,\n setGasPrice: (data: GasPriceBundle) => set({ gasPriceData: data }),\n}));\n\nexport const getEnvConfig = () => useEnv.getState().ENV_CONFIG;\nexport const getTranslations = () => useI18n.getState().translations;\n"],"mappings":";AAAA,SAAS,cAAc;AAahB,IAAM,SAAS,OAAsB,UAAQ;AAAA,EAClD,YAAY,CAAC;AAAA,EACb,gBAAgB,CAAC,QAAa,IAAI,EAAE,YAAY,IAAI,CAAC;AACvD,EAAE;AAEK,IAAM,UAAU,OAAkB,UAAQ;AAAA,EAC/C,cAAc,CAAC;AAAA,EACf,iBAAiB,CAAC,iBAAsC,IAAI,EAAE,aAAa,CAAC;AAC9E,EAAE;AAEK,IAAM,gBAAgB,OAAwB,UAAQ;AAAA,EAC3D,YAAY,CAAC;AAAA,EACb,eAAe,CAAC,SAAyB,IAAI,EAAE,YAAY,KAAK,CAAC;AACnE,EAAE;AAEK,IAAM,cAAc,OAAiB,UAAQ;AAAA,EAClD,KAAK,CAAC;AAAA,EACN,QAAQ,YACN,IAAI,YAAU;AAAA,IACZ,KAAK;AAAA,MACH,GAAG,MAAM;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF,EAAE;AACN,EAAE;AAEK,IAAM,uBAAuB,OAA0B,UAAQ;AAAA,EACpE,cAAc,CAAC;AAAA,EACf,eAAe,CAAC;AAAA,EAChB,iBAAiB,OACf,IAAI,YAAU;AAAA,IACZ,cAAc;AAAA,MACZ,GAAG,MAAM;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF,EAAE;AAAA,EACJ,kBAAkB,OAChB,IAAI,YAAU;AAAA,IACZ,eAAe;AAAA,MACb,GAAG,MAAM;AAAA,MACT,GAAG;AAAA,IACL;AAAA,EACF,EAAE;AACN,EAAE;AAEK,IAAM,wBAAwC;AAAA,EACnD,cAAc;AAAA,IACZ,KAAK;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA,gBAAgB;AAAA,IACd,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AACf;AACO,IAAM,cAAc,OAA0B,UAAQ;AAAA,EAC3D,cAAc;AAAA,EACd,aAAa,CAAC,SAAyB,IAAI,EAAE,cAAc,KAAK,CAAC;AACnE,EAAE;AAEK,IAAM,eAAe,MAAM,OAAO,SAAS,EAAE;AAC7C,IAAM,kBAAkB,MAAM,QAAQ,SAAS,EAAE;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  publishRequestError
3
- } from "./chunk-LDWHYCAM.js";
3
+ } from "./chunk-NDCMVJNJ.js";
4
4
 
5
5
  // src/utils/request.ts
6
6
  import qs from "qs";
@@ -66,6 +66,14 @@ var fetch = (url, options = {}) => {
66
66
  const { promise } = fetchWithAbort(url, options);
67
67
  return promise;
68
68
  };
69
+ var compatibleResult = (res) => {
70
+ return res.data || res.result || {};
71
+ };
72
+ var queryAddress = (address) => {
73
+ return address.reduce((prev, curr, index) => {
74
+ return !index ? `address=${curr}` : `${prev}&address=${curr}`;
75
+ }, "");
76
+ };
69
77
  var sendRequestChart = async (config) => {
70
78
  try {
71
79
  const res = await fetch(
@@ -77,7 +85,7 @@ var sendRequestChart = async (config) => {
77
85
  signal: config.signal
78
86
  }
79
87
  );
80
- const data = res.data || res.result || {};
88
+ const data = compatibleResult(res);
81
89
  data.list = [...data.list || []].reverse();
82
90
  return data;
83
91
  } catch (error) {
@@ -92,7 +100,7 @@ var sendRequestENSInfo = async (url) => {
92
100
  const res = await fetch(url, {
93
101
  method: "GET"
94
102
  });
95
- return res.data.map;
103
+ return compatibleResult(res)?.map;
96
104
  } catch (error) {
97
105
  console.error("Request failed", error);
98
106
  throw error;
@@ -103,17 +111,33 @@ var sendRequestGasPrice = async () => {
103
111
  const res = await fetch(`/stat/gasprice/tracker`, {
104
112
  method: "GET"
105
113
  });
106
- return res.data || res.result;
114
+ return compatibleResult(res);
107
115
  } catch (error) {
108
116
  console.error("Request failed", error);
109
117
  throw error;
110
118
  }
111
119
  };
120
+ var reqNametag = async (address) => {
121
+ const query = queryAddress(address);
122
+ const res = await fetch(`/v1/nametag?${query}`, {
123
+ method: "GET"
124
+ });
125
+ return compatibleResult(res)?.map;
126
+ };
127
+ var reqContractAndToken = async (address) => {
128
+ const query = queryAddress(address);
129
+ const res = await fetch(`/v1/contract-and-token?${query}`, {
130
+ method: "GET"
131
+ });
132
+ return compatibleResult(res)?.map;
133
+ };
112
134
 
113
135
  export {
114
136
  fetch,
115
137
  sendRequestChart,
116
138
  sendRequestENSInfo,
117
- sendRequestGasPrice
139
+ sendRequestGasPrice,
140
+ reqNametag,
141
+ reqContractAndToken
118
142
  };
119
- //# sourceMappingURL=chunk-M6AOTEU6.js.map
143
+ //# sourceMappingURL=chunk-HVLEBJG6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/request.ts"],"sourcesContent":["import qs from 'qs';\nimport { publishRequestError } from './index';\n\ninterface FetchWithAbortType<T> {\n promise: Promise<T>;\n abort: () => void;\n}\n\ninterface FetchOptions extends RequestInit {\n timeout?: number;\n}\n\nconst TIMEOUT_TIMESTAMP = 60000;\n\nconst checkStatus = (response: Response) => {\n if (\n (response.status >= 200 && response.status < 300) ||\n response.status === 600\n ) {\n return response;\n } else {\n const error = new Error(response.statusText);\n error.name = 'HttpError';\n (error as any).status = response.status;\n (error as any).response = response;\n throw error;\n }\n};\n\nconst parseJSON = async (response: Response) => {\n const contentType = response.headers.get('content-type');\n if (contentType && contentType.includes('application/json')) {\n return response.json();\n } else {\n return response;\n }\n};\n\nconst fetchWithAbort = <T>(\n url: string,\n options: FetchOptions = {},\n): FetchWithAbortType<T> => {\n const controller = new AbortController();\n const opts: FetchOptions = { ...options, signal: controller.signal };\n const timeout = options.timeout || TIMEOUT_TIMESTAMP;\n\n let timeoutId: ReturnType<typeof setTimeout>;\n const promise: Promise<T> = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n controller.abort();\n publishRequestError(\n { url, code: 408, message: 'Request timeout' },\n 'http',\n );\n reject(new Error('Request timeout'));\n }, timeout);\n\n window\n .fetch(url, opts)\n .then(checkStatus)\n .then(parseJSON)\n .then(data => resolve(data as T))\n .catch(error => {\n if (error.name === 'AbortError') {\n publishRequestError(\n { url, code: 0, message: 'Fetch aborted' },\n 'http',\n );\n reject(new Error('Fetch aborted'));\n } else {\n publishRequestError(\n { url, code: (error as any).status, message: error.message },\n 'http',\n );\n reject(error);\n }\n })\n .finally(() => clearTimeout(timeoutId));\n });\n\n return {\n promise,\n abort: () => {\n clearTimeout(timeoutId);\n controller.abort();\n },\n };\n};\n\nexport const fetch = <T>(\n url: string,\n options: FetchOptions = {},\n): Promise<T> => {\n const { promise } = fetchWithAbort<T>(url, options);\n return promise;\n};\n\ntype RequestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';\ninterface QueryParams {\n [key: string]: string;\n}\ninterface Config {\n url: string;\n query: QueryParams;\n type?: RequestMethod;\n body?: any;\n headers?: Headers;\n signal?: AbortSignal;\n}\n\ninterface CustomResponse {\n code: number;\n data: any;\n result: any;\n message: string;\n status: string;\n}\n\nconst compatibleResult = (res: CustomResponse) => {\n return res.data || res.result || {};\n};\n\nconst queryAddress = (address: string[]) => {\n return address.reduce((prev, curr, index) => {\n return !index ? `address=${curr}` : `${prev}&address=${curr}`;\n }, '');\n};\n\nexport const sendRequestChart = async (config: Config) => {\n try {\n const res: CustomResponse = await fetch(\n `${config.url}?${qs.stringify(config.query)}`,\n {\n method: config.type || 'GET',\n body: config.body,\n headers: config.headers,\n signal: config.signal,\n },\n );\n const data = compatibleResult(res);\n data.list = [...(data.list || [])].reverse();\n return data;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const sendRequestENSInfo = async (url?: string | null) => {\n if (!url) return {};\n try {\n const res: CustomResponse = await fetch(url, {\n method: 'GET',\n });\n\n return compatibleResult(res)?.map;\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const sendRequestGasPrice = async () => {\n try {\n const res: CustomResponse = await fetch(`/stat/gasprice/tracker`, {\n method: 'GET',\n });\n return compatibleResult(res);\n } catch (error) {\n console.error('Request failed', error);\n throw error;\n }\n};\n\nexport const reqNametag = async (address: string[]) => {\n const query = queryAddress(address);\n\n const res: CustomResponse = await fetch(`/v1/nametag?${query}`, {\n method: 'GET',\n });\n return compatibleResult(res)?.map;\n};\n\nexport const reqContractAndToken = async (address: string[]) => {\n const query = queryAddress(address);\n\n const res: CustomResponse = await fetch(`/v1/contract-and-token?${query}`, {\n method: 'GET',\n });\n return compatibleResult(res)?.map;\n};\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  trackEvent
3
- } from "./chunk-IM77KPX5.js";
3
+ } from "./chunk-CFRPDLWO.js";
4
4
 
5
5
  // src/components/Link/index.tsx
6
6
  import React from "react";
@@ -58,4 +58,4 @@ var Link = React.memo(
58
58
  export {
59
59
  Link
60
60
  };
61
- //# sourceMappingURL=chunk-AEYHX3HP.js.map
61
+ //# sourceMappingURL=chunk-IEPHKAPT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Link/index.tsx"],"sourcesContent":["import React, { PropsWithChildren, MouseEvent } from 'react';\nimport { Link as RouterLink, useHistory } from 'react-router-dom';\nimport { TrackEventParams, trackEvent } from '../../utils/ga';\nimport clsx from 'clsx';\n\ninterface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n state?: any; // Consider typing this more strictly if possible\n ga?: TrackEventParams;\n afterClick?: VoidFunction;\n}\n\nexport const Link: React.FC<PropsWithChildren<LinkProps>> = React.memo(\n ({ className, href, children, state, ga = null, afterClick, ...others }) => {\n const history = useHistory();\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n if (ga) {\n trackEvent(ga);\n }\n\n if (!href) return;\n\n if (/^http/.test(href)) {\n window.open(href, '_blank', 'noopener,noreferrer');\n } else if (e.metaKey || e.ctrlKey) {\n window.open(`${window.location.origin}${href}`, '_blank');\n } else {\n history.push(href, state);\n }\n afterClick?.();\n };\n\n if (href && /^http/.test(href)) {\n return (\n <a\n className={clsx('link', className)}\n href={href}\n onClick={handleClick}\n {...others}\n >\n {children}\n </a>\n );\n } else {\n return (\n <RouterLink\n className={clsx('link', className)}\n to={{\n pathname: href,\n state: state,\n }}\n onClick={handleClick}\n {...others}\n >\n {children}\n </RouterLink>\n );\n }\n },\n);\n\n// react-router-dom v6\n// import React, { PropsWithChildren, MouseEvent } from 'react';\n// import { Link as RouterLink, useNavigate } from 'react-router-dom';\n\n// interface LinkProps {\n// className: string;\n// href: string;\n// state?: any;\n// }\n\n// export const Link: React.FC<PropsWithChildren<LinkProps>> = React.memo(\n// ({ className, href, children, state, ...others }) => {\n// const navigate = useNavigate();\n\n// const handleClick = (e: MouseEvent<HTMLAnchorElement | HTMLDivElement>) => {\n// e.preventDefault();\n\n// if (!href) return;\n\n// if (/^http/.test(href)) {\n// window.open(href, '_blank', 'noopener,noreferrer');\n// } else if (e.metaKey || e.ctrlKey) {\n// window.open(`${window.location.origin}${href}`, '_blank');\n// } else {\n// navigate(href, { state });\n// }\n// };\n\n// if (/^http/.test(href)) {\n// return (\n// <a href={href} onClick={handleClick} {...others}>\n// {children}\n// </a>\n// );\n// } else {\n// return (\n// <RouterLink className={className} to={href} state={state} onClick={handleClick} {...others}>\n// {children}\n// </RouterLink>\n// );\n// }\n// }\n// );\n"],"mappings":";;;;;AAAA,OAAO,WAA8C;AACrD,SAAS,QAAQ,YAAY,kBAAkB;AAE/C,OAAO,UAAU;AAgCT;AAxBD,IAAM,OAA+C,MAAM;AAAA,EAChE,CAAC,EAAE,WAAW,MAAM,UAAU,OAAO,KAAK,MAAM,YAAY,GAAG,OAAO,MAAM;AAC1E,UAAM,UAAU,WAAW;AAE3B,UAAM,cAAc,CAAC,MAAqC;AACxD,QAAE,eAAe;AACjB,UAAI,IAAI;AACN,mBAAW,EAAE;AAAA,MACf;AAEA,UAAI,CAAC;AAAM;AAEX,UAAI,QAAQ,KAAK,IAAI,GAAG;AACtB,eAAO,KAAK,MAAM,UAAU,qBAAqB;AAAA,MACnD,WAAW,EAAE,WAAW,EAAE,SAAS;AACjC,eAAO,KAAK,GAAG,OAAO,SAAS,MAAM,GAAG,IAAI,IAAI,QAAQ;AAAA,MAC1D,OAAO;AACL,gBAAQ,KAAK,MAAM,KAAK;AAAA,MAC1B;AACA,mBAAa;AAAA,IACf;AAEA,QAAI,QAAQ,QAAQ,KAAK,IAAI,GAAG;AAC9B,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,KAAK,QAAQ,SAAS;AAAA,UACjC;AAAA,UACA,SAAS;AAAA,UACR,GAAG;AAAA,UAEH;AAAA;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,KAAK,QAAQ,SAAS;AAAA,UACjC,IAAI;AAAA,YACF,UAAU;AAAA,YACV;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACR,GAAG;AAAA,UAEH;AAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/components/Link/index.tsx"],"sourcesContent":["import React, { PropsWithChildren, MouseEvent } from 'react';\nimport { Link as RouterLink, useHistory } from 'react-router-dom';\nimport { TrackEventParams, trackEvent } from '../../utils/ga';\nimport clsx from 'clsx';\n\ninterface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n state?: any; // Consider typing this more strictly if possible\n ga?: TrackEventParams;\n afterClick?: VoidFunction;\n}\n\nexport const Link: React.FC<PropsWithChildren<LinkProps>> = React.memo(\n ({ className, href, children, state, ga = null, afterClick, ...others }) => {\n const history = useHistory();\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n if (ga) {\n trackEvent(ga);\n }\n\n if (!href) return;\n\n if (/^http/.test(href)) {\n window.open(href, '_blank', 'noopener,noreferrer');\n } else if (e.metaKey || e.ctrlKey) {\n window.open(`${window.location.origin}${href}`, '_blank');\n } else {\n history.push(href, state);\n }\n afterClick?.();\n };\n\n if (href && /^http/.test(href)) {\n return (\n <a\n className={clsx('link', className)}\n href={href}\n onClick={handleClick}\n {...others}\n >\n {children}\n </a>\n );\n } else {\n return (\n <RouterLink\n className={clsx('link', className)}\n to={{\n pathname: href,\n state: state,\n }}\n onClick={handleClick}\n {...others}\n >\n {children}\n </RouterLink>\n );\n }\n },\n);\n\n// react-router-dom v6\n// import React, { PropsWithChildren, MouseEvent } from 'react';\n// import { Link as RouterLink, useNavigate } from 'react-router-dom';\n\n// interface LinkProps {\n// className: string;\n// href: string;\n// state?: any;\n// }\n\n// export const Link: React.FC<PropsWithChildren<LinkProps>> = React.memo(\n// ({ className, href, children, state, ...others }) => {\n// const navigate = useNavigate();\n\n// const handleClick = (e: MouseEvent<HTMLAnchorElement | HTMLDivElement>) => {\n// e.preventDefault();\n\n// if (!href) return;\n\n// if (/^http/.test(href)) {\n// window.open(href, '_blank', 'noopener,noreferrer');\n// } else if (e.metaKey || e.ctrlKey) {\n// window.open(`${window.location.origin}${href}`, '_blank');\n// } else {\n// navigate(href, { state });\n// }\n// };\n\n// if (/^http/.test(href)) {\n// return (\n// <a href={href} onClick={handleClick} {...others}>\n// {children}\n// </a>\n// );\n// } else {\n// return (\n// <RouterLink className={className} to={href} state={state} onClick={handleClick} {...others}>\n// {children}\n// </RouterLink>\n// );\n// }\n// }\n// );\n"],"mappings":";;;;;AAAA,OAAO,WAA8C;AACrD,SAAS,QAAQ,YAAY,kBAAkB;AAE/C,OAAO,UAAU;AAgCT;AAxBD,IAAM,OAA+C,MAAM;AAAA,EAChE,CAAC,EAAE,WAAW,MAAM,UAAU,OAAO,KAAK,MAAM,YAAY,GAAG,OAAO,MAAM;AAC1E,UAAM,UAAU,WAAW;AAE3B,UAAM,cAAc,CAAC,MAAqC;AACxD,QAAE,eAAe;AACjB,UAAI,IAAI;AACN,mBAAW,EAAE;AAAA,MACf;AAEA,UAAI,CAAC;AAAM;AAEX,UAAI,QAAQ,KAAK,IAAI,GAAG;AACtB,eAAO,KAAK,MAAM,UAAU,qBAAqB;AAAA,MACnD,WAAW,EAAE,WAAW,EAAE,SAAS;AACjC,eAAO,KAAK,GAAG,OAAO,SAAS,SAAS,QAAQ,QAAQ;AAAA,MAC1D,OAAO;AACL,gBAAQ,KAAK,MAAM,KAAK;AAAA,MAC1B;AACA,mBAAa;AAAA,IACf;AAEA,QAAI,QAAQ,QAAQ,KAAK,IAAI,GAAG;AAC9B,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,KAAK,QAAQ,SAAS;AAAA,UACjC;AAAA,UACA,SAAS;AAAA,UACR,GAAG;AAAA,UAEH;AAAA;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,KAAK,QAAQ,SAAS;AAAA,UACjC,IAAI;AAAA,YACF,UAAU;AAAA,YACV;AAAA,UACF;AAAA,UACA,SAAS;AAAA,UACR,GAAG;AAAA,UAEH;AAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AACF;","names":[]}