@cfxjs/sirius-next-common 0.2.10 → 0.2.11

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 (329) hide show
  1. package/dist/_esm-TZ4WSCGM.js +4035 -0
  2. package/dist/_esm-TZ4WSCGM.js.map +1 -0
  3. package/dist/abis/CommonError.d.ts +10 -0
  4. package/dist/abis/CommonError.js +8 -0
  5. package/dist/abis/CommonError.js.map +1 -0
  6. package/dist/abis/CommonPanic.d.ts +10 -0
  7. package/dist/abis/CommonPanic.js +8 -0
  8. package/dist/abis/CommonPanic.js.map +1 -0
  9. package/dist/ccip-DBSI27GO.js +15 -0
  10. package/dist/ccip-DBSI27GO.js.map +1 -0
  11. package/dist/chunk-3PXUIH3S.js +17 -0
  12. package/dist/chunk-3PXUIH3S.js.map +1 -0
  13. package/dist/chunk-4B6ASBYQ.js +408 -0
  14. package/dist/chunk-4B6ASBYQ.js.map +1 -0
  15. package/dist/{chunk-LXTR4VAD.js → chunk-5EDEEGZK.js} +42 -19
  16. package/dist/chunk-5EDEEGZK.js.map +1 -0
  17. package/dist/chunk-5TGK2EA2.js +18 -0
  18. package/dist/chunk-5TGK2EA2.js.map +1 -0
  19. package/dist/chunk-5Y7I6VYA.js +145 -0
  20. package/dist/chunk-5Y7I6VYA.js.map +1 -0
  21. package/dist/chunk-6H5A42YS.js +23 -0
  22. package/dist/chunk-6H5A42YS.js.map +1 -0
  23. package/dist/chunk-6SXAFSBF.js +1032 -0
  24. package/dist/chunk-6SXAFSBF.js.map +1 -0
  25. package/dist/chunk-735VMABS.js +82 -0
  26. package/dist/chunk-735VMABS.js.map +1 -0
  27. package/dist/chunk-7CBOXGGA.js +78 -0
  28. package/dist/chunk-7CBOXGGA.js.map +1 -0
  29. package/dist/chunk-ADNS57X5.js +18 -0
  30. package/dist/chunk-ADNS57X5.js.map +1 -0
  31. package/dist/{chunk-ABDGDYRT.js → chunk-ADULNBMD.js} +5 -5
  32. package/dist/chunk-AKMGJWIM.js +79 -0
  33. package/dist/chunk-AKMGJWIM.js.map +1 -0
  34. package/dist/{chunk-IIIPX34H.js → chunk-BUSBM33B.js} +4 -4
  35. package/dist/chunk-CKVDFS45.js +56 -0
  36. package/dist/chunk-CKVDFS45.js.map +1 -0
  37. package/dist/{chunk-WI3G3OD5.js → chunk-CNF26YY7.js} +3 -3
  38. package/dist/{chunk-DFQG46WD.js → chunk-CPPQCJEV.js} +3 -3
  39. package/dist/chunk-CPR4QZT6.js +21 -0
  40. package/dist/chunk-CPR4QZT6.js.map +1 -0
  41. package/dist/{chunk-NUKYY7GO.js → chunk-DF3PVTB5.js} +2 -2
  42. package/dist/chunk-E3ZD2GGG.js +17 -0
  43. package/dist/chunk-E3ZD2GGG.js.map +1 -0
  44. package/dist/chunk-EERNUGUK.js +198 -0
  45. package/dist/chunk-EERNUGUK.js.map +1 -0
  46. package/dist/{chunk-S5QP6EUQ.js → chunk-EMPFZFBS.js} +6 -19
  47. package/dist/chunk-EMPFZFBS.js.map +1 -0
  48. package/dist/chunk-FYLAXC3R.js +82 -0
  49. package/dist/chunk-FYLAXC3R.js.map +1 -0
  50. package/dist/{chunk-IWNT4XVY.js → chunk-GKZK26DZ.js} +3 -3
  51. package/dist/{chunk-IQJOXINX.js → chunk-GSWIFV2B.js} +2 -2
  52. package/dist/chunk-JFFTHCNE.js +344 -0
  53. package/dist/chunk-JFFTHCNE.js.map +1 -0
  54. package/dist/chunk-JIRLY7OG.js +4357 -0
  55. package/dist/chunk-JIRLY7OG.js.map +1 -0
  56. package/dist/chunk-K6FHTS3F.js +115 -0
  57. package/dist/chunk-K6FHTS3F.js.map +1 -0
  58. package/dist/chunk-L62OTV7F.js +71 -0
  59. package/dist/chunk-L62OTV7F.js.map +1 -0
  60. package/dist/{chunk-2R6NJR5T.js → chunk-LVFMTP5H.js} +2 -2
  61. package/dist/chunk-NWVSTRCG.js +20 -0
  62. package/dist/chunk-NWVSTRCG.js.map +1 -0
  63. package/dist/chunk-NXCZ5PMI.js +64 -0
  64. package/dist/chunk-NXCZ5PMI.js.map +1 -0
  65. package/dist/{chunk-HHA2RXLW.js → chunk-NZY53U2H.js} +9 -13
  66. package/dist/chunk-NZY53U2H.js.map +1 -0
  67. package/dist/{chunk-U3F7QHXB.js → chunk-OCQIWTDC.js} +2 -2
  68. package/dist/{chunk-EQWAYCW3.js → chunk-ODJ4QBD5.js} +6 -6
  69. package/dist/chunk-OYESIV3F.js +47 -0
  70. package/dist/chunk-OYESIV3F.js.map +1 -0
  71. package/dist/{chunk-IWGPVXSI.js → chunk-P4EE3QGM.js} +3 -3
  72. package/dist/{chunk-BRST23XX.js → chunk-Q2DX6IDH.js} +2 -2
  73. package/dist/chunk-SFCNLOQ5.js +37 -0
  74. package/dist/chunk-SFCNLOQ5.js.map +1 -0
  75. package/dist/chunk-SUCQASD3.js +84 -0
  76. package/dist/chunk-SUCQASD3.js.map +1 -0
  77. package/dist/chunk-U6ZN2ABK.js +184 -0
  78. package/dist/chunk-U6ZN2ABK.js.map +1 -0
  79. package/dist/chunk-UM5J477V.js +69 -0
  80. package/dist/chunk-UM5J477V.js.map +1 -0
  81. package/dist/{chunk-7RH7LJYB.js → chunk-WIB76E7O.js} +6 -2
  82. package/dist/{chunk-7RH7LJYB.js.map → chunk-WIB76E7O.js.map} +1 -1
  83. package/dist/chunk-WQG2LZMB.js +50 -0
  84. package/dist/chunk-WQG2LZMB.js.map +1 -0
  85. package/dist/chunk-XZ7IV2FF.js +5947 -0
  86. package/dist/chunk-XZ7IV2FF.js.map +1 -0
  87. package/dist/chunk-Y7OVL5US.js +46 -0
  88. package/dist/chunk-Y7OVL5US.js.map +1 -0
  89. package/dist/chunk-YBQQ72FQ.js +10 -0
  90. package/dist/chunk-YBQQ72FQ.js.map +1 -0
  91. package/dist/chunk-YDA7DDMQ.js +186 -0
  92. package/dist/chunk-YDA7DDMQ.js.map +1 -0
  93. package/dist/{chunk-YEUH2K6Z.js → chunk-YEINMVAR.js} +8 -2
  94. package/dist/chunk-YEINMVAR.js.map +1 -0
  95. package/dist/chunk-YIZCD4WG.js +107 -0
  96. package/dist/chunk-YIZCD4WG.js.map +1 -0
  97. package/dist/components/AceEditor/index.js +9 -143
  98. package/dist/components/AceEditor/index.js.map +1 -1
  99. package/dist/components/AddressContainer/CoreAddressContainer.js +14 -12
  100. package/dist/components/AddressContainer/EVMAddressContainer.js +13 -11
  101. package/dist/components/AddressContainer/addressSwitcher.js +11 -9
  102. package/dist/components/AddressContainer/addressView.js +9 -8
  103. package/dist/components/AddressContainer/label.js +7 -6
  104. package/dist/components/AddressContainer/utils.d.ts +9 -0
  105. package/dist/components/AddressContainer/utils.js +30 -0
  106. package/dist/components/AddressContainer/utils.js.map +1 -0
  107. package/dist/components/Age/index.js +7 -6
  108. package/dist/components/Age/index.js.map +1 -1
  109. package/dist/components/AutoComplete/index.js +6 -5
  110. package/dist/components/AutoComplete/index.js.map +1 -1
  111. package/dist/components/Button/ActionButton/index.js +1 -0
  112. package/dist/components/Button/BaseButton/index.js +1 -0
  113. package/dist/components/Button/IconButton/index.js +1 -0
  114. package/dist/components/Button/index.js +1 -0
  115. package/dist/components/Card/index.js +1 -0
  116. package/dist/components/Charts/BreadcrumbNav.js +1 -0
  117. package/dist/components/Charts/ChartOptions.js +1 -0
  118. package/dist/components/Charts/PreviewChartTemplate.js +3 -2
  119. package/dist/components/Charts/PreviewChartTemplate.js.map +1 -1
  120. package/dist/components/Charts/PreviewTitle.js +1 -0
  121. package/dist/components/Charts/StockChartTemplate.js +10 -9
  122. package/dist/components/Charts/StockChartTemplate.js.map +1 -1
  123. package/dist/components/Charts/StockTitle.js +1 -0
  124. package/dist/components/Charts/config.js +1 -0
  125. package/dist/components/Charts/constants.js +1 -0
  126. package/dist/components/Charts/useHighCharts.js +1 -0
  127. package/dist/components/CookieTip/CookieIcon.js +1 -0
  128. package/dist/components/CookieTip/index.js +2 -1
  129. package/dist/components/CookieTip/index.js.map +1 -1
  130. package/dist/components/CopyButton/index.js +6 -5
  131. package/dist/components/CopyButton/index.js.map +1 -1
  132. package/dist/components/DecimalsSelect/index.js +6 -5
  133. package/dist/components/DecimalsSelect/index.js.map +1 -1
  134. package/dist/components/DeleteIcon/index.js +2 -0
  135. package/dist/components/DeleteIcon/index.js.map +1 -1
  136. package/dist/components/Description/index.js +1 -0
  137. package/dist/components/Divider/index.js +1 -0
  138. package/dist/components/DownloadCSV/index.js +7 -6
  139. package/dist/components/DownloadCSV/index.js.map +1 -1
  140. package/dist/components/Dropdown/index.js +1 -0
  141. package/dist/components/Dropdown/index.js.map +1 -1
  142. package/dist/components/Empty/index.js +4 -40
  143. package/dist/components/Empty/index.js.map +1 -1
  144. package/dist/components/FileUpload/index.js +2 -0
  145. package/dist/components/FileUpload/index.js.map +1 -1
  146. package/dist/components/Footer/index.js +1 -0
  147. package/dist/components/Footer/index.js.map +1 -1
  148. package/dist/components/GasPriceDropdown/index.js +5 -4
  149. package/dist/components/GasPriceDropdown/index.js.map +1 -1
  150. package/dist/components/Highlight/index.js +1 -0
  151. package/dist/components/Highlight/index.js.map +1 -1
  152. package/dist/components/Icons/index.d.ts +8 -1
  153. package/dist/components/Icons/index.js +20 -64
  154. package/dist/components/Icons/index.js.map +1 -1
  155. package/dist/components/ImageSkeleton/index.js +2 -0
  156. package/dist/components/ImageSkeleton/index.js.map +1 -1
  157. package/dist/components/IncreasePercent/Icons.js +1 -0
  158. package/dist/components/IncreasePercent/index.js +5 -4
  159. package/dist/components/IncreasePercent/index.js.map +1 -1
  160. package/dist/components/InfoIconWithTooltip/InfoIcon.js +1 -0
  161. package/dist/components/InfoIconWithTooltip/index.js +7 -6
  162. package/dist/components/InputData/AddressLabel.d.ts +8 -0
  163. package/dist/components/InputData/AddressLabel.js +23 -0
  164. package/dist/components/InputData/AddressLabel.js.map +1 -0
  165. package/dist/components/InputData/ContractDetail.d.ts +22 -0
  166. package/dist/components/InputData/ContractDetail.js +19 -0
  167. package/dist/components/InputData/ContractDetail.js.map +1 -0
  168. package/dist/components/InputData/FunctionName.d.ts +10 -0
  169. package/dist/components/InputData/FunctionName.js +10 -0
  170. package/dist/components/InputData/FunctionName.js.map +1 -0
  171. package/dist/components/InputData/GeneralDecode.d.ts +9 -0
  172. package/dist/components/InputData/GeneralDecode.js +8 -0
  173. package/dist/components/InputData/GeneralDecode.js.map +1 -0
  174. package/dist/components/InputData/JsonDecode.d.ts +18 -0
  175. package/dist/components/InputData/JsonDecode.js +19 -0
  176. package/dist/components/InputData/JsonDecode.js.map +1 -0
  177. package/dist/components/InputData/OptimizationDecode.d.ts +23 -0
  178. package/dist/components/InputData/OptimizationDecode.js +32 -0
  179. package/dist/components/InputData/OptimizationDecode.js.map +1 -0
  180. package/dist/components/InputData/Original.d.ts +8 -0
  181. package/dist/components/InputData/Original.js +8 -0
  182. package/dist/components/InputData/Original.js.map +1 -0
  183. package/dist/components/InputData/UTF8.d.ts +8 -0
  184. package/dist/components/InputData/UTF8.js +14 -0
  185. package/dist/components/InputData/UTF8.js.map +1 -0
  186. package/dist/components/InputData/index.d.ts +15 -0
  187. package/dist/components/InputData/index.js +36 -0
  188. package/dist/components/InputData/index.js.map +1 -0
  189. package/dist/components/InputData/utils.d.ts +5 -0
  190. package/dist/components/InputData/utils.js +8 -0
  191. package/dist/components/InputData/utils.js.map +1 -0
  192. package/dist/components/Link/index.js +1 -0
  193. package/dist/components/List/index.js +1 -0
  194. package/dist/components/List/index.js.map +1 -1
  195. package/dist/components/Loading/index.js +1 -0
  196. package/dist/components/Loading/index.js.map +1 -1
  197. package/dist/components/Loading/loading.js +1 -0
  198. package/dist/components/Modal/index.js +6 -5
  199. package/dist/components/NetworkIcon/index.js +5 -4
  200. package/dist/components/NetworkIcon/index.js.map +1 -1
  201. package/dist/components/OutputData/ErrorDecode.d.ts +14 -0
  202. package/dist/components/OutputData/ErrorDecode.js +39 -0
  203. package/dist/components/OutputData/ErrorDecode.js.map +1 -0
  204. package/dist/components/OutputData/index.d.ts +21 -0
  205. package/dist/components/OutputData/index.js +42 -0
  206. package/dist/components/OutputData/index.js.map +1 -0
  207. package/dist/components/PageHeader/index.js +2 -0
  208. package/dist/components/PageHeader/index.js.map +1 -1
  209. package/dist/components/PhishingAddressContainer/PhishingWarningIcon.js +1 -0
  210. package/dist/components/PhishingAddressContainer/index.js +7 -6
  211. package/dist/components/PhishingAddressContainer/index.js.map +1 -1
  212. package/dist/components/Popover/index.js +6 -5
  213. package/dist/components/Price/index.js +6 -5
  214. package/dist/components/Price/index.js.map +1 -1
  215. package/dist/components/ProxyContractAddress/index.d.ts +24 -0
  216. package/dist/components/ProxyContractAddress/index.js +120 -0
  217. package/dist/components/ProxyContractAddress/index.js.map +1 -0
  218. package/dist/components/Radio/index.js +5 -4
  219. package/dist/components/Radio/index.js.map +1 -1
  220. package/dist/components/Remark/index.js +1 -0
  221. package/dist/components/Remark/index.js.map +1 -1
  222. package/dist/components/SearchIcon/index.js +2 -0
  223. package/dist/components/SearchIcon/index.js.map +1 -1
  224. package/dist/components/SearchInput/index.js +7 -6
  225. package/dist/components/SearchInput/index.js.map +1 -1
  226. package/dist/components/Select/index.d.ts +5 -4
  227. package/dist/components/Select/index.js +10 -105
  228. package/dist/components/Select/index.js.map +1 -1
  229. package/dist/components/Select/select.js +7 -5
  230. package/dist/components/Skeleton/index.js +1 -0
  231. package/dist/components/SkeletonContainer/index.js +1 -0
  232. package/dist/components/Spin/index.js +1 -0
  233. package/dist/components/Switch/index.d.ts +10 -0
  234. package/dist/components/Switch/index.js +81 -0
  235. package/dist/components/Switch/index.js.map +1 -0
  236. package/dist/components/Table/index.d.ts +9 -0
  237. package/dist/components/Table/index.js +12 -0
  238. package/dist/components/Table/index.js.map +1 -0
  239. package/dist/components/Text/index.js +7 -6
  240. package/dist/components/TextLogo/index.js +2 -0
  241. package/dist/components/TextLogo/index.js.map +1 -1
  242. package/dist/components/Tooltip/index.js +6 -5
  243. package/dist/components/TransactionAction/constants.js +1 -0
  244. package/dist/components/TransactionAction/coreTransactionAction.js +15 -13
  245. package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -1
  246. package/dist/components/TransactionAction/evmTransactionAction.js +14 -12
  247. package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
  248. package/dist/components/TransactionTrace/TraceDetail.d.ts +20 -0
  249. package/dist/components/TransactionTrace/TraceDetail.js +54 -0
  250. package/dist/components/TransactionTrace/TraceDetail.js.map +1 -0
  251. package/dist/components/TransactionTrace/TreeTraceTable.d.ts +20 -0
  252. package/dist/components/TransactionTrace/TreeTraceTable.js +57 -0
  253. package/dist/components/TransactionTrace/TreeTraceTable.js.map +1 -0
  254. package/dist/components/TransactionTrace/index.d.ts +9 -0
  255. package/dist/components/TransactionTrace/index.js +60 -0
  256. package/dist/components/TransactionTrace/index.js.map +1 -0
  257. package/dist/secp256k1-WGKMGTUQ.js +2255 -0
  258. package/dist/secp256k1-WGKMGTUQ.js.map +1 -0
  259. package/dist/store/index.js +1 -0
  260. package/dist/uno.css +103 -5
  261. package/dist/utils/address.js +5 -4
  262. package/dist/utils/cache.js +2 -1
  263. package/dist/utils/constants.d.ts +3 -1
  264. package/dist/utils/constants.js +6 -1
  265. package/dist/utils/contractManagerTool.js +5 -4
  266. package/dist/utils/contractManagerTool.js.map +1 -1
  267. package/dist/utils/cookie.js +1 -0
  268. package/dist/utils/ga.js +1 -0
  269. package/dist/utils/hooks/useAddressLabel.d.ts +3 -0
  270. package/dist/utils/hooks/useAddressLabel.js +14 -0
  271. package/dist/utils/hooks/useAddressLabel.js.map +1 -0
  272. package/dist/utils/hooks/useAge.js +2 -1
  273. package/dist/utils/hooks/useAge.js.map +1 -1
  274. package/dist/utils/hooks/useAutoSetHolderFilterParams.js +5 -4
  275. package/dist/utils/hooks/useAutoSetHolderFilterParams.js.map +1 -1
  276. package/dist/utils/hooks/useChartQueryParams.js +2 -0
  277. package/dist/utils/hooks/useChartQueryParams.js.map +1 -1
  278. package/dist/utils/hooks/useContractDetail.d.ts +6 -0
  279. package/dist/utils/hooks/useContractDetail.js +12 -0
  280. package/dist/utils/hooks/useContractDetail.js.map +1 -0
  281. package/dist/utils/hooks/useDecodeFunctionData.d.ts +29 -0
  282. package/dist/utils/hooks/useDecodeFunctionData.js +19 -0
  283. package/dist/utils/hooks/useDecodeFunctionData.js.map +1 -0
  284. package/dist/utils/hooks/useDecodeFunctionError.d.ts +17 -0
  285. package/dist/utils/hooks/useDecodeFunctionError.js +19 -0
  286. package/dist/utils/hooks/useDecodeFunctionError.js.map +1 -0
  287. package/dist/utils/hooks/useDecodedDataType.d.ts +18 -0
  288. package/dist/utils/hooks/useDecodedDataType.js +8 -0
  289. package/dist/utils/hooks/useDecodedDataType.js.map +1 -0
  290. package/dist/utils/hooks/useENS.js +6 -5
  291. package/dist/utils/hooks/useGetTxnStatus.js +2 -0
  292. package/dist/utils/hooks/useGetTxnStatus.js.map +1 -1
  293. package/dist/utils/hooks/useMethodAbi.d.ts +8 -0
  294. package/dist/utils/hooks/useMethodAbi.js +12 -0
  295. package/dist/utils/hooks/useMethodAbi.js.map +1 -0
  296. package/dist/utils/hooks/useMultiAceSearch.js +2 -0
  297. package/dist/utils/hooks/useMultiAceSearch.js.map +1 -1
  298. package/dist/utils/hooks/useSearchParams.js +1 -0
  299. package/dist/utils/hooks/useTxTrace.d.ts +124 -0
  300. package/dist/utils/hooks/useTxTrace.js +170 -0
  301. package/dist/utils/hooks/useTxTrace.js.map +1 -0
  302. package/dist/utils/index.js +5 -4
  303. package/dist/utils/media.js +1 -0
  304. package/dist/utils/pubsub.js +1 -0
  305. package/dist/utils/request.d.ts +5 -2
  306. package/dist/utils/request.js +5 -2
  307. package/dist/utils/request.types.d.ts +18 -3
  308. package/dist/utils/rpcRequest.js +1 -0
  309. package/dist/utils/rpcRequest.js.map +1 -1
  310. package/dist/utils/sdk.d.ts +35 -0
  311. package/dist/utils/sdk.js +19 -0
  312. package/dist/utils/sdk.js.map +1 -0
  313. package/package.json +5 -2
  314. package/dist/chunk-HHA2RXLW.js.map +0 -1
  315. package/dist/chunk-LXTR4VAD.js.map +0 -1
  316. package/dist/chunk-S5QP6EUQ.js.map +0 -1
  317. package/dist/chunk-YEUH2K6Z.js.map +0 -1
  318. /package/dist/{chunk-ABDGDYRT.js.map → chunk-ADULNBMD.js.map} +0 -0
  319. /package/dist/{chunk-IIIPX34H.js.map → chunk-BUSBM33B.js.map} +0 -0
  320. /package/dist/{chunk-WI3G3OD5.js.map → chunk-CNF26YY7.js.map} +0 -0
  321. /package/dist/{chunk-DFQG46WD.js.map → chunk-CPPQCJEV.js.map} +0 -0
  322. /package/dist/{chunk-NUKYY7GO.js.map → chunk-DF3PVTB5.js.map} +0 -0
  323. /package/dist/{chunk-IWNT4XVY.js.map → chunk-GKZK26DZ.js.map} +0 -0
  324. /package/dist/{chunk-IQJOXINX.js.map → chunk-GSWIFV2B.js.map} +0 -0
  325. /package/dist/{chunk-2R6NJR5T.js.map → chunk-LVFMTP5H.js.map} +0 -0
  326. /package/dist/{chunk-U3F7QHXB.js.map → chunk-OCQIWTDC.js.map} +0 -0
  327. /package/dist/{chunk-EQWAYCW3.js.map → chunk-ODJ4QBD5.js.map} +0 -0
  328. /package/dist/{chunk-IWGPVXSI.js.map → chunk-P4EE3QGM.js.map} +0 -0
  329. /package/dist/{chunk-BRST23XX.js.map → chunk-Q2DX6IDH.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DeleteIcon/index.tsx"],"sourcesContent":["/* -*- mode: typescript -*- */\nimport React from 'react';\ninterface Props {\n color?: string;\n}\n\nexport const DeleteIcon: React.FC<Props> = props => {\n const { color = '#0054FE' } = props;\n return (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n id=\"Web\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <g\n transform=\"translate(-396.000000, -249.000000)\"\n stroke={color}\n strokeWidth=\"1.5\"\n >\n <g id=\"Clear\" transform=\"translate(396.000000, 249.000000)\">\n <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n <line x1=\"10.1\" y1=\"5.9\" x2=\"5.9\" y2=\"10.1\"></line>\n <line x1=\"5.9\" y1=\"5.9\" x2=\"10.1\" y2=\"10.1\"></line>\n </g>\n </g>\n </g>\n </svg>\n );\n};\n"],"mappings":";AA8BU,SACE,KADF;AAxBH,IAAM,aAA8B,WAAS;AAClD,QAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,MAAK;AAAA,UACL,UAAS;AAAA,UACT,eAAc;AAAA,UACd,gBAAe;AAAA,UAEf;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,QAAQ;AAAA,cACR,aAAY;AAAA,cAEZ,+BAAC,OAAE,IAAG,SAAQ,WAAU,qCACtB;AAAA,oCAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI;AAAA,gBAC5B,oBAAC,UAAK,IAAG,QAAO,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO;AAAA,gBAC5C,oBAAC,UAAK,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO,IAAG,QAAO;AAAA,iBAC9C;AAAA;AAAA,UACF;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/DeleteIcon/index.tsx"],"sourcesContent":["/* -*- mode: typescript -*- */\nimport React from 'react';\ninterface Props {\n color?: string;\n}\n\nexport const DeleteIcon: React.FC<Props> = props => {\n const { color = '#0054FE' } = props;\n return (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n id=\"Web\"\n stroke=\"none\"\n strokeWidth=\"1\"\n fill=\"none\"\n fillRule=\"evenodd\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <g\n transform=\"translate(-396.000000, -249.000000)\"\n stroke={color}\n strokeWidth=\"1.5\"\n >\n <g id=\"Clear\" transform=\"translate(396.000000, 249.000000)\">\n <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\n <line x1=\"10.1\" y1=\"5.9\" x2=\"5.9\" y2=\"10.1\"></line>\n <line x1=\"5.9\" y1=\"5.9\" x2=\"10.1\" y2=\"10.1\"></line>\n </g>\n </g>\n </g>\n </svg>\n );\n};\n"],"mappings":";;;AA8BU,SACE,KADF;AAxBH,IAAM,aAA8B,WAAS;AAClD,QAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,SAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,MAAK;AAAA,UACL,UAAS;AAAA,UACT,eAAc;AAAA,UACd,gBAAe;AAAA,UAEf;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,QAAQ;AAAA,cACR,aAAY;AAAA,cAEZ,+BAAC,OAAE,IAAG,SAAQ,WAAU,qCACtB;AAAA,oCAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI;AAAA,gBAC5B,oBAAC,UAAK,IAAG,QAAO,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO;AAAA,gBAC5C,oBAAC,UAAK,IAAG,OAAM,IAAG,OAAM,IAAG,QAAO,IAAG,QAAO;AAAA,iBAC9C;AAAA;AAAA,UACF;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Description
3
3
  } from "../../chunk-N6B5ZKDM.js";
4
+ import "../../chunk-WQG2LZMB.js";
4
5
  export {
5
6
  Description
6
7
  };
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Divider
3
3
  } from "../../chunk-546TZBBU.js";
4
+ import "../../chunk-WQG2LZMB.js";
4
5
  export {
5
6
  Divider
6
7
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Modal
3
- } from "../../chunk-IQJOXINX.js";
3
+ } from "../../chunk-GSWIFV2B.js";
4
4
  import "../../chunk-XCKMXAL2.js";
5
5
  import {
6
6
  Link
@@ -8,17 +8,18 @@ import {
8
8
  import "../../chunk-TGK5LP2H.js";
9
9
  import {
10
10
  Tooltip
11
- } from "../../chunk-NUKYY7GO.js";
11
+ } from "../../chunk-DF3PVTB5.js";
12
12
  import "../../chunk-BMO4IZHV.js";
13
13
  import "../../chunk-LRCAKRPK.js";
14
- import "../../chunk-DFQG46WD.js";
15
- import "../../chunk-7RH7LJYB.js";
16
- import "../../chunk-LXTR4VAD.js";
14
+ import "../../chunk-CPPQCJEV.js";
15
+ import "../../chunk-WIB76E7O.js";
16
+ import "../../chunk-5EDEEGZK.js";
17
17
  import "../../chunk-J2I22Q2M.js";
18
- import "../../chunk-YEUH2K6Z.js";
18
+ import "../../chunk-YEINMVAR.js";
19
19
  import {
20
20
  getTranslations
21
21
  } from "../../chunk-DQGLZCIG.js";
22
+ import "../../chunk-WQG2LZMB.js";
22
23
 
23
24
  // src/components/DownloadCSV/index.tsx
24
25
  import { useState } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DownloadCSV/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getTranslations } from '../../store';\nimport { Link } from '../Link';\nimport { Modal } from '../Modal';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport iconInfo from '../../images/info.svg';\nimport { Tooltip } from '../Tooltip';\n\nexport const DownloadCSV = ({ url: outerUrl }: { url: string }) => {\n const { t, i18n } = useTranslation();\n const [recaptchaVisible, setRecaptchaVisible] = useState(false);\n const translations = getTranslations();\n\n const handleRecaptchaModalClose = () => setRecaptchaVisible(false);\n const onRecaptchaChange = (value: string | null) => {\n if (value) {\n // download csv file\n window.open(outerUrl);\n\n setRecaptchaVisible(false);\n }\n };\n const handleDownloadCSV = (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n setRecaptchaVisible(true);\n };\n\n return (\n <div className=\"text-right mb-[-1rem]\">\n <Tooltip\n className=\"inline-block pr-[0.2857rem] w-[1.2857rem] cursor-pointer\"\n title={t(translations.general.downloadCSV.latest5000records)}\n >\n <img\n src={iconInfo}\n alt=\"warning-icon\"\n className=\"mt-[-0.2857rem]\"\n ></img>\n </Tooltip>\n <span>{t(translations.general.downloadCSV.download)} </span>\n <Link onClick={handleDownloadCSV}>\n {t(translations.general.downloadCSV.csvFile)}\n </Link>\n <Modal\n open={recaptchaVisible}\n onClose={handleRecaptchaModalClose}\n closable\n width={'26.0714rem'}\n >\n <ReCAPTCHA\n sitekey=\"6Lf4-wYrAAAAAEyOeqFdmh124oUt4PjJSEVNk3NK\"\n onChange={onRecaptchaChange}\n hl={i18n.language.indexOf('en') > -1 ? 'en' : 'zh'}\n />\n </Modal>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,gBAAgB;AAChC,SAAS,sBAAsB;AAI/B,OAAO,eAAe;AACtB,OAAO,cAAc;AA4Bb,cAMF,YANE;AAzBD,IAAM,cAAc,CAAC,EAAE,KAAK,SAAS,MAAuB;AACjE,QAAM,EAAE,GAAG,KAAK,IAAI,eAAe;AACnC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAC9D,QAAM,eAAe,gBAAgB;AAErC,QAAM,4BAA4B,MAAM,oBAAoB,KAAK;AACjE,QAAM,oBAAoB,CAAC,UAAyB;AAClD,QAAI,OAAO;AAET,aAAO,KAAK,QAAQ;AAEpB,0BAAoB,KAAK;AAAA,IAC3B;AAAA,EACF;AACA,QAAM,oBAAoB,CAAC,MAA2C;AACpE,MAAE,eAAe;AACjB,wBAAoB,IAAI;AAAA,EAC1B;AAEA,SACE,qBAAC,SAAI,WAAU,yBACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,aAAa,QAAQ,YAAY,iBAAiB;AAAA,QAE3D;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAI;AAAA,YACJ,WAAU;AAAA;AAAA,QACX;AAAA;AAAA,IACH;AAAA,IACA,qBAAC,UAAM;AAAA,QAAE,aAAa,QAAQ,YAAY,QAAQ;AAAA,MAAE;AAAA,OAAC;AAAA,IACrD,oBAAC,QAAK,SAAS,mBACZ,YAAE,aAAa,QAAQ,YAAY,OAAO,GAC7C;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAQ;AAAA,QACR,OAAO;AAAA,QAEP;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,UAAU;AAAA,YACV,IAAI,KAAK,SAAS,QAAQ,IAAI,IAAI,KAAK,OAAO;AAAA;AAAA,QAChD;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/DownloadCSV/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getTranslations } from '../../store';\nimport { Link } from '../Link';\nimport { Modal } from '../Modal';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport iconInfo from '../../images/info.svg';\nimport { Tooltip } from '../Tooltip';\n\nexport const DownloadCSV = ({ url: outerUrl }: { url: string }) => {\n const { t, i18n } = useTranslation();\n const [recaptchaVisible, setRecaptchaVisible] = useState(false);\n const translations = getTranslations();\n\n const handleRecaptchaModalClose = () => setRecaptchaVisible(false);\n const onRecaptchaChange = (value: string | null) => {\n if (value) {\n // download csv file\n window.open(outerUrl);\n\n setRecaptchaVisible(false);\n }\n };\n const handleDownloadCSV = (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.preventDefault();\n setRecaptchaVisible(true);\n };\n\n return (\n <div className=\"text-right mb-[-1rem]\">\n <Tooltip\n className=\"inline-block pr-[0.2857rem] w-[1.2857rem] cursor-pointer\"\n title={t(translations.general.downloadCSV.latest5000records)}\n >\n <img\n src={iconInfo}\n alt=\"warning-icon\"\n className=\"mt-[-0.2857rem]\"\n ></img>\n </Tooltip>\n <span>{t(translations.general.downloadCSV.download)} </span>\n <Link onClick={handleDownloadCSV}>\n {t(translations.general.downloadCSV.csvFile)}\n </Link>\n <Modal\n open={recaptchaVisible}\n onClose={handleRecaptchaModalClose}\n closable\n width={'26.0714rem'}\n >\n <ReCAPTCHA\n sitekey=\"6Lf4-wYrAAAAAEyOeqFdmh124oUt4PjJSEVNk3NK\"\n onChange={onRecaptchaChange}\n hl={i18n.language.indexOf('en') > -1 ? 'en' : 'zh'}\n />\n </Modal>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,gBAAgB;AAChC,SAAS,sBAAsB;AAI/B,OAAO,eAAe;AACtB,OAAO,cAAc;AA4Bb,cAMF,YANE;AAzBD,IAAM,cAAc,CAAC,EAAE,KAAK,SAAS,MAAuB;AACjE,QAAM,EAAE,GAAG,KAAK,IAAI,eAAe;AACnC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAC9D,QAAM,eAAe,gBAAgB;AAErC,QAAM,4BAA4B,MAAM,oBAAoB,KAAK;AACjE,QAAM,oBAAoB,CAAC,UAAyB;AAClD,QAAI,OAAO;AAET,aAAO,KAAK,QAAQ;AAEpB,0BAAoB,KAAK;AAAA,IAC3B;AAAA,EACF;AACA,QAAM,oBAAoB,CAAC,MAA2C;AACpE,MAAE,eAAe;AACjB,wBAAoB,IAAI;AAAA,EAC1B;AAEA,SACE,qBAAC,SAAI,WAAU,yBACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,aAAa,QAAQ,YAAY,iBAAiB;AAAA,QAE3D;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAI;AAAA,YACJ,WAAU;AAAA;AAAA,QACX;AAAA;AAAA,IACH;AAAA,IACA,qBAAC,UAAM;AAAA,QAAE,aAAa,QAAQ,YAAY,QAAQ;AAAA,MAAE;AAAA,OAAC;AAAA,IACrD,oBAAC,QAAK,SAAS,mBACZ,YAAE,aAAa,QAAQ,YAAY,OAAO,GAC7C;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAQ;AAAA,QACR,OAAO;AAAA,QAEP;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,UAAU;AAAA,YACV,IAAI,KAAK,SAAS,QAAQ,IAAI,IAAI,KAAK,OAAO;AAAA;AAAA,QAChD;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
@@ -4,6 +4,7 @@ import {
4
4
  import "../../chunk-6UM5Y3SL.js";
5
5
  import "../../chunk-27GSITHB.js";
6
6
  import "../../chunk-3GGF3ULC.js";
7
+ import "../../chunk-WQG2LZMB.js";
7
8
 
8
9
  // src/components/Dropdown/index.tsx
9
10
  import qs from "query-string";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Dropdown/index.tsx"],"sourcesContent":["import qs from 'query-string';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { useClickAway } from '@cfx-kit/react-utils/dist/hooks.js';\nimport clsx from 'clsx';\nimport Button from '../Button';\n\n// options example:\n// [\n// {\n// key: 'txType',\n// value: 'all',\n// name: 'viewAll',\n// },\n// {\n// key: 'txType',\n// value: 'outgoing',\n// name: 'viewOutgoingTxns',\n// },\n// {\n// key: 'txType',\n// value: 'incoming',\n// name: 'viewIncomingTxns',\n// },\n// {\n// key: 'txType',\n// value: '1',\n// name: 'failed txns',\n// },\n// ];\n\nexport const TableSearchDropdown = ({\n options = [],\n onChange,\n}: {\n options?: Array<{\n key: string;\n value: string;\n name: string;\n }>;\n onChange?: (value: string) => void;\n}) => {\n const history = useHistory();\n const location = useLocation();\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [visible, setVisible] = useState<boolean>(false);\n const [selected, setSelected] = useState(0);\n\n useClickAway(dropdownRef, () => visible && setVisible(false));\n\n let keyList = options.reduce((prev, curr) => {\n return prev.concat(curr.key);\n }, [] as Array<string>);\n // @ts-ignore\n keyList = [...new Set(keyList)];\n\n useEffect(() => {\n const query = qs.parse(location.search || '');\n const realValue2 = options.reduce((prev, curr, index) => {\n if (query[curr.key] === curr.value) {\n return index;\n }\n return prev;\n }, 0);\n setSelected(realValue2);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n\n const handleClick = (index: number) => {\n setVisible(false);\n\n const option = options[index];\n if (!option) return;\n\n if (onChange) {\n onChange(option.value);\n } else {\n let { skip, ...query } = qs.parse(location.search || '');\n let queryValue = '';\n\n keyList.forEach(k => {\n if (k === option.key) {\n queryValue = query[k] as string;\n }\n delete query[k];\n });\n\n if (queryValue !== option.value) {\n query[option.key] = option.value;\n history.push(\n qs.stringifyUrl({\n url: location.pathname,\n query: {\n skip: '0',\n ...query,\n },\n }),\n );\n }\n }\n };\n\n return (\n <div className=\"relative inline-block ml-0.5714rem\">\n <Button type=\"icon\" onClick={() => setVisible(!visible)}>\n <span className=\"i-material-symbols:more-horiz text-18px\"></span>\n </Button>\n {visible && (\n <div\n className={clsx(\n 'option-container',\n 'absolute right-0 rounded-0.14rem bg-#fff w-max mt-0.7143rem z-10 lt-sm:right-unset lt-sm:left-0',\n )}\n style={{\n boxShadow: '0rem 0.43rem 1.14rem 0rem rgba(20, 27, 50, 0.08)',\n }}\n ref={dropdownRef}\n >\n {options.map((o, index) => (\n <div\n key={o.value}\n onClick={() => handleClick(index)}\n className={clsx(\n 'opt',\n 'flex-vertical-center justify-between lh-1.57rem py-0.29rem px-1.14rem cursor-pointer hover:bg-#f1f4f6',\n selected === index\n ? 'text-[var(--theme-color-primary)]'\n : 'text-#65709a',\n )}\n >\n <span>{o.name}</span>\n {selected === index && (\n <span className=\"i-material-symbols:check-small-rounded text-28px ml-0.5rem\"></span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAAA,OAAO,QAAQ;AACf,SAAgB,UAAU,QAAQ,iBAAiB;AACnD,SAAS,aAAa,kBAAkB;AACxC,SAAS,oBAAoB;AAC7B,OAAO,UAAU;AAqGT,cAcI,YAdJ;AA1ED,IAAM,sBAAsB,CAAC;AAAA,EAClC,UAAU,CAAC;AAAA,EACX;AACF,MAOM;AACJ,QAAM,UAAU,WAAW;AAC3B,QAAM,WAAW,YAAY;AAC7B,QAAM,cAAc,OAAuB,IAAI;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAkB,KAAK;AACrD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC;AAE1C,eAAa,aAAa,MAAM,WAAW,WAAW,KAAK,CAAC;AAE5D,MAAI,UAAU,QAAQ,OAAO,CAAC,MAAM,SAAS;AAC3C,WAAO,KAAK,OAAO,KAAK,GAAG;AAAA,EAC7B,GAAG,CAAC,CAAkB;AAEtB,YAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;AAE9B,YAAU,MAAM;AACd,UAAM,QAAQ,GAAG,MAAM,SAAS,UAAU,EAAE;AAC5C,UAAM,aAAa,QAAQ,OAAO,CAAC,MAAM,MAAM,UAAU;AACvD,UAAI,MAAM,KAAK,GAAG,MAAM,KAAK,OAAO;AAClC,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,GAAG,CAAC;AACJ,gBAAY,UAAU;AAAA,EAExB,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,QAAM,cAAc,CAAC,UAAkB;AACrC,eAAW,KAAK;AAEhB,UAAM,SAAS,QAAQ,KAAK;AAC5B,QAAI,CAAC;AAAQ;AAEb,QAAI,UAAU;AACZ,eAAS,OAAO,KAAK;AAAA,IACvB,OAAO;AACL,UAAI,EAAE,MAAM,GAAG,MAAM,IAAI,GAAG,MAAM,SAAS,UAAU,EAAE;AACvD,UAAI,aAAa;AAEjB,cAAQ,QAAQ,OAAK;AACnB,YAAI,MAAM,OAAO,KAAK;AACpB,uBAAa,MAAM,CAAC;AAAA,QACtB;AACA,eAAO,MAAM,CAAC;AAAA,MAChB,CAAC;AAED,UAAI,eAAe,OAAO,OAAO;AAC/B,cAAM,OAAO,GAAG,IAAI,OAAO;AAC3B,gBAAQ;AAAA,UACN,GAAG,aAAa;AAAA,YACd,KAAK,SAAS;AAAA,YACd,OAAO;AAAA,cACL,MAAM;AAAA,cACN,GAAG;AAAA,YACL;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SACE,qBAAC,SAAI,WAAU,sCACb;AAAA,wBAAC,kBAAO,MAAK,QAAO,SAAS,MAAM,WAAW,CAAC,OAAO,GACpD,8BAAC,UAAK,WAAU,2CAA0C,GAC5D;AAAA,IACC,WACC;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,WAAW;AAAA,QACb;AAAA,QACA,KAAK;AAAA,QAEJ,kBAAQ,IAAI,CAAC,GAAG,UACf;AAAA,UAAC;AAAA;AAAA,YAEC,SAAS,MAAM,YAAY,KAAK;AAAA,YAChC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,cACA,aAAa,QACT,sCACA;AAAA,YACN;AAAA,YAEA;AAAA,kCAAC,UAAM,YAAE,MAAK;AAAA,cACb,aAAa,SACZ,oBAAC,UAAK,WAAU,8DAA6D;AAAA;AAAA;AAAA,UAZ1E,EAAE;AAAA,QAcT,CACD;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/Dropdown/index.tsx"],"sourcesContent":["import qs from 'query-string';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { useClickAway } from '@cfx-kit/react-utils/dist/hooks.js';\nimport clsx from 'clsx';\nimport Button from '../Button';\n\n// options example:\n// [\n// {\n// key: 'txType',\n// value: 'all',\n// name: 'viewAll',\n// },\n// {\n// key: 'txType',\n// value: 'outgoing',\n// name: 'viewOutgoingTxns',\n// },\n// {\n// key: 'txType',\n// value: 'incoming',\n// name: 'viewIncomingTxns',\n// },\n// {\n// key: 'txType',\n// value: '1',\n// name: 'failed txns',\n// },\n// ];\n\nexport const TableSearchDropdown = ({\n options = [],\n onChange,\n}: {\n options?: Array<{\n key: string;\n value: string;\n name: string;\n }>;\n onChange?: (value: string) => void;\n}) => {\n const history = useHistory();\n const location = useLocation();\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [visible, setVisible] = useState<boolean>(false);\n const [selected, setSelected] = useState(0);\n\n useClickAway(dropdownRef, () => visible && setVisible(false));\n\n let keyList = options.reduce((prev, curr) => {\n return prev.concat(curr.key);\n }, [] as Array<string>);\n // @ts-ignore\n keyList = [...new Set(keyList)];\n\n useEffect(() => {\n const query = qs.parse(location.search || '');\n const realValue2 = options.reduce((prev, curr, index) => {\n if (query[curr.key] === curr.value) {\n return index;\n }\n return prev;\n }, 0);\n setSelected(realValue2);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n\n const handleClick = (index: number) => {\n setVisible(false);\n\n const option = options[index];\n if (!option) return;\n\n if (onChange) {\n onChange(option.value);\n } else {\n let { skip, ...query } = qs.parse(location.search || '');\n let queryValue = '';\n\n keyList.forEach(k => {\n if (k === option.key) {\n queryValue = query[k] as string;\n }\n delete query[k];\n });\n\n if (queryValue !== option.value) {\n query[option.key] = option.value;\n history.push(\n qs.stringifyUrl({\n url: location.pathname,\n query: {\n skip: '0',\n ...query,\n },\n }),\n );\n }\n }\n };\n\n return (\n <div className=\"relative inline-block ml-0.5714rem\">\n <Button type=\"icon\" onClick={() => setVisible(!visible)}>\n <span className=\"i-material-symbols:more-horiz text-18px\"></span>\n </Button>\n {visible && (\n <div\n className={clsx(\n 'option-container',\n 'absolute right-0 rounded-0.14rem bg-#fff w-max mt-0.7143rem z-10 lt-sm:right-unset lt-sm:left-0',\n )}\n style={{\n boxShadow: '0rem 0.43rem 1.14rem 0rem rgba(20, 27, 50, 0.08)',\n }}\n ref={dropdownRef}\n >\n {options.map((o, index) => (\n <div\n key={o.value}\n onClick={() => handleClick(index)}\n className={clsx(\n 'opt',\n 'flex-vertical-center justify-between lh-1.57rem py-0.29rem px-1.14rem cursor-pointer hover:bg-#f1f4f6',\n selected === index\n ? 'text-[var(--theme-color-primary)]'\n : 'text-#65709a',\n )}\n >\n <span>{o.name}</span>\n {selected === index && (\n <span className=\"i-material-symbols:check-small-rounded text-28px ml-0.5rem\"></span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,OAAO,QAAQ;AACf,SAAgB,UAAU,QAAQ,iBAAiB;AACnD,SAAS,aAAa,kBAAkB;AACxC,SAAS,oBAAoB;AAC7B,OAAO,UAAU;AAqGT,cAcI,YAdJ;AA1ED,IAAM,sBAAsB,CAAC;AAAA,EAClC,UAAU,CAAC;AAAA,EACX;AACF,MAOM;AACJ,QAAM,UAAU,WAAW;AAC3B,QAAM,WAAW,YAAY;AAC7B,QAAM,cAAc,OAAuB,IAAI;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAkB,KAAK;AACrD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC;AAE1C,eAAa,aAAa,MAAM,WAAW,WAAW,KAAK,CAAC;AAE5D,MAAI,UAAU,QAAQ,OAAO,CAAC,MAAM,SAAS;AAC3C,WAAO,KAAK,OAAO,KAAK,GAAG;AAAA,EAC7B,GAAG,CAAC,CAAkB;AAEtB,YAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;AAE9B,YAAU,MAAM;AACd,UAAM,QAAQ,GAAG,MAAM,SAAS,UAAU,EAAE;AAC5C,UAAM,aAAa,QAAQ,OAAO,CAAC,MAAM,MAAM,UAAU;AACvD,UAAI,MAAM,KAAK,GAAG,MAAM,KAAK,OAAO;AAClC,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,GAAG,CAAC;AACJ,gBAAY,UAAU;AAAA,EAExB,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,QAAM,cAAc,CAAC,UAAkB;AACrC,eAAW,KAAK;AAEhB,UAAM,SAAS,QAAQ,KAAK;AAC5B,QAAI,CAAC;AAAQ;AAEb,QAAI,UAAU;AACZ,eAAS,OAAO,KAAK;AAAA,IACvB,OAAO;AACL,UAAI,EAAE,MAAM,GAAG,MAAM,IAAI,GAAG,MAAM,SAAS,UAAU,EAAE;AACvD,UAAI,aAAa;AAEjB,cAAQ,QAAQ,OAAK;AACnB,YAAI,MAAM,OAAO,KAAK;AACpB,uBAAa,MAAM,CAAC;AAAA,QACtB;AACA,eAAO,MAAM,CAAC;AAAA,MAChB,CAAC;AAED,UAAI,eAAe,OAAO,OAAO;AAC/B,cAAM,OAAO,GAAG,IAAI,OAAO;AAC3B,gBAAQ;AAAA,UACN,GAAG,aAAa;AAAA,YACd,KAAK,SAAS;AAAA,YACd,OAAO;AAAA,cACL,MAAM;AAAA,cACN,GAAG;AAAA,YACL;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SACE,qBAAC,SAAI,WAAU,sCACb;AAAA,wBAAC,kBAAO,MAAK,QAAO,SAAS,MAAM,WAAW,CAAC,OAAO,GACpD,8BAAC,UAAK,WAAU,2CAA0C,GAC5D;AAAA,IACC,WACC;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,WAAW;AAAA,QACb;AAAA,QACA,KAAK;AAAA,QAEJ,kBAAQ,IAAI,CAAC,GAAG,UACf;AAAA,UAAC;AAAA;AAAA,YAEC,SAAS,MAAM,YAAY,KAAK;AAAA,YAChC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,cACA,aAAa,QACT,sCACA;AAAA,YACN;AAAA,YAEA;AAAA,kCAAC,UAAM,YAAE,MAAK;AAAA,cACb,aAAa,SACZ,oBAAC,UAAK,WAAU,8DAA6D;AAAA;AAAA;AAAA,UAZ1E,EAAE;AAAA,QAcT,CACD;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1,44 +1,8 @@
1
1
  import {
2
- useI18n
3
- } from "../../chunk-DQGLZCIG.js";
4
-
5
- // src/components/Empty/index.tsx
6
- import clsx from "clsx";
7
- import { useTranslation } from "react-i18next";
8
- import imgTableWhoops from "../../table-whoops-UDAVUZCG.png";
9
- import { jsx, jsxs } from "react/jsx-runtime";
10
- var Empty = ({
11
- show,
12
- type = "fluid",
13
- className,
14
- title,
15
- noTitle = false,
16
- description,
17
- children,
18
- ...others
19
- }) => {
20
- const { t } = useTranslation();
21
- const { translations } = useI18n();
22
- return /* @__PURE__ */ jsxs(
23
- "div",
24
- {
25
- className: clsx(
26
- "empty",
27
- "top-0 left-0 right-0 bottom-0 flex-col justify-center items-center min-h-16.4286rem",
28
- show ? "flex" : "hidden",
29
- type === "fluid" ? "relative" : "absolute",
30
- className
31
- ),
32
- ...others,
33
- children: [
34
- /* @__PURE__ */ jsx("img", { className: "w-6rem h-8.5714rem", src: imgTableWhoops, alt: "no data" }),
35
- noTitle ? /* @__PURE__ */ jsx("p", { className: "noTitle" }) : /* @__PURE__ */ jsx("p", { className: "text-1.5714rem font-medium text-#000 lh-2rem", children: title || t(translations.general.table.whoops) }),
36
- /* @__PURE__ */ jsx("h1", { className: "text-1rem font-medium text-#4b4b4b lh-1.2857rem opacity-40", children: description || t(translations.general.table.noData) }),
37
- children
38
- ]
39
- }
40
- );
41
- };
2
+ Empty
3
+ } from "../../chunk-Y7OVL5US.js";
4
+ import "../../chunk-DQGLZCIG.js";
5
+ import "../../chunk-WQG2LZMB.js";
42
6
  export {
43
7
  Empty
44
8
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Empty/index.tsx"],"sourcesContent":["import React from 'react';\nimport clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\nimport { useI18n } from '../../store';\nimport imgTableWhoops from '../../images/table-whoops.png';\n\ninterface Props {\n show: boolean;\n type?: 'fixed' | 'fluid';\n title?: string | null;\n noTitle?: boolean;\n description?: string | null;\n className?: string;\n children?: React.ReactNode;\n}\n\ntype NativeAttrs = Omit<React.HTMLAttributes<HTMLDivElement>, keyof Props>;\nexport type EmptyProps = Props & NativeAttrs;\n\nexport const Empty = ({\n show,\n type = 'fluid',\n className,\n title,\n noTitle = false,\n description,\n children,\n ...others\n}: EmptyProps) => {\n const { t } = useTranslation();\n const { translations } = useI18n();\n return (\n <div\n className={clsx(\n 'empty',\n 'top-0 left-0 right-0 bottom-0 flex-col justify-center items-center min-h-16.4286rem',\n show ? 'flex' : 'hidden',\n type === 'fluid' ? 'relative' : 'absolute',\n className,\n )}\n {...others}\n >\n <img className=\"w-6rem h-8.5714rem\" src={imgTableWhoops} alt=\"no data\" />\n {noTitle ? (\n <p className=\"noTitle\" />\n ) : (\n <p className=\"text-1.5714rem font-medium text-#000 lh-2rem\">\n {title || t(translations.general.table.whoops)}\n </p>\n )}\n <h1 className=\"text-1rem font-medium text-#4b4b4b lh-1.2857rem opacity-40\">\n {description || t(translations.general.table.noData)}\n </h1>\n {children}\n </div>\n );\n};\n"],"mappings":";;;;;AACA,OAAO,UAAU;AACjB,SAAS,sBAAsB;AAE/B,OAAO,oBAAoB;AA4BvB,SAUE,KAVF;AAbG,IAAM,QAAQ,CAAC;AAAA,EACpB;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAkB;AAChB,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,aAAa,IAAI,QAAQ;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA,OAAO,SAAS;AAAA,QAChB,SAAS,UAAU,aAAa;AAAA,QAChC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,4BAAC,SAAI,WAAU,sBAAqB,KAAK,gBAAgB,KAAI,WAAU;AAAA,QACtE,UACC,oBAAC,OAAE,WAAU,WAAU,IAEvB,oBAAC,OAAE,WAAU,gDACV,mBAAS,EAAE,aAAa,QAAQ,MAAM,MAAM,GAC/C;AAAA,QAEF,oBAAC,QAAG,WAAU,8DACX,yBAAe,EAAE,aAAa,QAAQ,MAAM,MAAM,GACrD;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,5 @@
1
+ import "../../chunk-WQG2LZMB.js";
2
+
1
3
  // src/components/FileUpload/index.tsx
2
4
  import React from "react";
3
5
  import { jsx } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/FileUpload/index.tsx"],"sourcesContent":["import React from 'react';\n\nexport const FileUpload = React.forwardRef(\n (\n {\n onChange = () => {},\n onError = () => {},\n accept = '',\n ...others\n }: {\n onChange?: (result: string) => void;\n onError?: (result: unknown) => void;\n accept?: string;\n },\n ref: React.LegacyRef<HTMLInputElement>,\n ) => {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let reader = new FileReader();\n let file = e.target.files?.[0];\n\n if (file) {\n reader.onloadend = () => {\n try {\n onChange(reader.result as string);\n } catch (e) {\n onError(e);\n }\n };\n reader.readAsText(file);\n } else {\n const error = new Error('no file');\n onError(error);\n }\n };\n\n return (\n <input\n type=\"file\"\n name=\"File\"\n style={{ display: 'none' }}\n accept={accept}\n ref={ref}\n onChange={handleInputChange}\n {...others}\n />\n );\n },\n);\n"],"mappings":";AAAA,OAAO,WAAW;AAoCZ;AAlCC,IAAM,aAAa,MAAM;AAAA,EAC9B,CACE;AAAA,IACE,WAAW,MAAM;AAAA,IAAC;AAAA,IAClB,UAAU,MAAM;AAAA,IAAC;AAAA,IACjB,SAAS;AAAA,IACT,GAAG;AAAA,EACL,GAKA,QACG;AACH,UAAM,oBAAoB,CAAC,MAA2C;AACpE,UAAI,SAAS,IAAI,WAAW;AAC5B,UAAI,OAAO,EAAE,OAAO,QAAQ,CAAC;AAE7B,UAAI,MAAM;AACR,eAAO,YAAY,MAAM;AACvB,cAAI;AACF,qBAAS,OAAO,MAAgB;AAAA,UAClC,SAASA,IAAP;AACA,oBAAQA,EAAC;AAAA,UACX;AAAA,QACF;AACA,eAAO,WAAW,IAAI;AAAA,MACxB,OAAO;AACL,cAAM,QAAQ,IAAI,MAAM,SAAS;AACjC,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,MAAK;AAAA,QACL,OAAO,EAAE,SAAS,OAAO;AAAA,QACzB;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACT,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":["e"]}
1
+ {"version":3,"sources":["../../../src/components/FileUpload/index.tsx"],"sourcesContent":["import React from 'react';\n\nexport const FileUpload = React.forwardRef(\n (\n {\n onChange = () => {},\n onError = () => {},\n accept = '',\n ...others\n }: {\n onChange?: (result: string) => void;\n onError?: (result: unknown) => void;\n accept?: string;\n },\n ref: React.LegacyRef<HTMLInputElement>,\n ) => {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let reader = new FileReader();\n let file = e.target.files?.[0];\n\n if (file) {\n reader.onloadend = () => {\n try {\n onChange(reader.result as string);\n } catch (e) {\n onError(e);\n }\n };\n reader.readAsText(file);\n } else {\n const error = new Error('no file');\n onError(error);\n }\n };\n\n return (\n <input\n type=\"file\"\n name=\"File\"\n style={{ display: 'none' }}\n accept={accept}\n ref={ref}\n onChange={handleInputChange}\n {...others}\n />\n );\n },\n);\n"],"mappings":";;;AAAA,OAAO,WAAW;AAoCZ;AAlCC,IAAM,aAAa,MAAM;AAAA,EAC9B,CACE;AAAA,IACE,WAAW,MAAM;AAAA,IAAC;AAAA,IAClB,UAAU,MAAM;AAAA,IAAC;AAAA,IACjB,SAAS;AAAA,IACT,GAAG;AAAA,EACL,GAKA,QACG;AACH,UAAM,oBAAoB,CAAC,MAA2C;AACpE,UAAI,SAAS,IAAI,WAAW;AAC5B,UAAI,OAAO,EAAE,OAAO,QAAQ,CAAC;AAE7B,UAAI,MAAM;AACR,eAAO,YAAY,MAAM;AACvB,cAAI;AACF,qBAAS,OAAO,MAAgB;AAAA,UAClC,SAASA,IAAP;AACA,oBAAQA,EAAC;AAAA,UACX;AAAA,QACF;AACA,eAAO,WAAW,IAAI;AAAA,MACxB,OAAO;AACL,cAAM,QAAQ,IAAI,MAAM,SAAS;AACjC,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,MAAK;AAAA,QACL,OAAO,EAAE,SAAS,OAAO;AAAA,QACzB;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACT,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":["e"]}
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Divider
3
3
  } from "../../chunk-546TZBBU.js";
4
+ import "../../chunk-WQG2LZMB.js";
4
5
 
5
6
  // src/components/Footer/index.tsx
6
7
  import { memo } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Footer/index.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { Divider } from '../Divider';\nimport clsx from 'clsx';\n\ninterface Props {\n rightTop: React.ReactNode[];\n rightBottom: React.ReactNode[];\n left: React.ReactNode[];\n}\n\nexport const Footer = memo(({ rightBottom, rightTop, left }: Props) => {\n return (\n <div\n className={clsx(\n 'bg-[var(--theme-color-foot-bg)] w-100vw max-w-100% flex items-start p-2.2857rem box-border',\n 'lt-sm:py-1.14rem lt-sm:px-0.93rem',\n )}\n >\n <div className=\"flex items-stretch grow-1 mx-auto max-w-1368px box-border\">\n <div className=\"mr-2.93rem flex flex-col lt-md:hidden\" key=\"left\">\n {left}\n </div>\n <div className=\"grow-2 lt-sm:p-0\" key=\"right\">\n <div className=\"lt-sm:px-0.21rem\" key=\"right-top\">\n {rightTop}\n </div>\n <Divider\n key=\"divider\"\n className={clsx(\n 'footer-bottom-divider',\n 'bg-#d1d5ea! mt-1.07rem mb-0.57rem lt-sm:mt-0.79rem lt-sm:mb-0.29rem',\n )}\n />\n <div className=\"flex lt-sm:px-0.21rem\" key=\"right-bottom\">\n {rightBottom}\n </div>\n </div>\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;AAAA,SAAS,YAAY;AAErB,OAAO,UAAU;AAiBT,cAGA,YAHA;AATD,IAAM,SAAS,KAAK,CAAC,EAAE,aAAa,UAAU,KAAK,MAAa;AACrE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA,+BAAC,SAAI,WAAU,6DACb;AAAA,4BAAC,SAAI,WAAU,yCACZ,kBADwD,MAE3D;AAAA,QACA,qBAAC,SAAI,WAAU,oBACb;AAAA,8BAAC,SAAI,WAAU,oBACZ,sBADmC,WAEtC;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cAEC,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA;AAAA,YAJI;AAAA,UAKN;AAAA,UACA,oBAAC,SAAI,WAAU,yBACZ,yBADwC,cAE3C;AAAA,aAboC,OActC;AAAA,SACF;AAAA;AAAA,EACF;AAEJ,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/Footer/index.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { Divider } from '../Divider';\nimport clsx from 'clsx';\n\ninterface Props {\n rightTop: React.ReactNode[];\n rightBottom: React.ReactNode[];\n left: React.ReactNode[];\n}\n\nexport const Footer = memo(({ rightBottom, rightTop, left }: Props) => {\n return (\n <div\n className={clsx(\n 'bg-[var(--theme-color-foot-bg)] w-100vw max-w-100% flex items-start p-2.2857rem box-border',\n 'lt-sm:py-1.14rem lt-sm:px-0.93rem',\n )}\n >\n <div className=\"flex items-stretch grow-1 mx-auto max-w-1368px box-border\">\n <div className=\"mr-2.93rem flex flex-col lt-md:hidden\" key=\"left\">\n {left}\n </div>\n <div className=\"grow-2 lt-sm:p-0\" key=\"right\">\n <div className=\"lt-sm:px-0.21rem\" key=\"right-top\">\n {rightTop}\n </div>\n <Divider\n key=\"divider\"\n className={clsx(\n 'footer-bottom-divider',\n 'bg-#d1d5ea! mt-1.07rem mb-0.57rem lt-sm:mt-0.79rem lt-sm:mb-0.29rem',\n )}\n />\n <div className=\"flex lt-sm:px-0.21rem\" key=\"right-bottom\">\n {rightBottom}\n </div>\n </div>\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;;AAAA,SAAS,YAAY;AAErB,OAAO,UAAU;AAiBT,cAGA,YAHA;AATD,IAAM,SAAS,KAAK,CAAC,EAAE,aAAa,UAAU,KAAK,MAAa;AACrE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA,+BAAC,SAAI,WAAU,6DACb;AAAA,4BAAC,SAAI,WAAU,yCACZ,kBADwD,MAE3D;AAAA,QACA,qBAAC,SAAI,WAAU,oBACb;AAAA,8BAAC,SAAI,WAAU,oBACZ,sBADmC,WAEtC;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cAEC,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA;AAAA,YAJI;AAAA,UAKN;AAAA,UACA,oBAAC,SAAI,WAAU,yBACZ,yBADwC,cAE3C;AAAA,aAboC,OActC;AAAA,SACF;AAAA;AAAA,EACF;AAEJ,CAAC;","names":[]}
@@ -4,18 +4,19 @@ import {
4
4
  import "../../chunk-H3V3K4DD.js";
5
5
  import {
6
6
  fromDripToGdrip
7
- } from "../../chunk-DFQG46WD.js";
8
- import "../../chunk-7RH7LJYB.js";
7
+ } from "../../chunk-CPPQCJEV.js";
8
+ import "../../chunk-WIB76E7O.js";
9
9
  import {
10
10
  sendRequestGasPrice
11
- } from "../../chunk-LXTR4VAD.js";
11
+ } from "../../chunk-5EDEEGZK.js";
12
12
  import "../../chunk-J2I22Q2M.js";
13
- import "../../chunk-YEUH2K6Z.js";
13
+ import "../../chunk-YEINMVAR.js";
14
14
  import {
15
15
  getTranslations,
16
16
  useGasPrice,
17
17
  useI18n
18
18
  } from "../../chunk-DQGLZCIG.js";
19
+ import "../../chunk-WQG2LZMB.js";
19
20
 
20
21
  // src/components/GasPriceDropdown/index.tsx
21
22
  import { useState, useEffect, useCallback } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/GasPriceDropdown/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { Translation, useTranslation } from 'react-i18next';\nimport { useGasPrice, getTranslations, useI18n } from '../../store';\nimport { sendRequestGasPrice } from '../../utils/request';\nimport { useInterval } from 'react-use';\n\nimport { fromDripToGdrip } from '../../utils';\nimport { SkeletonContainer } from '../SkeletonContainer';\n\nimport IconGas from '../../images/icon-gas.svg';\nimport IconRefresh from '../../images/refresh.svg';\nimport GasLow from '../../images/gas-low.png';\nimport GasMedian from '../../images/gas-median.png';\nimport GasHigh from '../../images/gas-high.png';\nimport ArrowDown from '../../images/arrowDown.svg';\nimport { GasPriceDetail, GasPriceDropdownProps } from 'src/store/types';\n\nconst roundNumberWithSuffix = (value: string): string => {\n if (value === '< 0.001') return value;\n\n const numericPart = parseFloat(value);\n if (isNaN(numericPart)) {\n throw new Error('Invalid number');\n }\n\n const roundedNumber = Math.round(numericPart * 10) / 10;\n\n const suffix = value.replace(/[0-9.-]/g, '');\n\n const roundedString =\n roundedNumber % 1 === 0 ? roundedNumber : roundedNumber.toFixed(1);\n\n return roundedString + suffix;\n};\n\nconst GasInfoCard: React.FC<{\n gasInfo: GasPriceDetail;\n img: string;\n title: string;\n gasPriceColor: string;\n unit: string;\n}> = ({ gasInfo, img, title, gasPriceColor, unit }) => {\n const { t } = useTranslation();\n const { translations } = useI18n();\n return (\n <div className=\"flex flex-col justify-center items-center flex-1 bg-[#fafbfc] p-2\">\n <img className=\"w-[29.71px] h-[24.36px] mt-1.5\" src={img} alt=\"\" />\n <div className=\"font-bold text-[14px] leading-6 text-[14px] mt-1.5\">\n {title}\n </div>\n <div className=\"mt-1.5 text-center\">\n <SkeletonContainer shown={gasInfo.gasPrice === 0}>\n <div\n className=\"text-[18px] leading-5 font-bold\"\n style={{ color: gasPriceColor }}\n >\n {roundNumberWithSuffix(\n fromDripToGdrip(gasInfo.gasPrice, false, {\n precision: 1,\n }),\n )}{' '}\n {unit}\n </div>\n <div className=\"text-[11px] leading-4 text-[#000] mt-[4px]\">\n {`${t(translations.gaspriceDropdown.baseFee, {\n amount: roundNumberWithSuffix(\n fromDripToGdrip(gasInfo.base, false, {\n precision: 1,\n }),\n ),\n })} | ${t(translations.gaspriceDropdown.maxPriorityFee, {\n amount: roundNumberWithSuffix(\n fromDripToGdrip(gasInfo.priority, false, {\n precision: 1,\n }),\n ),\n })}`}\n </div>\n </SkeletonContainer>\n </div>\n </div>\n );\n};\n\nconst refreshGasPrice = {\n init: false,\n};\n\nexport const GasPriceDropdown: React.FC<GasPriceDropdownProps> = ({\n unit = 'Gdrip',\n}) => {\n const { t } = useTranslation();\n const translations = getTranslations();\n\n const [showModal, setShowModal] = useState(false);\n const { gasPriceData, setGasPrice } = useGasPrice();\n const [isRefreshing, setIsRefreshing] = useState(false);\n\n const handleOutsideClick = useCallback(\n (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n if (showModal && !target.closest('.modal')) {\n setShowModal(false);\n }\n },\n [showModal],\n );\n\n const refreshData = useCallback(async () => {\n setIsRefreshing(true);\n const res = await sendRequestGasPrice();\n if (res) {\n setGasPrice(res);\n }\n setIsRefreshing(false);\n }, [setGasPrice]);\n\n useEffect(() => {\n if (!refreshGasPrice.init) {\n refreshGasPrice.init = true;\n refreshData();\n }\n }, [refreshData]);\n\n useInterval(() => {\n refreshData();\n }, 20000);\n\n useEffect(() => {\n if (showModal) {\n document.addEventListener('mousedown', handleOutsideClick);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [showModal, handleOutsideClick]);\n\n return (\n <div className=\"relative\">\n <div\n className=\"flex gap-1 text-[#424a71] ml-2.5 cursor-pointer text-[14px]\"\n onClick={() => setShowModal(true)}\n >\n <SkeletonContainer\n shown={gasPriceData.gasPriceInfo.tp50.gasPrice === 0}\n >\n <img src={IconGas} alt=\"\" />\n <span className=\"text-[var(--theme-color-primary)]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(gasPriceData.gasPriceInfo.tp50.gasPrice, false, {\n precision: 1,\n }),\n )}\n </span>\n <span>{unit}</span>\n </SkeletonContainer>\n </div>\n {showModal && (\n <div className=\"modal animate-in fade-in w-full min-h-[fit-content] bg-[#FFF] fixed right-0 top-[53px] p-[16px] z-10 shadow-modal md:w-[474px] md:absolute md:top-[35px]\">\n <div className=\"flex justify-between\">\n <div className=\"font-bold text-[#20253a] text-[16px] text-[14px]\">\n <Translation>\n {t => t(translations.gaspriceDropdown.blockHeight)}\n </Translation>\n :\n <SkeletonContainer shown={gasPriceData.blockHeight === 0}>\n {gasPriceData.blockHeight}\n </SkeletonContainer>\n </div>\n <img\n className={\n 'active:scale-75 ' +\n (isRefreshing\n ? 'animate-in spin-in--360 animate-duration-300'\n : '')\n }\n src={IconRefresh}\n alt=\"\"\n onClick={() => refreshData()}\n />\n </div>\n <div className=\"mt-3 flex gap-[8px]\">\n <GasInfoCard\n gasInfo={gasPriceData.gasPriceInfo.min}\n title={t(translations.gaspriceDropdown.low)}\n img={GasLow}\n gasPriceColor=\"#4ca960\"\n unit={unit}\n />\n <GasInfoCard\n gasInfo={gasPriceData.gasPriceInfo.tp50}\n title={t(translations.gaspriceDropdown.median)}\n img={GasMedian}\n gasPriceColor=\"#395bd4\"\n unit={unit}\n />\n <GasInfoCard\n gasInfo={gasPriceData.gasPriceInfo.max}\n title={t(translations.gaspriceDropdown.high)}\n img={GasHigh}\n gasPriceColor=\"#d74841\"\n unit={unit}\n />\n </div>\n <div className=\"relative\">\n <div className=\"w-full flex justify-between mt-4 text-[#424a71] text-[14px] font-bold\">\n <div>\n <Translation>\n {t => t(translations.gaspriceDropdown.market)}\n </Translation>\n </div>\n\n <div className=\"text-[#9b9eac] text-[12px]\">\n <Translation>\n {t => t(translations.gaspriceDropdown.latest60Blocks)}\n </Translation>\n </div>\n </div>\n <div className=\"absolute text-[10px] text-[#9b9eac] mt-2 left-[25%]\">\n <div className=\"fit-content transform -translate-x-1/2 text-center\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.tp25.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n <img\n className=\"mt-[-12px]\"\n src={ArrowDown}\n alt=\"?\"\n style={{ transform: 'translateX(-50%)' }}\n />\n </div>\n <div className=\"absolute text-[10px] text-[#9b9eac] mt-2 left-[75%]\">\n <div className=\"fit-content transform -translate-x-1/2 text-center\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.tp75.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n <img\n className=\"mt-[-12px]\"\n src={ArrowDown}\n alt=\"?\"\n style={{ transform: 'translateX(-50%)' }}\n />\n </div>\n <div className=\"mt-[32px] w-full flex gap-0.5\">\n <div className=\"w-1/4 h-2 bg-[var(--theme-color-gas-price-line-bg)] rounded-l-md\"></div>\n <div className=\"w-1/2 h-2 bg-[var(--theme-color-primary)]\"></div>\n <div className=\"w-1/4 h-2 bg-[var(--theme-color-gas-price-line-bg)] rounded-r-md\"></div>\n </div>\n <div className=\"w-full flex justify-between mt-1\">\n <div>\n <div className=\"text-[12px] text-[14px] text-[#9b9eac]\">\n Min\n </div>\n <div className=\"text-left text-[12px] font-semibold text-[#424a71]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.min.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n </div>\n <div className=\"relative\">\n <div className=\"absolute w-px h-3 bg-[var(--theme-color-primary)] mt-[-10px] left-1/2\"></div>\n <div className=\"text-[12px] text-[14px] text-[#9b9eac]\">\n Mid\n </div>\n <div className=\"text-center text-[12px] font-semibold text-[var(--theme-color-primary)]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.tp50.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n </div>\n <div>\n <div className=\"text-[12px] text-[14px] text-[#9b9eac]\">\n Max\n </div>\n <div className=\"text-right text-[12px] font-semibold text-[#424a71]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.max.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n {showModal && (\n <div className=\"md:hidden fixed top-[53px] left-0 w-full h-[920px] bg-[#000] bg-opacity-50 flex justify-center items-center z-[-1]\"></div>\n )}\n </div>\n );\n};\n"],"mappings":"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","names":["t"]}
1
+ {"version":3,"sources":["../../../src/components/GasPriceDropdown/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { Translation, useTranslation } from 'react-i18next';\nimport { useGasPrice, getTranslations, useI18n } from '../../store';\nimport { sendRequestGasPrice } from '../../utils/request';\nimport { useInterval } from 'react-use';\n\nimport { fromDripToGdrip } from '../../utils';\nimport { SkeletonContainer } from '../SkeletonContainer';\n\nimport IconGas from '../../images/icon-gas.svg';\nimport IconRefresh from '../../images/refresh.svg';\nimport GasLow from '../../images/gas-low.png';\nimport GasMedian from '../../images/gas-median.png';\nimport GasHigh from '../../images/gas-high.png';\nimport ArrowDown from '../../images/arrowDown.svg';\nimport { GasPriceDetail, GasPriceDropdownProps } from 'src/store/types';\n\nconst roundNumberWithSuffix = (value: string): string => {\n if (value === '< 0.001') return value;\n\n const numericPart = parseFloat(value);\n if (isNaN(numericPart)) {\n throw new Error('Invalid number');\n }\n\n const roundedNumber = Math.round(numericPart * 10) / 10;\n\n const suffix = value.replace(/[0-9.-]/g, '');\n\n const roundedString =\n roundedNumber % 1 === 0 ? roundedNumber : roundedNumber.toFixed(1);\n\n return roundedString + suffix;\n};\n\nconst GasInfoCard: React.FC<{\n gasInfo: GasPriceDetail;\n img: string;\n title: string;\n gasPriceColor: string;\n unit: string;\n}> = ({ gasInfo, img, title, gasPriceColor, unit }) => {\n const { t } = useTranslation();\n const { translations } = useI18n();\n return (\n <div className=\"flex flex-col justify-center items-center flex-1 bg-[#fafbfc] p-2\">\n <img className=\"w-[29.71px] h-[24.36px] mt-1.5\" src={img} alt=\"\" />\n <div className=\"font-bold text-[14px] leading-6 text-[14px] mt-1.5\">\n {title}\n </div>\n <div className=\"mt-1.5 text-center\">\n <SkeletonContainer shown={gasInfo.gasPrice === 0}>\n <div\n className=\"text-[18px] leading-5 font-bold\"\n style={{ color: gasPriceColor }}\n >\n {roundNumberWithSuffix(\n fromDripToGdrip(gasInfo.gasPrice, false, {\n precision: 1,\n }),\n )}{' '}\n {unit}\n </div>\n <div className=\"text-[11px] leading-4 text-[#000] mt-[4px]\">\n {`${t(translations.gaspriceDropdown.baseFee, {\n amount: roundNumberWithSuffix(\n fromDripToGdrip(gasInfo.base, false, {\n precision: 1,\n }),\n ),\n })} | ${t(translations.gaspriceDropdown.maxPriorityFee, {\n amount: roundNumberWithSuffix(\n fromDripToGdrip(gasInfo.priority, false, {\n precision: 1,\n }),\n ),\n })}`}\n </div>\n </SkeletonContainer>\n </div>\n </div>\n );\n};\n\nconst refreshGasPrice = {\n init: false,\n};\n\nexport const GasPriceDropdown: React.FC<GasPriceDropdownProps> = ({\n unit = 'Gdrip',\n}) => {\n const { t } = useTranslation();\n const translations = getTranslations();\n\n const [showModal, setShowModal] = useState(false);\n const { gasPriceData, setGasPrice } = useGasPrice();\n const [isRefreshing, setIsRefreshing] = useState(false);\n\n const handleOutsideClick = useCallback(\n (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n if (showModal && !target.closest('.modal')) {\n setShowModal(false);\n }\n },\n [showModal],\n );\n\n const refreshData = useCallback(async () => {\n setIsRefreshing(true);\n const res = await sendRequestGasPrice();\n if (res) {\n setGasPrice(res);\n }\n setIsRefreshing(false);\n }, [setGasPrice]);\n\n useEffect(() => {\n if (!refreshGasPrice.init) {\n refreshGasPrice.init = true;\n refreshData();\n }\n }, [refreshData]);\n\n useInterval(() => {\n refreshData();\n }, 20000);\n\n useEffect(() => {\n if (showModal) {\n document.addEventListener('mousedown', handleOutsideClick);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [showModal, handleOutsideClick]);\n\n return (\n <div className=\"relative\">\n <div\n className=\"flex gap-1 text-[#424a71] ml-2.5 cursor-pointer text-[14px]\"\n onClick={() => setShowModal(true)}\n >\n <SkeletonContainer\n shown={gasPriceData.gasPriceInfo.tp50.gasPrice === 0}\n >\n <img src={IconGas} alt=\"\" />\n <span className=\"text-[var(--theme-color-primary)]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(gasPriceData.gasPriceInfo.tp50.gasPrice, false, {\n precision: 1,\n }),\n )}\n </span>\n <span>{unit}</span>\n </SkeletonContainer>\n </div>\n {showModal && (\n <div className=\"modal animate-in fade-in w-full min-h-[fit-content] bg-[#FFF] fixed right-0 top-[53px] p-[16px] z-10 shadow-modal md:w-[474px] md:absolute md:top-[35px]\">\n <div className=\"flex justify-between\">\n <div className=\"font-bold text-[#20253a] text-[16px] text-[14px]\">\n <Translation>\n {t => t(translations.gaspriceDropdown.blockHeight)}\n </Translation>\n :\n <SkeletonContainer shown={gasPriceData.blockHeight === 0}>\n {gasPriceData.blockHeight}\n </SkeletonContainer>\n </div>\n <img\n className={\n 'active:scale-75 ' +\n (isRefreshing\n ? 'animate-in spin-in--360 animate-duration-300'\n : '')\n }\n src={IconRefresh}\n alt=\"\"\n onClick={() => refreshData()}\n />\n </div>\n <div className=\"mt-3 flex gap-[8px]\">\n <GasInfoCard\n gasInfo={gasPriceData.gasPriceInfo.min}\n title={t(translations.gaspriceDropdown.low)}\n img={GasLow}\n gasPriceColor=\"#4ca960\"\n unit={unit}\n />\n <GasInfoCard\n gasInfo={gasPriceData.gasPriceInfo.tp50}\n title={t(translations.gaspriceDropdown.median)}\n img={GasMedian}\n gasPriceColor=\"#395bd4\"\n unit={unit}\n />\n <GasInfoCard\n gasInfo={gasPriceData.gasPriceInfo.max}\n title={t(translations.gaspriceDropdown.high)}\n img={GasHigh}\n gasPriceColor=\"#d74841\"\n unit={unit}\n />\n </div>\n <div className=\"relative\">\n <div className=\"w-full flex justify-between mt-4 text-[#424a71] text-[14px] font-bold\">\n <div>\n <Translation>\n {t => t(translations.gaspriceDropdown.market)}\n </Translation>\n </div>\n\n <div className=\"text-[#9b9eac] text-[12px]\">\n <Translation>\n {t => t(translations.gaspriceDropdown.latest60Blocks)}\n </Translation>\n </div>\n </div>\n <div className=\"absolute text-[10px] text-[#9b9eac] mt-2 left-[25%]\">\n <div className=\"fit-content transform -translate-x-1/2 text-center\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.tp25.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n <img\n className=\"mt-[-12px]\"\n src={ArrowDown}\n alt=\"?\"\n style={{ transform: 'translateX(-50%)' }}\n />\n </div>\n <div className=\"absolute text-[10px] text-[#9b9eac] mt-2 left-[75%]\">\n <div className=\"fit-content transform -translate-x-1/2 text-center\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.tp75.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n <img\n className=\"mt-[-12px]\"\n src={ArrowDown}\n alt=\"?\"\n style={{ transform: 'translateX(-50%)' }}\n />\n </div>\n <div className=\"mt-[32px] w-full flex gap-0.5\">\n <div className=\"w-1/4 h-2 bg-[var(--theme-color-gas-price-line-bg)] rounded-l-md\"></div>\n <div className=\"w-1/2 h-2 bg-[var(--theme-color-primary)]\"></div>\n <div className=\"w-1/4 h-2 bg-[var(--theme-color-gas-price-line-bg)] rounded-r-md\"></div>\n </div>\n <div className=\"w-full flex justify-between mt-1\">\n <div>\n <div className=\"text-[12px] text-[14px] text-[#9b9eac]\">\n Min\n </div>\n <div className=\"text-left text-[12px] font-semibold text-[#424a71]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.min.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n </div>\n <div className=\"relative\">\n <div className=\"absolute w-px h-3 bg-[var(--theme-color-primary)] mt-[-10px] left-1/2\"></div>\n <div className=\"text-[12px] text-[14px] text-[#9b9eac]\">\n Mid\n </div>\n <div className=\"text-center text-[12px] font-semibold text-[var(--theme-color-primary)]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.tp50.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n </div>\n <div>\n <div className=\"text-[12px] text-[14px] text-[#9b9eac]\">\n Max\n </div>\n <div className=\"text-right text-[12px] font-semibold text-[#424a71]\">\n {roundNumberWithSuffix(\n fromDripToGdrip(\n gasPriceData.gasPriceMarket.max.gasPrice,\n false,\n {\n precision: 1,\n },\n ),\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n {showModal && (\n <div className=\"md:hidden fixed top-[53px] left-0 w-full h-[920px] bg-[#000] bg-opacity-50 flex justify-center items-center z-[-1]\"></div>\n )}\n </div>\n );\n};\n"],"mappings":"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","names":["t"]}
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  useHighlightStore
3
3
  } from "../../chunk-DQGLZCIG.js";
4
+ import "../../chunk-WQG2LZMB.js";
4
5
 
5
6
  // src/components/Highlight/index.tsx
6
7
  import clsx from "clsx";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Highlight/index.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useHighlightStore } from 'src/store';\n\nexport const ValueHighlight: React.FC<\n {\n value?: unknown;\n scope: string;\n } & React.HTMLAttributes<HTMLDivElement>\n> = ({ value, scope, children, className, ...props }) => {\n const eventRef = useRef(false);\n const { highlight, setHighlight } = useHighlightStore();\n const isHighlight = useMemo(\n () => value && highlight.scope === scope && highlight.value === value,\n [value, scope, highlight.value, highlight.scope],\n );\n const handleMouseEnter = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (isHighlight) return;\n eventRef.current = true;\n const data = (e.target as any).dataset;\n if (!value || data?.scope === 'tooltip') return;\n setHighlight(scope, value);\n },\n [scope, value, isHighlight, setHighlight],\n );\n const handleMouseLeave = useCallback(() => {\n eventRef.current = false;\n if (!value) return;\n setHighlight();\n }, [value, setHighlight]);\n useEffect(() => {\n return () => {\n if (eventRef.current) {\n setHighlight();\n }\n };\n }, [setHighlight]);\n return (\n <div\n onMouseEnter={handleMouseEnter}\n onMouseOver={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={clsx(\n 'border-1px border-dashed w-fit px-10px rounded-12px',\n isHighlight\n ? 'border-[var(--theme-color-primary)] bg-[var(--theme-color-highlight-bg)]'\n : 'border-transparent',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"mappings":";;;;;AAAA,OAAO,UAAU;AACjB,SAAS,aAAa,WAAW,SAAS,cAAc;AAsCpD;AAnCG,IAAM,iBAKT,CAAC,EAAE,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,MAAM;AACvD,QAAM,WAAW,OAAO,KAAK;AAC7B,QAAM,EAAE,WAAW,aAAa,IAAI,kBAAkB;AACtD,QAAM,cAAc;AAAA,IAClB,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,UAAU;AAAA,IAChE,CAAC,OAAO,OAAO,UAAU,OAAO,UAAU,KAAK;AAAA,EACjD;AACA,QAAM,mBAAmB;AAAA,IACvB,CAAC,MAAwC;AACvC,UAAI;AAAa;AACjB,eAAS,UAAU;AACnB,YAAM,OAAQ,EAAE,OAAe;AAC/B,UAAI,CAAC,SAAS,MAAM,UAAU;AAAW;AACzC,mBAAa,OAAO,KAAK;AAAA,IAC3B;AAAA,IACA,CAAC,OAAO,OAAO,aAAa,YAAY;AAAA,EAC1C;AACA,QAAM,mBAAmB,YAAY,MAAM;AACzC,aAAS,UAAU;AACnB,QAAI,CAAC;AAAO;AACZ,iBAAa;AAAA,EACf,GAAG,CAAC,OAAO,YAAY,CAAC;AACxB,YAAU,MAAM;AACd,WAAO,MAAM;AACX,UAAI,SAAS,SAAS;AACpB,qBAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,WAAW;AAAA,QACT;AAAA,QACA,cACI,6EACA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/Highlight/index.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useHighlightStore } from 'src/store';\n\nexport const ValueHighlight: React.FC<\n {\n value?: unknown;\n scope: string;\n } & React.HTMLAttributes<HTMLDivElement>\n> = ({ value, scope, children, className, ...props }) => {\n const eventRef = useRef(false);\n const { highlight, setHighlight } = useHighlightStore();\n const isHighlight = useMemo(\n () => value && highlight.scope === scope && highlight.value === value,\n [value, scope, highlight.value, highlight.scope],\n );\n const handleMouseEnter = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (isHighlight) return;\n eventRef.current = true;\n const data = (e.target as any).dataset;\n if (!value || data?.scope === 'tooltip') return;\n setHighlight(scope, value);\n },\n [scope, value, isHighlight, setHighlight],\n );\n const handleMouseLeave = useCallback(() => {\n eventRef.current = false;\n if (!value) return;\n setHighlight();\n }, [value, setHighlight]);\n useEffect(() => {\n return () => {\n if (eventRef.current) {\n setHighlight();\n }\n };\n }, [setHighlight]);\n return (\n <div\n onMouseEnter={handleMouseEnter}\n onMouseOver={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={clsx(\n 'border-1px border-dashed w-fit px-10px rounded-12px',\n isHighlight\n ? 'border-[var(--theme-color-primary)] bg-[var(--theme-color-highlight-bg)]'\n : 'border-transparent',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,OAAO,UAAU;AACjB,SAAS,aAAa,WAAW,SAAS,cAAc;AAsCpD;AAnCG,IAAM,iBAKT,CAAC,EAAE,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,MAAM;AACvD,QAAM,WAAW,OAAO,KAAK;AAC7B,QAAM,EAAE,WAAW,aAAa,IAAI,kBAAkB;AACtD,QAAM,cAAc;AAAA,IAClB,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,UAAU;AAAA,IAChE,CAAC,OAAO,OAAO,UAAU,OAAO,UAAU,KAAK;AAAA,EACjD;AACA,QAAM,mBAAmB;AAAA,IACvB,CAAC,MAAwC;AACvC,UAAI;AAAa;AACjB,eAAS,UAAU;AACnB,YAAM,OAAQ,EAAE,OAAe;AAC/B,UAAI,CAAC,SAAS,MAAM,UAAU;AAAW;AACzC,mBAAa,OAAO,KAAK;AAAA,IAC3B;AAAA,IACA,CAAC,OAAO,OAAO,aAAa,YAAY;AAAA,EAC1C;AACA,QAAM,mBAAmB,YAAY,MAAM;AACzC,aAAS,UAAU;AACnB,QAAI,CAAC;AAAO;AACZ,iBAAa;AAAA,EACf,GAAG,CAAC,OAAO,YAAY,CAAC;AACxB,YAAU,MAAM;AACd,WAAO,MAAM;AACX,UAAI,SAAS,SAAS;AACpB,qBAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,WAAW;AAAA,QACT;AAAA,QACA,cACI,6EACA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -1,4 +1,11 @@
1
1
  declare const ArrowDown: React.FC<React.SVGProps<SVGSVGElement>>;
2
2
  declare const Add: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ declare const ContractCreated: React.FC<React.SVGProps<SVGSVGElement>>;
4
+ declare const Success: React.FC<React.SVGProps<SVGSVGElement>>;
5
+ declare const Failed: React.FC<React.SVGProps<SVGSVGElement>>;
6
+ declare const Plus: React.FC<React.SVGProps<SVGSVGElement>>;
7
+ declare const Minus: React.FC<React.SVGProps<SVGSVGElement>>;
8
+ declare const Down: React.FC<React.SVGProps<SVGSVGElement>>;
9
+ declare const DefaultTokenIcon: React.FC<React.SVGProps<SVGSVGElement>>;
3
10
 
4
- export { Add, ArrowDown };
11
+ export { Add, ArrowDown, ContractCreated, DefaultTokenIcon, Down, Failed, Minus, Plus, Success };
@@ -1,68 +1,24 @@
1
- // src/components/Icons/index.tsx
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- var ArrowDown = (props) => /* @__PURE__ */ jsxs(
4
- "svg",
5
- {
6
- xmlns: "http://www.w3.org/2000/svg",
7
- width: "16",
8
- height: "16",
9
- viewBox: "0 0 16 16",
10
- fill: "none",
11
- ...props,
12
- children: [
13
- /* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_7684_174)", children: [
14
- /* @__PURE__ */ jsx("rect", { width: "16", height: "16", rx: "2", fill: "#7789D3", fillOpacity: "0.08" }),
15
- /* @__PURE__ */ jsx(
16
- "path",
17
- {
18
- d: "M4 6L8 10L12 6",
19
- stroke: "#9B9EAC",
20
- strokeLinecap: "round",
21
- strokeLinejoin: "round"
22
- }
23
- )
24
- ] }),
25
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "clip0_7684_174", children: /* @__PURE__ */ jsx("rect", { width: "16", height: "16", fill: "white" }) }) })
26
- ]
27
- }
28
- );
29
- var Add = (props) => /* @__PURE__ */ jsxs(
30
- "svg",
31
- {
32
- xmlns: "http://www.w3.org/2000/svg",
33
- width: "16",
34
- height: "16",
35
- viewBox: "0 0 16 16",
36
- fill: "none",
37
- ...props,
38
- children: [
39
- /* @__PURE__ */ jsxs("g", { clipPath: "url(#clip0_7684_167)", children: [
40
- /* @__PURE__ */ jsx("rect", { width: "16", height: "16", rx: "2", fill: "#7789D3", fillOpacity: "0.08" }),
41
- /* @__PURE__ */ jsx(
42
- "path",
43
- {
44
- d: "M4 8H12",
45
- stroke: "#9B9EAC",
46
- strokeLinecap: "round",
47
- strokeLinejoin: "round"
48
- }
49
- ),
50
- /* @__PURE__ */ jsx(
51
- "path",
52
- {
53
- d: "M8 4L8 12",
54
- stroke: "#9B9EAC",
55
- strokeLinecap: "round",
56
- strokeLinejoin: "round"
57
- }
58
- )
59
- ] }),
60
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "clip0_7684_167", children: /* @__PURE__ */ jsx("rect", { width: "16", height: "16", fill: "white" }) }) })
61
- ]
62
- }
63
- );
1
+ import {
2
+ Add,
3
+ ArrowDown,
4
+ ContractCreated,
5
+ DefaultTokenIcon,
6
+ Down,
7
+ Failed,
8
+ Minus,
9
+ Plus,
10
+ Success
11
+ } from "../../chunk-JFFTHCNE.js";
12
+ import "../../chunk-WQG2LZMB.js";
64
13
  export {
65
14
  Add,
66
- ArrowDown
15
+ ArrowDown,
16
+ ContractCreated,
17
+ DefaultTokenIcon,
18
+ Down,
19
+ Failed,
20
+ Minus,
21
+ Plus,
22
+ Success
67
23
  };
68
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Icons/index.tsx"],"sourcesContent":["export const ArrowDown: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_7684_174)\">\n <rect width=\"16\" height=\"16\" rx=\"2\" fill=\"#7789D3\" fillOpacity=\"0.08\" />\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_7684_174\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const Add: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n {...props}\n >\n <g clipPath=\"url(#clip0_7684_167)\">\n <rect width=\"16\" height=\"16\" rx=\"2\" fill=\"#7789D3\" fillOpacity=\"0.08\" />\n <path\n d=\"M4 8H12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8 4L8 12\"\n stroke=\"#9B9EAC\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_7684_167\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n"],"mappings":";AASI,SACE,KADF;AATG,IAAM,YAAqD,WAChE;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACJ,GAAG;AAAA,IAEJ;AAAA,2BAAC,OAAE,UAAS,wBACV;AAAA,4BAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAU,aAAY,QAAO;AAAA,QACtE;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,QAAO;AAAA,YACP,eAAc;AAAA,YACd,gBAAe;AAAA;AAAA,QACjB;AAAA,SACF;AAAA,MACA,oBAAC,UACC,8BAAC,cAAS,IAAG,kBACX,8BAAC,UAAK,OAAM,MAAK,QAAO,MAAK,MAAK,SAAQ,GAC5C,GACF;AAAA;AAAA;AACF;AAGK,IAAM,MAA+C,WAC1D;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACJ,GAAG;AAAA,IAEJ;AAAA,2BAAC,OAAE,UAAS,wBACV;AAAA,4BAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAU,aAAY,QAAO;AAAA,QACtE;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,QAAO;AAAA,YACP,eAAc;AAAA,YACd,gBAAe;AAAA;AAAA,QACjB;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,QAAO;AAAA,YACP,eAAc;AAAA,YACd,gBAAe;AAAA;AAAA,QACjB;AAAA,SACF;AAAA,MACA,oBAAC,UACC,8BAAC,cAAS,IAAG,kBACX,8BAAC,UAAK,OAAM,MAAK,QAAO,MAAK,MAAK,SAAQ,GAC5C,GACF;AAAA;AAAA;AACF;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,5 @@
1
+ import "../../chunk-WQG2LZMB.js";
2
+
1
3
  // src/components/ImageSkeleton/index.tsx
2
4
  import clsx from "clsx";
3
5
  import { jsx } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ImageSkeleton/index.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React from 'react';\n\nexport const ImageSkeleton: React.FC = () => {\n return (\n <div\n className={clsx(\n 'ant-skeleton ant-skeleton-element',\n 'inline-block w-auto',\n )}\n >\n <div\n className={clsx(\n 'ant-skeleton-image',\n 'absolute w-full h-full top-0 left-0 right-0 bottom-0 object-contain rounded-t-5px flex-center vertical-top lh-96px bg-#bebebe33',\n )}\n >\n <svg\n viewBox=\"0 0 1098 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={clsx(\n 'ant-skeleton-image-svg',\n 'w-48px h-48px lh-48px max-w-192px max-h-192px',\n )}\n >\n <path\n d=\"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z\"\n className={clsx('ant-skeleton-image-path', 'fill-#bfbfbf')}\n ></path>\n </svg>\n </div>\n </div>\n );\n};\n"],"mappings":";AAAA,OAAO,UAAU;AAyBP;AAtBH,IAAM,gBAA0B,MAAM;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,GAAE;AAAA,kBACF,WAAW,KAAK,2BAA2B,cAAc;AAAA;AAAA,cAC1D;AAAA;AAAA,UACH;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/ImageSkeleton/index.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React from 'react';\n\nexport const ImageSkeleton: React.FC = () => {\n return (\n <div\n className={clsx(\n 'ant-skeleton ant-skeleton-element',\n 'inline-block w-auto',\n )}\n >\n <div\n className={clsx(\n 'ant-skeleton-image',\n 'absolute w-full h-full top-0 left-0 right-0 bottom-0 object-contain rounded-t-5px flex-center vertical-top lh-96px bg-#bebebe33',\n )}\n >\n <svg\n viewBox=\"0 0 1098 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={clsx(\n 'ant-skeleton-image-svg',\n 'w-48px h-48px lh-48px max-w-192px max-h-192px',\n )}\n >\n <path\n d=\"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z\"\n className={clsx('ant-skeleton-image-path', 'fill-#bfbfbf')}\n ></path>\n </svg>\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAAA,OAAO,UAAU;AAyBP;AAtBH,IAAM,gBAA0B,MAAM;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,GAAE;AAAA,kBACF,WAAW,KAAK,2BAA2B,cAAc;AAAA;AAAA,cAC1D;AAAA;AAAA,UACH;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -2,6 +2,7 @@ import {
2
2
  NegativeArrow,
3
3
  PositiveArrow
4
4
  } from "../../chunk-7OAWG2IZ.js";
5
+ import "../../chunk-WQG2LZMB.js";
5
6
  export {
6
7
  NegativeArrow,
7
8
  PositiveArrow
@@ -5,12 +5,13 @@ import {
5
5
  import {
6
6
  cn,
7
7
  getIncreasePercent
8
- } from "../../chunk-DFQG46WD.js";
9
- import "../../chunk-7RH7LJYB.js";
10
- import "../../chunk-LXTR4VAD.js";
8
+ } from "../../chunk-CPPQCJEV.js";
9
+ import "../../chunk-WIB76E7O.js";
10
+ import "../../chunk-5EDEEGZK.js";
11
11
  import "../../chunk-J2I22Q2M.js";
12
- import "../../chunk-YEUH2K6Z.js";
12
+ import "../../chunk-YEINMVAR.js";
13
13
  import "../../chunk-DQGLZCIG.js";
14
+ import "../../chunk-WQG2LZMB.js";
14
15
 
15
16
  // src/components/IncreasePercent/index.tsx
16
17
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/IncreasePercent/index.tsx"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { cn, getIncreasePercent } from 'src/utils';\nimport { NegativeArrow, PositiveArrow } from './Icons';\n\nconst isValueProps = (props: unknown): props is ValueProps =>\n 'value' in (props as ValueProps);\n\ninterface BaseProps {\n className?: string;\n /** show + while value is positive */\n showPlus?: boolean;\n showArrow?: boolean;\n}\n\ninterface ValueProps {\n value: string;\n}\ninterface CalcProps {\n base: string | number | BigNumber;\n prev: string | number | BigNumber;\n precision?: number;\n}\n\ntype Props = CalcProps | ValueProps;\n\nexport const IncreasePercent: React.FC<Props & BaseProps> = ({\n className,\n showPlus,\n showArrow,\n ...props\n}) => {\n const value = isValueProps(props)\n ? props.value\n : getIncreasePercent(props.base, props.prev, props.precision).percent;\n const isNegative = value[0] === '-';\n return (\n <span\n className={cn(\n 'inline-flex items-center',\n isNegative ? 'text-[#FA5D5D]' : 'text-[#4AC2AB]',\n className,\n )}\n >\n {showArrow &&\n (isNegative ? (\n <NegativeArrow className=\"mr-4px\" />\n ) : (\n <PositiveArrow className=\"mr-4px\" />\n ))}\n {!isNegative && showPlus && '+'}\n {value}\n </span>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAoCI,SASM,KATN;AAhCJ,IAAM,eAAe,CAAC,UACpB,WAAY;AAoBP,IAAM,kBAA+C,CAAC;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,QAAQ,aAAa,KAAK,IAC5B,MAAM,QACN,mBAAmB,MAAM,MAAM,MAAM,MAAM,MAAM,SAAS,EAAE;AAChE,QAAM,aAAa,MAAM,CAAC,MAAM;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,aAAa,mBAAmB;AAAA,QAChC;AAAA,MACF;AAAA,MAEC;AAAA,sBACE,aACC,oBAAC,iBAAc,WAAU,UAAS,IAElC,oBAAC,iBAAc,WAAU,UAAS;AAAA,QAErC,CAAC,cAAc,YAAY;AAAA,QAC3B;AAAA;AAAA;AAAA,EACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/IncreasePercent/index.tsx"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { cn, getIncreasePercent } from 'src/utils';\nimport { NegativeArrow, PositiveArrow } from './Icons';\n\nconst isValueProps = (props: unknown): props is ValueProps =>\n 'value' in (props as ValueProps);\n\ninterface BaseProps {\n className?: string;\n /** show + while value is positive */\n showPlus?: boolean;\n showArrow?: boolean;\n}\n\ninterface ValueProps {\n value: string;\n}\ninterface CalcProps {\n base: string | number | BigNumber;\n prev: string | number | BigNumber;\n precision?: number;\n}\n\ntype Props = CalcProps | ValueProps;\n\nexport const IncreasePercent: React.FC<Props & BaseProps> = ({\n className,\n showPlus,\n showArrow,\n ...props\n}) => {\n const value = isValueProps(props)\n ? props.value\n : getIncreasePercent(props.base, props.prev, props.precision).percent;\n const isNegative = value[0] === '-';\n return (\n <span\n className={cn(\n 'inline-flex items-center',\n isNegative ? 'text-[#FA5D5D]' : 'text-[#4AC2AB]',\n className,\n )}\n >\n {showArrow &&\n (isNegative ? (\n <NegativeArrow className=\"mr-4px\" />\n ) : (\n <PositiveArrow className=\"mr-4px\" />\n ))}\n {!isNegative && showPlus && '+'}\n {value}\n </span>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAoCI,SASM,KATN;AAhCJ,IAAM,eAAe,CAAC,UACpB,WAAY;AAoBP,IAAM,kBAA+C,CAAC;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,QAAQ,aAAa,KAAK,IAC5B,MAAM,QACN,mBAAmB,MAAM,MAAM,MAAM,MAAM,MAAM,SAAS,EAAE;AAChE,QAAM,aAAa,MAAM,CAAC,MAAM;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,aAAa,mBAAmB;AAAA,QAChC;AAAA,MACF;AAAA,MAEC;AAAA,sBACE,aACC,oBAAC,iBAAc,WAAU,UAAS,IAElC,oBAAC,iBAAc,WAAU,UAAS;AAAA,QAErC,CAAC,cAAc,YAAY;AAAA,QAC3B;AAAA;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  InfoIcon
3
3
  } from "../../chunk-65X53DMW.js";
4
+ import "../../chunk-WQG2LZMB.js";
4
5
  export {
5
6
  InfoIcon
6
7
  };
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  InfoIconWithTooltip
3
- } from "../../chunk-U3F7QHXB.js";
3
+ } from "../../chunk-OCQIWTDC.js";
4
4
  import "../../chunk-65X53DMW.js";
5
- import "../../chunk-NUKYY7GO.js";
5
+ import "../../chunk-DF3PVTB5.js";
6
6
  import "../../chunk-BMO4IZHV.js";
7
7
  import "../../chunk-LRCAKRPK.js";
8
- import "../../chunk-DFQG46WD.js";
9
- import "../../chunk-7RH7LJYB.js";
10
- import "../../chunk-LXTR4VAD.js";
8
+ import "../../chunk-CPPQCJEV.js";
9
+ import "../../chunk-WIB76E7O.js";
10
+ import "../../chunk-5EDEEGZK.js";
11
11
  import "../../chunk-J2I22Q2M.js";
12
- import "../../chunk-YEUH2K6Z.js";
12
+ import "../../chunk-YEINMVAR.js";
13
13
  import "../../chunk-DQGLZCIG.js";
14
+ import "../../chunk-WQG2LZMB.js";
14
15
  export {
15
16
  InfoIconWithTooltip
16
17
  };
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare const AddressLabel: ({ address, space, }: {
4
+ address: string;
5
+ space: 'evm' | 'core';
6
+ }) => react_jsx_runtime.JSX.Element;
7
+
8
+ export { AddressLabel };
@@ -0,0 +1,23 @@
1
+ import {
2
+ AddressLabel
3
+ } from "../../chunk-CKVDFS45.js";
4
+ import "../../chunk-6H5A42YS.js";
5
+ import "../../chunk-BUSBM33B.js";
6
+ import "../../chunk-CNF26YY7.js";
7
+ import "../../chunk-P4EE3QGM.js";
8
+ import "../../chunk-TOKKKTFG.js";
9
+ import "../../chunk-Q2DX6IDH.js";
10
+ import "../../chunk-DF3PVTB5.js";
11
+ import "../../chunk-BMO4IZHV.js";
12
+ import "../../chunk-LRCAKRPK.js";
13
+ import "../../chunk-CPPQCJEV.js";
14
+ import "../../chunk-WIB76E7O.js";
15
+ import "../../chunk-5EDEEGZK.js";
16
+ import "../../chunk-J2I22Q2M.js";
17
+ import "../../chunk-YEINMVAR.js";
18
+ import "../../chunk-DQGLZCIG.js";
19
+ import "../../chunk-WQG2LZMB.js";
20
+ export {
21
+ AddressLabel
22
+ };
23
+ //# sourceMappingURL=AddressLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}