@rango-dev/ui 0.1.10-next.69

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 (349) hide show
  1. package/README.md +181 -0
  2. package/dist/components/Alert/Alert.d.ts +6 -0
  3. package/dist/components/Alert/Alert.stories.d.ts +4 -0
  4. package/dist/components/Alert/index.d.ts +1 -0
  5. package/dist/components/BestRoute/BestRoute.d.ts +8 -0
  6. package/dist/components/BestRoute/BestRoute.stories.d.ts +8 -0
  7. package/dist/components/BestRoute/index.d.ts +1 -0
  8. package/dist/components/BestRoute/mock.d.ts +4 -0
  9. package/dist/components/BlockchainSelector/BlockchainSelector.d.ts +14 -0
  10. package/dist/components/BlockchainSelector/BlockchainSelector.stories.d.ts +4 -0
  11. package/dist/components/BlockchainSelector/index.d.ts +1 -0
  12. package/dist/components/BlockchainsList/BlockchainsList.d.ts +7 -0
  13. package/dist/components/BlockchainsList/BlockchainsList.stories.d.ts +4 -0
  14. package/dist/components/BlockchainsList/index.d.ts +1 -0
  15. package/dist/components/BlockchainsList/mockData.d.ts +2 -0
  16. package/dist/components/Button/Button.d.ts +17 -0
  17. package/dist/components/Button/Button.stories.d.ts +8 -0
  18. package/dist/components/Button/index.d.ts +1 -0
  19. package/dist/components/Checkbox/Checkbox.d.ts +11 -0
  20. package/dist/components/Checkbox/Checkbox.stories.d.ts +5 -0
  21. package/dist/components/Checkbox/index.d.ts +1 -0
  22. package/dist/components/Chip/Chip.d.ts +12 -0
  23. package/dist/components/Chip/Chip.stories.d.ts +6 -0
  24. package/dist/components/Chip/index.d.ts +1 -0
  25. package/dist/components/ConnectWalletsModal/ConnectWallets.stories.d.ts +4 -0
  26. package/dist/components/ConnectWalletsModal/ConnectWalletsModal.d.ts +10 -0
  27. package/dist/components/ConnectWalletsModal/index.d.ts +1 -0
  28. package/dist/components/ConnectWalletsModal/mockData.d.ts +2 -0
  29. package/dist/components/Drawer/Drawer.d.ts +12 -0
  30. package/dist/components/Drawer/Drawer.stories.d.ts +7 -0
  31. package/dist/components/Drawer/index.d.ts +1 -0
  32. package/dist/components/Icon/AddCircleIcon.d.ts +3 -0
  33. package/dist/components/Icon/AddIcon.d.ts +3 -0
  34. package/dist/components/Icon/AddWalletIcon.d.ts +3 -0
  35. package/dist/components/Icon/AngleDownIcon.d.ts +3 -0
  36. package/dist/components/Icon/AngleLeftIcon.d.ts +3 -0
  37. package/dist/components/Icon/AngleRightIcon.d.ts +3 -0
  38. package/dist/components/Icon/AngleUpIcon.d.ts +3 -0
  39. package/dist/components/Icon/BagIcon.d.ts +3 -0
  40. package/dist/components/Icon/BanIcon.d.ts +3 -0
  41. package/dist/components/Icon/CheckCircleIcon.d.ts +3 -0
  42. package/dist/components/Icon/CheckIcon.d.ts +3 -0
  43. package/dist/components/Icon/CheckSquareIcon.d.ts +3 -0
  44. package/dist/components/Icon/CheckWalletIcon.d.ts +3 -0
  45. package/dist/components/Icon/CloseIcon.d.ts +1 -0
  46. package/dist/components/Icon/DeleteCircleIcon.d.ts +3 -0
  47. package/dist/components/Icon/DeleteWalletIcon.d.ts +3 -0
  48. package/dist/components/Icon/DownloadIcon.d.ts +3 -0
  49. package/dist/components/Icon/GasIcon.d.ts +3 -0
  50. package/dist/components/Icon/HistoryIcon.d.ts +3 -0
  51. package/dist/components/Icon/HorizontalSwapIcon.d.ts +3 -0
  52. package/dist/components/Icon/Icons.stories.d.ts +5 -0
  53. package/dist/components/Icon/InfoCircleIcon.d.ts +3 -0
  54. package/dist/components/Icon/MinusCircleIcon.d.ts +3 -0
  55. package/dist/components/Icon/RetryIcon.d.ts +3 -0
  56. package/dist/components/Icon/RetryLeftIcon.d.ts +3 -0
  57. package/dist/components/Icon/RetryRightIcon.d.ts +3 -0
  58. package/dist/components/Icon/SearchIcon.d.ts +3 -0
  59. package/dist/components/Icon/SearchMinusIcon.d.ts +3 -0
  60. package/dist/components/Icon/SettingIcon.d.ts +3 -0
  61. package/dist/components/Icon/SignatureIcon.d.ts +3 -0
  62. package/dist/components/Icon/SwapWalletIcon.d.ts +3 -0
  63. package/dist/components/Icon/TimeIcon.d.ts +3 -0
  64. package/dist/components/Icon/TrashIcon.d.ts +3 -0
  65. package/dist/components/Icon/TryAgainIcon.d.ts +3 -0
  66. package/dist/components/Icon/VerticalSwapIcon.d.ts +3 -0
  67. package/dist/components/Icon/WalletIconIcon.d.ts +3 -0
  68. package/dist/components/Icon/WarningIcon.d.ts +3 -0
  69. package/dist/components/Icon/common.d.ts +2 -0
  70. package/dist/components/Icon/index.d.ts +36 -0
  71. package/dist/components/Icon/types.d.ts +6 -0
  72. package/dist/components/LiquiditySourceList/LiquiditySource.stories.d.ts +4 -0
  73. package/dist/components/LiquiditySourceList/LiquiditySourceList.d.ts +8 -0
  74. package/dist/components/LiquiditySourceList/index.d.ts +1 -0
  75. package/dist/components/LiquiditySourceList/mockData.d.ts +2 -0
  76. package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.d.ts +11 -0
  77. package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.d.ts +4 -0
  78. package/dist/components/LiquiditySourcesSelector/index.d.ts +1 -0
  79. package/dist/components/Modal/Modal.d.ts +11 -0
  80. package/dist/components/Modal/Modal.stories.d.ts +4 -0
  81. package/dist/components/Modal/index.d.ts +1 -0
  82. package/dist/components/Radio/Radio.d.ts +12 -0
  83. package/dist/components/Radio/Radio.stories.d.ts +4 -0
  84. package/dist/components/Radio/index.d.ts +1 -0
  85. package/dist/components/SecondaryPage/SecondaryPage.d.ts +18 -0
  86. package/dist/components/SecondaryPage/SecondaryPage.stories.d.ts +2 -0
  87. package/dist/components/SecondaryPage/index.d.ts +1 -0
  88. package/dist/components/SelectableWalletList/SelectableWalletList.d.ts +7 -0
  89. package/dist/components/SelectableWalletList/SelectableWalletList.stories.d.ts +5 -0
  90. package/dist/components/SelectableWalletList/index.d.ts +1 -0
  91. package/dist/components/SelectableWalletList/mock.d.ts +2 -0
  92. package/dist/components/Settings/Settings.d.ts +19 -0
  93. package/dist/components/Settings/Settings.stories.d.ts +4 -0
  94. package/dist/components/Settings/index.d.ts +1 -0
  95. package/dist/components/Skeleton/Skeleton.d.ts +5 -0
  96. package/dist/components/Skeleton/Skeleton.stories.d.ts +4 -0
  97. package/dist/components/Skeleton/index.d.ts +1 -0
  98. package/dist/components/Spacer/Spacer.d.ts +5 -0
  99. package/dist/components/Spacer/Spacer.stories.d.ts +4 -0
  100. package/dist/components/Spacer/index.d.ts +1 -0
  101. package/dist/components/Spinner/Spinner.d.ts +5 -0
  102. package/dist/components/Spinner/Spinner.stories.d.ts +4 -0
  103. package/dist/components/Spinner/index.d.ts +1 -0
  104. package/dist/components/StatusDrawer/StatusDrawer.d.ts +11 -0
  105. package/dist/components/StatusDrawer/StatusDrawer.stories.d.ts +4 -0
  106. package/dist/components/StatusDrawer/index.d.ts +1 -0
  107. package/dist/components/StepDetail/StepDetail.d.ts +10 -0
  108. package/dist/components/StepDetail/StepDetail.stories.d.ts +5 -0
  109. package/dist/components/StepDetail/index.d.ts +1 -0
  110. package/dist/components/SwapContainer/SwapContainer.d.ts +6 -0
  111. package/dist/components/SwapContainer/SwapContainer.stories.d.ts +5 -0
  112. package/dist/components/SwapContainer/index.d.ts +1 -0
  113. package/dist/components/SwapDetail/SwapDetail.d.ts +8 -0
  114. package/dist/components/SwapDetail/SwapDetail.stories.d.ts +5 -0
  115. package/dist/components/SwapDetail/index.d.ts +1 -0
  116. package/dist/components/SwapDetail/mock.d.ts +2 -0
  117. package/dist/components/Switch/Switch.d.ts +5 -0
  118. package/dist/components/Switch/Switch.stories.d.ts +4 -0
  119. package/dist/components/Switch/index.d.ts +1 -0
  120. package/dist/components/TextField/TextField.d.ts +10 -0
  121. package/dist/components/TextField/TextField.stories.d.ts +7 -0
  122. package/dist/components/TextField/index.d.ts +1 -0
  123. package/dist/components/TokenList/TokenList.d.ts +14 -0
  124. package/dist/components/TokenList/TokenList.stories.d.ts +4 -0
  125. package/dist/components/TokenList/index.d.ts +1 -0
  126. package/dist/components/TokenList/mockData.d.ts +2 -0
  127. package/dist/components/TokenSelector/TokenSelector.d.ts +10 -0
  128. package/dist/components/TokenSelector/TokenSelector.stories.d.ts +4 -0
  129. package/dist/components/TokenSelector/index.d.ts +1 -0
  130. package/dist/components/Tooltip/Tooltip.d.ts +7 -0
  131. package/dist/components/Tooltip/Tooltip.stories.d.ts +5 -0
  132. package/dist/components/Tooltip/index.d.ts +1 -0
  133. package/dist/components/Typography/Typography.d.ts +14 -0
  134. package/dist/components/Typography/Typography.stories.d.ts +5 -0
  135. package/dist/components/Typography/index.d.ts +1 -0
  136. package/dist/components/VirtualizedList/VirtualizedList.d.ts +18 -0
  137. package/dist/components/Wallet/State.d.ts +6 -0
  138. package/dist/components/Wallet/Wallet.d.ts +6 -0
  139. package/dist/components/Wallet/Wallet.stories.d.ts +4 -0
  140. package/dist/components/Wallet/index.d.ts +1 -0
  141. package/dist/components/common/FilledCircle.d.ts +1 -0
  142. package/dist/components/common/index.d.ts +1 -0
  143. package/dist/components/index.d.ts +24 -0
  144. package/dist/containers/ConfirmSwap/ConfirmSwap.d.ts +23 -0
  145. package/dist/containers/ConfirmSwap/ConfirmSwap.stories.d.ts +5 -0
  146. package/dist/containers/ConfirmSwap/index.d.ts +1 -0
  147. package/dist/containers/ConfirmSwap/mock.d.ts +2 -0
  148. package/dist/containers/ConfirmWallets/ConfirmWallets.d.ts +14 -0
  149. package/dist/containers/ConfirmWallets/ConfirmWallets.stories.d.ts +6 -0
  150. package/dist/containers/ConfirmWallets/index.d.ts +1 -0
  151. package/dist/containers/ConfirmWallets/mock.d.ts +5 -0
  152. package/dist/containers/ConfirmWallets/types.d.ts +8 -0
  153. package/dist/containers/History/History.d.ts +8 -0
  154. package/dist/containers/History/History.stories.d.ts +5 -0
  155. package/dist/containers/History/index.d.ts +1 -0
  156. package/dist/containers/History/mock.d.ts +2 -0
  157. package/dist/containers/History/types.d.ts +59 -0
  158. package/dist/containers/SwapHistory/SwapHistory.d.ts +7 -0
  159. package/dist/containers/SwapHistory/SwapHistory.stories.d.ts +4 -0
  160. package/dist/containers/SwapHistory/index.d.ts +1 -0
  161. package/dist/containers/SwapHistory/mock.d.ts +2 -0
  162. package/dist/containers/index.d.ts +4 -0
  163. package/dist/helper/index.d.ts +6 -0
  164. package/dist/helper/swaps.d.ts +5 -0
  165. package/dist/helpers.d.ts +1 -0
  166. package/dist/index.d.ts +4 -0
  167. package/dist/index.js +8 -0
  168. package/dist/theme.d.ts +8 -0
  169. package/dist/types/index.d.ts +1 -0
  170. package/dist/types/meta.d.ts +22 -0
  171. package/dist/types/swaps.d.ts +22 -0
  172. package/dist/types/wallet.d.ts +14 -0
  173. package/dist/ui.cjs.development.js +4103 -0
  174. package/dist/ui.cjs.development.js.map +1 -0
  175. package/dist/ui.cjs.production.min.js +2 -0
  176. package/dist/ui.cjs.production.min.js.map +1 -0
  177. package/dist/ui.esm.js +4028 -0
  178. package/dist/ui.esm.js.map +1 -0
  179. package/package.json +89 -0
  180. package/src/components/Alert/Alert.stories.tsx +22 -0
  181. package/src/components/Alert/Alert.tsx +78 -0
  182. package/src/components/Alert/index.ts +1 -0
  183. package/src/components/BestRoute/BestRoute.stories.tsx +31 -0
  184. package/src/components/BestRoute/BestRoute.tsx +189 -0
  185. package/src/components/BestRoute/index.ts +1 -0
  186. package/src/components/BestRoute/mock.ts +544 -0
  187. package/src/components/BlockchainSelector/BlockchainSelector.stories.tsx +25 -0
  188. package/src/components/BlockchainSelector/BlockchainSelector.tsx +93 -0
  189. package/src/components/BlockchainSelector/index.ts +1 -0
  190. package/src/components/BlockchainsList/BlockchainsList.stories.tsx +25 -0
  191. package/src/components/BlockchainsList/BlockchainsList.tsx +60 -0
  192. package/src/components/BlockchainsList/index.ts +1 -0
  193. package/src/components/BlockchainsList/mockData.ts +2972 -0
  194. package/src/components/Button/Button.stories.tsx +59 -0
  195. package/src/components/Button/Button.tsx +407 -0
  196. package/src/components/Button/index.ts +1 -0
  197. package/src/components/Checkbox/Checkbox.stories.tsx +22 -0
  198. package/src/components/Checkbox/Checkbox.tsx +54 -0
  199. package/src/components/Checkbox/index.ts +1 -0
  200. package/src/components/Chip/Chip.stories.tsx +37 -0
  201. package/src/components/Chip/Chip.tsx +45 -0
  202. package/src/components/Chip/index.ts +1 -0
  203. package/src/components/ConnectWalletsModal/ConnectWallets.stories.tsx +13 -0
  204. package/src/components/ConnectWalletsModal/ConnectWalletsModal.tsx +42 -0
  205. package/src/components/ConnectWalletsModal/index.ts +1 -0
  206. package/src/components/ConnectWalletsModal/mockData.ts +118 -0
  207. package/src/components/Drawer/Drawer.stories.tsx +86 -0
  208. package/src/components/Drawer/Drawer.tsx +128 -0
  209. package/src/components/Drawer/index.ts +1 -0
  210. package/src/components/Icon/AddCircleIcon.tsx +29 -0
  211. package/src/components/Icon/AddIcon.tsx +28 -0
  212. package/src/components/Icon/AddWalletIcon.tsx +48 -0
  213. package/src/components/Icon/AngleDownIcon.tsx +30 -0
  214. package/src/components/Icon/AngleLeftIcon.tsx +31 -0
  215. package/src/components/Icon/AngleRightIcon.tsx +30 -0
  216. package/src/components/Icon/AngleUpIcon.tsx +30 -0
  217. package/src/components/Icon/BagIcon.tsx +37 -0
  218. package/src/components/Icon/BanIcon.tsx +30 -0
  219. package/src/components/Icon/CheckCircleIcon.tsx +37 -0
  220. package/src/components/Icon/CheckIcon.tsx +28 -0
  221. package/src/components/Icon/CheckSquareIcon.tsx +35 -0
  222. package/src/components/Icon/CheckWalletIcon.tsx +43 -0
  223. package/src/components/Icon/CloseIcon.tsx +9 -0
  224. package/src/components/Icon/DeleteCircleIcon.tsx +29 -0
  225. package/src/components/Icon/DeleteWalletIcon.tsx +48 -0
  226. package/src/components/Icon/DownloadIcon.tsx +35 -0
  227. package/src/components/Icon/GasIcon.tsx +35 -0
  228. package/src/components/Icon/HistoryIcon.tsx +38 -0
  229. package/src/components/Icon/HorizontalSwapIcon.tsx +36 -0
  230. package/src/components/Icon/Icons.stories.tsx +44 -0
  231. package/src/components/Icon/InfoCircleIcon.tsx +37 -0
  232. package/src/components/Icon/MinusCircleIcon.tsx +29 -0
  233. package/src/components/Icon/RetryIcon.tsx +30 -0
  234. package/src/components/Icon/RetryLeftIcon.tsx +29 -0
  235. package/src/components/Icon/RetryRightIcon.tsx +29 -0
  236. package/src/components/Icon/SearchIcon.tsx +29 -0
  237. package/src/components/Icon/SearchMinusIcon.tsx +29 -0
  238. package/src/components/Icon/SettingIcon.tsx +37 -0
  239. package/src/components/Icon/SignatureIcon.tsx +30 -0
  240. package/src/components/Icon/SwapWalletIcon.tsx +48 -0
  241. package/src/components/Icon/TimeIcon.tsx +29 -0
  242. package/src/components/Icon/TrashIcon.tsx +29 -0
  243. package/src/components/Icon/TryAgainIcon.tsx +29 -0
  244. package/src/components/Icon/VerticalSwapIcon.tsx +36 -0
  245. package/src/components/Icon/WalletIconIcon.tsx +38 -0
  246. package/src/components/Icon/WarningIcon.tsx +35 -0
  247. package/src/components/Icon/common.ts +69 -0
  248. package/src/components/Icon/index.ts +44 -0
  249. package/src/components/Icon/types.tsx +44 -0
  250. package/src/components/LiquiditySourceList/LiquiditySource.stories.tsx +13 -0
  251. package/src/components/LiquiditySourceList/LiquiditySourceList.tsx +114 -0
  252. package/src/components/LiquiditySourceList/index.ts +1 -0
  253. package/src/components/LiquiditySourceList/mockData.ts +316 -0
  254. package/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.tsx +16 -0
  255. package/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx +55 -0
  256. package/src/components/LiquiditySourcesSelector/index.ts +1 -0
  257. package/src/components/Modal/Modal.stories.tsx +22 -0
  258. package/src/components/Modal/Modal.tsx +76 -0
  259. package/src/components/Modal/index.ts +1 -0
  260. package/src/components/Radio/Radio.stories.tsx +23 -0
  261. package/src/components/Radio/Radio.tsx +95 -0
  262. package/src/components/Radio/index.ts +1 -0
  263. package/src/components/SecondaryPage/SecondaryPage.stories.tsx +7 -0
  264. package/src/components/SecondaryPage/SecondaryPage.tsx +95 -0
  265. package/src/components/SecondaryPage/index.ts +1 -0
  266. package/src/components/SelectableWalletList/SelectableWalletList.stories.tsx +14 -0
  267. package/src/components/SelectableWalletList/SelectableWalletList.tsx +113 -0
  268. package/src/components/SelectableWalletList/index.ts +1 -0
  269. package/src/components/SelectableWalletList/mock.ts +12 -0
  270. package/src/components/Settings/Settings.stories.tsx +34 -0
  271. package/src/components/Settings/Settings.tsx +160 -0
  272. package/src/components/Settings/index.ts +1 -0
  273. package/src/components/Skeleton/Skeleton.stories.tsx +24 -0
  274. package/src/components/Skeleton/Skeleton.tsx +66 -0
  275. package/src/components/Skeleton/index.ts +1 -0
  276. package/src/components/Spacer/Spacer.stories.tsx +18 -0
  277. package/src/components/Spacer/Spacer.tsx +98 -0
  278. package/src/components/Spacer/index.ts +1 -0
  279. package/src/components/Spinner/Spinner.stories.tsx +25 -0
  280. package/src/components/Spinner/Spinner.tsx +61 -0
  281. package/src/components/Spinner/index.ts +1 -0
  282. package/src/components/StatusDrawer/StatusDrawer.stories.tsx +38 -0
  283. package/src/components/StatusDrawer/StatusDrawer.tsx +81 -0
  284. package/src/components/StatusDrawer/index.ts +1 -0
  285. package/src/components/StepDetail/StepDetail.stories.tsx +37 -0
  286. package/src/components/StepDetail/StepDetail.tsx +97 -0
  287. package/src/components/StepDetail/index.ts +1 -0
  288. package/src/components/SwapContainer/SwapContainer.stories.tsx +13 -0
  289. package/src/components/SwapContainer/SwapContainer.tsx +35 -0
  290. package/src/components/SwapContainer/index.ts +1 -0
  291. package/src/components/SwapDetail/SwapDetail.stories.tsx +19 -0
  292. package/src/components/SwapDetail/SwapDetail.tsx +150 -0
  293. package/src/components/SwapDetail/index.ts +1 -0
  294. package/src/components/SwapDetail/mock.ts +275 -0
  295. package/src/components/Switch/Switch.stories.tsx +9 -0
  296. package/src/components/Switch/Switch.tsx +52 -0
  297. package/src/components/Switch/index.ts +1 -0
  298. package/src/components/TextField/TextField.stories.tsx +31 -0
  299. package/src/components/TextField/TextField.tsx +129 -0
  300. package/src/components/TextField/index.ts +1 -0
  301. package/src/components/TokenList/TokenList.stories.tsx +18 -0
  302. package/src/components/TokenList/TokenList.tsx +180 -0
  303. package/src/components/TokenList/index.ts +1 -0
  304. package/src/components/TokenList/mockData.ts +1721 -0
  305. package/src/components/TokenSelector/TokenSelector.stories.tsx +18 -0
  306. package/src/components/TokenSelector/TokenSelector.tsx +35 -0
  307. package/src/components/TokenSelector/index.ts +1 -0
  308. package/src/components/Tooltip/Tooltip.stories.tsx +52 -0
  309. package/src/components/Tooltip/Tooltip.tsx +110 -0
  310. package/src/components/Tooltip/index.ts +1 -0
  311. package/src/components/Typography/Typography.stories.tsx +68 -0
  312. package/src/components/Typography/Typography.tsx +199 -0
  313. package/src/components/Typography/index.ts +1 -0
  314. package/src/components/VirtualizedList/VirtualizedList.tsx +78 -0
  315. package/src/components/Wallet/State.tsx +36 -0
  316. package/src/components/Wallet/Wallet.stories.tsx +36 -0
  317. package/src/components/Wallet/Wallet.tsx +42 -0
  318. package/src/components/Wallet/index.ts +1 -0
  319. package/src/components/common/FilledCircle.tsx +8 -0
  320. package/src/components/common/index.ts +1 -0
  321. package/src/components/index.ts +24 -0
  322. package/src/containers/ConfirmSwap/ConfirmSwap.stories.tsx +13 -0
  323. package/src/containers/ConfirmSwap/ConfirmSwap.tsx +154 -0
  324. package/src/containers/ConfirmSwap/index.ts +1 -0
  325. package/src/containers/ConfirmSwap/mock.ts +146 -0
  326. package/src/containers/ConfirmWallets/ConfirmWallets.stories.tsx +26 -0
  327. package/src/containers/ConfirmWallets/ConfirmWallets.tsx +98 -0
  328. package/src/containers/ConfirmWallets/index.ts +1 -0
  329. package/src/containers/ConfirmWallets/mock.ts +222 -0
  330. package/src/containers/ConfirmWallets/types.ts +9 -0
  331. package/src/containers/History/History.stories.tsx +14 -0
  332. package/src/containers/History/History.tsx +93 -0
  333. package/src/containers/History/index.ts +1 -0
  334. package/src/containers/History/mock.ts +825 -0
  335. package/src/containers/History/types.tsx +66 -0
  336. package/src/containers/SwapHistory/SwapHistory.stories.tsx +13 -0
  337. package/src/containers/SwapHistory/SwapHistory.tsx +165 -0
  338. package/src/containers/SwapHistory/index.ts +1 -0
  339. package/src/containers/SwapHistory/mock.ts +275 -0
  340. package/src/containers/index.ts +4 -0
  341. package/src/helper/index.ts +23 -0
  342. package/src/helper/swaps.ts +23 -0
  343. package/src/helpers.ts +2 -0
  344. package/src/index.ts +4 -0
  345. package/src/theme.ts +161 -0
  346. package/src/types/index.ts +1 -0
  347. package/src/types/meta.ts +20 -0
  348. package/src/types/swaps.tsx +36 -0
  349. package/src/types/wallet.ts +20 -0
@@ -0,0 +1,4103 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
+
7
+ var React = require('react');
8
+ var React__default = _interopDefault(React);
9
+ var RadixCheckbox = require('@radix-ui/react-checkbox');
10
+ var reactDom = require('react-dom');
11
+ var walletsShared = require('@rango-dev/wallets-shared');
12
+ var RadixSwitch = require('@radix-ui/react-switch');
13
+ var RadioGroup = require('@radix-ui/react-radio-group');
14
+ var reactWindow = require('react-window');
15
+ var InfiniteLoader = _interopDefault(require('react-window-infinite-loader'));
16
+ var AutoSizer = _interopDefault(require('react-virtualized-auto-sizer'));
17
+ var RadixTooltip = require('@radix-ui/react-tooltip');
18
+
19
+ function _extends() {
20
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
21
+ for (var i = 1; i < arguments.length; i++) {
22
+ var source = arguments[i];
23
+ for (var key in source) {
24
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
25
+ target[key] = source[key];
26
+ }
27
+ }
28
+ }
29
+ return target;
30
+ };
31
+ return _extends.apply(this, arguments);
32
+ }
33
+ function _objectWithoutPropertiesLoose(source, excluded) {
34
+ if (source == null) return {};
35
+ var target = {};
36
+ var sourceKeys = Object.keys(source);
37
+ var key, i;
38
+ for (i = 0; i < sourceKeys.length; i++) {
39
+ key = sourceKeys[i];
40
+ if (excluded.indexOf(key) >= 0) continue;
41
+ target[key] = source[key];
42
+ }
43
+ return target;
44
+ }
45
+
46
+ // TSDX + stiches doesn't work with import statement and has a bug.
47
+ // Solution: (https://github.com/stitchesjs/stitches/issues/833#issuecomment-950707025)
48
+ var _require = /*#__PURE__*/require('@stitches/react'),
49
+ createStitches = _require.createStitches;
50
+ /* ----------------------- Values ----------------------- */
51
+ var theme = {
52
+ colors: {
53
+ primary: '#5FA425',
54
+ primary100: '#9FC87C',
55
+ primary200: '#8FBF66',
56
+ primary300: '#7FB651',
57
+ primary400: '#6FAD3B',
58
+ primary500: '#5FA425',
59
+ primary600: '#4C831E',
60
+ primary700: '#396216',
61
+ primary800: '#26420F',
62
+ primary900: '#132107',
63
+ neutrals200: '#FAFAFA',
64
+ neutrals300: '#EAEAEA',
65
+ neutrals400: '#999999',
66
+ neutrals500: '#888888',
67
+ neutrals600: '#666666',
68
+ neutrals700: '#444444',
69
+ neutrals800: '#333333',
70
+ neutrals900: '#111111',
71
+ background: '#fff',
72
+ foreground: '#000',
73
+ success: '#0070F3',
74
+ success100: '#D3E5FF',
75
+ success300: '#3291FF',
76
+ success500: '#0070F3',
77
+ success700: '#0761D1',
78
+ warning: '#F5A623',
79
+ warning100: '#FFEFCF',
80
+ warning300: '#F7B955',
81
+ warning500: '#F5A623',
82
+ warning700: '#AB570A',
83
+ error: '#FF0000',
84
+ error100: '#F7D4D6',
85
+ error300: '#FF3333',
86
+ error500: '#FF0000',
87
+ error700: '#E60000'
88
+ },
89
+ space: {
90
+ 2: '2px',
91
+ 4: '4px',
92
+ 6: '6px',
93
+ 8: '8px',
94
+ 10: '10px',
95
+ 12: '12px',
96
+ 16: '16px',
97
+ 20: '20px',
98
+ 24: '24px',
99
+ 28: '28px',
100
+ 30: '30px',
101
+ 32: '32px'
102
+ },
103
+ fontSizes: {
104
+ 10: '10px',
105
+ 12: '12px',
106
+ 14: '14px',
107
+ 16: '16px',
108
+ 18: '18px',
109
+ 20: '20px',
110
+ 24: '24px',
111
+ 32: '32px',
112
+ 36: '36px',
113
+ 40: '40px',
114
+ 48: '48px'
115
+ },
116
+ fonts: {},
117
+ fontWeights: {
118
+ 400: '400',
119
+ 500: '500',
120
+ 600: '600',
121
+ 700: '700'
122
+ },
123
+ lineHeights: {},
124
+ letterSpacings: {},
125
+ sizes: {
126
+ 4: '4px',
127
+ 6: '6px',
128
+ 8: '8px',
129
+ 12: '12px',
130
+ 16: '16px',
131
+ 20: '20px',
132
+ 24: '24px',
133
+ 28: '28px',
134
+ 32: '32px',
135
+ 36: '36px',
136
+ 40: '40px',
137
+ 48: '48px'
138
+ },
139
+ borderWidths: {},
140
+ borderStyles: {},
141
+ radii: {
142
+ 5: '5px',
143
+ 10: '10px'
144
+ },
145
+ shadows: {
146
+ s: '0px 3px 5px 3px #f0f2f5, 0px 6px 10px 3px #f0f2f5, 0px 1px 18px 3px #f0f2f5'
147
+ },
148
+ zIndices: {},
149
+ transitions: {}
150
+ };
151
+ var media = {
152
+ sm: '(min-width: 640px)',
153
+ md: '(min-width: 768px)',
154
+ lg: '(min-width: 1024px)'
155
+ };
156
+ var utils = {
157
+ bc: function bc(value) {
158
+ return {
159
+ backgroundColor: value
160
+ };
161
+ }
162
+ };
163
+ /* ----------------------- End of Values ----------------------- */
164
+ var typedCreateStiches = createStitches;
165
+ // Note: it seems there is a bug on tsdx and when it compiles the code, it goes through an error
166
+ // We can directly check it with `tsc` to see if the error is correct or not.
167
+ // We `ignore` it for now, to get safety check on VSCode.
168
+ // @ts-ignore
169
+ var _typedCreateStiches = /*#__PURE__*/typedCreateStiches({
170
+ media: media,
171
+ theme: theme,
172
+ utils: utils
173
+ }),
174
+ styled = _typedCreateStiches.styled,
175
+ css = _typedCreateStiches.css,
176
+ createTheme = _typedCreateStiches.createTheme,
177
+ keyframes = _typedCreateStiches.keyframes,
178
+ globalCss = _typedCreateStiches.globalCss;
179
+ var lightTheme = /*#__PURE__*/createTheme({});
180
+ var darkTheme = /*#__PURE__*/createTheme({
181
+ colors: {
182
+ neutrals200: '#111111',
183
+ neutrals300: '#333333',
184
+ neutrals400: '#444444',
185
+ neutrals500: '#666666',
186
+ neutrals600: '#888888',
187
+ neutrals700: '#999999',
188
+ neutrals800: '#EAEAEA',
189
+ neutrals900: '#FAFAFA',
190
+ foreground: '#fff',
191
+ background: '#000'
192
+ },
193
+ shadows: {
194
+ s: '0px 3px 5px 3px #222, 0px 6px 10px 3px #222, 0px 1px 18px 3px #222'
195
+ }
196
+ });
197
+
198
+ var _black, _white, _black2, _white2;
199
+ var SvgWithStrokeColor = /*#__PURE__*/styled('svg', {
200
+ stroke: '$foreground',
201
+ variants: {
202
+ color: {
203
+ primary: {
204
+ stroke: '$primary'
205
+ },
206
+ error: {
207
+ stroke: '$error'
208
+ },
209
+ warning: {
210
+ stroke: '$warning'
211
+ },
212
+ success: {
213
+ stroke: '$success'
214
+ },
215
+ black: (_black = {
216
+ $$color: '$colors$foreground'
217
+ }, _black["." + darkTheme + " &"] = {
218
+ $$color: '$colors$background'
219
+ }, _black.stroke = '$$color', _black),
220
+ white: (_white = {
221
+ $$color: '$colors$background'
222
+ }, _white["." + darkTheme + " &"] = {
223
+ $$color: '$colors$foreground'
224
+ }, _white.stroke = '$$color', _white)
225
+ }
226
+ }
227
+ });
228
+ var SvgWithFillColor = /*#__PURE__*/styled('svg', {
229
+ fill: '$foreground',
230
+ variants: {
231
+ color: {
232
+ primary: {
233
+ fill: '$primary'
234
+ },
235
+ error: {
236
+ fill: '$error'
237
+ },
238
+ warning: {
239
+ fill: '$warning'
240
+ },
241
+ success: {
242
+ fill: '$success'
243
+ },
244
+ black: (_black2 = {
245
+ $$color: '$colors$foreground'
246
+ }, _black2["." + darkTheme + " &"] = {
247
+ $$color: '$colors$background'
248
+ }, _black2.fill = '$$color', _black2),
249
+ white: (_white2 = {
250
+ $$color: '$colors$background'
251
+ }, _white2["." + darkTheme + " &"] = {
252
+ $$color: '$colors$foreground'
253
+ }, _white2.fill = '$$color', _white2)
254
+ }
255
+ }
256
+ });
257
+
258
+ var _excluded = ["size", "color"];
259
+ var DeleteCircleIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
260
+ var _ref$size = _ref.size,
261
+ size = _ref$size === void 0 ? 16 : _ref$size,
262
+ color = _ref.color,
263
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
264
+ return React.createElement(SvgWithStrokeColor, Object.assign({
265
+ width: size,
266
+ height: size,
267
+ viewBox: "0 0 24 24",
268
+ color: color,
269
+ fill: "none",
270
+ xmlns: "http://www.w3.org/2000/svg",
271
+ className: "_icon"
272
+ }, props), React.createElement("path", {
273
+ d: "M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM9.17 14.83l5.66-5.66M14.83 14.83 9.17 9.17",
274
+ strokeWidth: 1.5,
275
+ strokeLinecap: "round",
276
+ strokeLinejoin: "round"
277
+ }));
278
+ });
279
+ DeleteCircleIcon.toString = function () {
280
+ return '._icon';
281
+ };
282
+
283
+ var _excluded$1 = ["size", "color"];
284
+ var CheckSquareIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
285
+ var _ref$size = _ref.size,
286
+ size = _ref$size === void 0 ? 16 : _ref$size,
287
+ color = _ref.color,
288
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
289
+ return React.createElement(SvgWithStrokeColor, Object.assign({
290
+ width: size,
291
+ height: size,
292
+ viewBox: "0 0 24 24",
293
+ color: color,
294
+ fill: "none",
295
+ xmlns: "http://www.w3.org/2000/svg",
296
+ className: "_icon"
297
+ }, props), React.createElement("path", {
298
+ d: "M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z",
299
+ strokeWidth: 1.5,
300
+ strokeLinecap: "round",
301
+ strokeLinejoin: "round"
302
+ }), React.createElement("path", {
303
+ d: "m7.75 12 2.83 2.83 5.67-5.66",
304
+ strokeWidth: 1.5,
305
+ strokeLinecap: "round",
306
+ strokeLinejoin: "round"
307
+ }));
308
+ });
309
+ CheckSquareIcon.toString = function () {
310
+ return '._icon';
311
+ };
312
+
313
+ var _excluded$2 = ["size", "color"];
314
+ var AddIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
315
+ var _ref$size = _ref.size,
316
+ size = _ref$size === void 0 ? 16 : _ref$size,
317
+ color = _ref.color,
318
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
319
+ return React.createElement(SvgWithStrokeColor, Object.assign({
320
+ width: size,
321
+ height: size,
322
+ viewBox: "0 0 24 24",
323
+ color: color,
324
+ fill: "none",
325
+ xmlns: "http://www.w3.org/2000/svg",
326
+ className: "_icon"
327
+ }, props), React.createElement("path", {
328
+ d: "M6 12h12M12 18V6",
329
+ strokeWidth: 1.5,
330
+ strokeLinecap: "round",
331
+ strokeLinejoin: "round"
332
+ }));
333
+ });
334
+ AddIcon.toString = function () {
335
+ return '._icon';
336
+ };
337
+
338
+ var _excluded$3 = ["size", "color"];
339
+ var InfoCircleIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
340
+ var _ref$size = _ref.size,
341
+ size = _ref$size === void 0 ? 16 : _ref$size,
342
+ color = _ref.color,
343
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
344
+ return React.createElement(SvgWithFillColor, Object.assign({
345
+ width: size,
346
+ height: size,
347
+ viewBox: "0 0 24 24",
348
+ color: color,
349
+ fill: "none",
350
+ xmlns: "http://www.w3.org/2000/svg",
351
+ className: "_icon"
352
+ }, props), React.createElement("path", {
353
+ d: "M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM12 8v5",
354
+ strokeWidth: 2,
355
+ strokeLinecap: "round",
356
+ strokeLinejoin: "round",
357
+ stroke: "#fff"
358
+ }), React.createElement("path", {
359
+ d: "M11.994 16h.01",
360
+ strokeWidth: 2,
361
+ strokeLinecap: "round",
362
+ strokeLinejoin: "round",
363
+ stroke: "#fff"
364
+ }));
365
+ });
366
+ InfoCircleIcon.toString = function () {
367
+ return '._icon';
368
+ };
369
+
370
+ var _excluded$4 = ["size", "color"];
371
+ var AddCircleIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
372
+ var _ref$size = _ref.size,
373
+ size = _ref$size === void 0 ? 16 : _ref$size,
374
+ color = _ref.color,
375
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
376
+ return React.createElement(SvgWithStrokeColor, Object.assign({
377
+ width: size,
378
+ height: size,
379
+ viewBox: "0 0 24 24",
380
+ color: color,
381
+ fill: "none",
382
+ xmlns: "http://www.w3.org/2000/svg",
383
+ className: "_icon"
384
+ }, props), React.createElement("path", {
385
+ d: "M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM8 12h8M12 16V8",
386
+ strokeWidth: 1.5,
387
+ strokeLinecap: "round",
388
+ strokeLinejoin: "round"
389
+ }));
390
+ });
391
+ AddCircleIcon.toString = function () {
392
+ return '._icon';
393
+ };
394
+
395
+ var _excluded$5 = ["size", "color"];
396
+ var MinusCircleIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
397
+ var _ref$size = _ref.size,
398
+ size = _ref$size === void 0 ? 16 : _ref$size,
399
+ color = _ref.color,
400
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
401
+ return React.createElement(SvgWithStrokeColor, Object.assign({
402
+ width: size,
403
+ height: size,
404
+ viewBox: "0 0 24 24",
405
+ color: color,
406
+ fill: "none",
407
+ xmlns: "http://www.w3.org/2000/svg",
408
+ className: "_icon"
409
+ }, props), React.createElement("path", {
410
+ d: "M11.92 22c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10ZM7.92 12h8",
411
+ strokeWidth: 1.5,
412
+ strokeLinecap: "round",
413
+ strokeLinejoin: "round"
414
+ }));
415
+ });
416
+ MinusCircleIcon.toString = function () {
417
+ return '._icon';
418
+ };
419
+
420
+ var _excluded$6 = ["size", "color"];
421
+ var CheckCircleIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
422
+ var _ref$size = _ref.size,
423
+ size = _ref$size === void 0 ? 16 : _ref$size,
424
+ color = _ref.color,
425
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
426
+ return React.createElement(SvgWithFillColor, Object.assign({
427
+ width: size,
428
+ height: size,
429
+ viewBox: "0 0 24 24",
430
+ color: color,
431
+ fill: "none",
432
+ xmlns: "http://www.w3.org/2000/svg",
433
+ className: "_icon"
434
+ }, props), React.createElement("path", {
435
+ d: "M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10Z",
436
+ strokeWidth: 1.5,
437
+ strokeLinecap: "round",
438
+ strokeLinejoin: "round",
439
+ stroke: "#fff"
440
+ }), React.createElement("path", {
441
+ d: "m7.75 12 2.83 2.83 5.67-5.66",
442
+ strokeWidth: 1.5,
443
+ strokeLinecap: "round",
444
+ strokeLinejoin: "round",
445
+ stroke: "#fff"
446
+ }));
447
+ });
448
+ CheckCircleIcon.toString = function () {
449
+ return '._icon';
450
+ };
451
+
452
+ var _excluded$7 = ["size", "color"];
453
+ var CheckIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
454
+ var _ref$size = _ref.size,
455
+ size = _ref$size === void 0 ? 16 : _ref$size,
456
+ color = _ref.color,
457
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
458
+ return React.createElement(SvgWithFillColor, Object.assign({
459
+ width: size,
460
+ height: size,
461
+ viewBox: "0 0 15 15",
462
+ fill: "none",
463
+ xmlns: "http://www.w3.org/2000/svg",
464
+ color: color,
465
+ className: "_icon"
466
+ }, props), React.createElement("path", {
467
+ d: "M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",
468
+ fillRule: "evenodd",
469
+ clipRule: "evenodd"
470
+ }));
471
+ });
472
+ CheckIcon.toString = function () {
473
+ return '._icon';
474
+ };
475
+
476
+ var _excluded$8 = ["size", "color"];
477
+ var BanIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
478
+ var _ref$size = _ref.size,
479
+ size = _ref$size === void 0 ? 16 : _ref$size,
480
+ color = _ref.color,
481
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
482
+ return React.createElement(SvgWithStrokeColor, Object.assign({
483
+ width: size,
484
+ height: size,
485
+ viewBox: "0 0 24 24",
486
+ color: color,
487
+ fill: "none",
488
+ xmlns: "http://www.w3.org/2000/svg",
489
+ className: "_icon"
490
+ }, props), React.createElement("path", {
491
+ d: "M12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10ZM18.9 5l-14 14",
492
+ strokeWidth: 1.5,
493
+ strokeMiterlimit: 10,
494
+ strokeLinecap: "round",
495
+ strokeLinejoin: "round"
496
+ }));
497
+ });
498
+ BanIcon.toString = function () {
499
+ return '._icon';
500
+ };
501
+
502
+ var _excluded$9 = ["size", "color"];
503
+ var WarningIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
504
+ var _ref$size = _ref.size,
505
+ size = _ref$size === void 0 ? 16 : _ref$size,
506
+ color = _ref.color,
507
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
508
+ return React.createElement(SvgWithStrokeColor, Object.assign({
509
+ width: size,
510
+ height: size,
511
+ viewBox: "0 0 24 24",
512
+ color: color,
513
+ fill: "none",
514
+ xmlns: "http://www.w3.org/2000/svg",
515
+ className: "_icon"
516
+ }, props), React.createElement("path", {
517
+ d: "M12 9v5M12 21.41H5.94c-3.47 0-4.92-2.48-3.24-5.51l3.12-5.62L8.76 5c1.78-3.21 4.7-3.21 6.48 0l2.94 5.29 3.12 5.62c1.68 3.03.22 5.51-3.24 5.51H12v-.01Z",
518
+ strokeWidth: 1.5,
519
+ strokeLinecap: "round",
520
+ strokeLinejoin: "round"
521
+ }), React.createElement("path", {
522
+ d: "M11.994 17h.01",
523
+ strokeWidth: 2,
524
+ strokeLinecap: "round",
525
+ strokeLinejoin: "round"
526
+ }));
527
+ });
528
+ WarningIcon.toString = function () {
529
+ return '._icon';
530
+ };
531
+
532
+ var _excluded$a = ["size", "color"];
533
+ var HistoryIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
534
+ var _ref$size = _ref.size,
535
+ size = _ref$size === void 0 ? 16 : _ref$size,
536
+ color = _ref.color,
537
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
538
+ return React.createElement(SvgWithFillColor, Object.assign({
539
+ width: size,
540
+ height: size,
541
+ viewBox: "0 0 24 24",
542
+ color: color,
543
+ fill: "none",
544
+ xmlns: "http://www.w3.org/2000/svg",
545
+ className: "_icon"
546
+ }, props), React.createElement("path", {
547
+ fillRule: "evenodd",
548
+ clipRule: "evenodd",
549
+ d: "M16.767 1.5c-.7.002-1.267.57-1.267 1.26V9h2.67c.63 0 1.07-.196 1.352-.478C19.804 8.24 20 7.8 20 7.17V4.75c0-.89-.363-1.704-.952-2.301a3.27 3.27 0 0 0-2.281-.949ZM14 2.76C14 1.23 15.25 0 16.77 0h.007a4.77 4.77 0 0 1 3.333 1.39l.004.003A4.775 4.775 0 0 1 21.5 4.75v2.42c0 .95-.304 1.8-.917 2.413-.613.613-1.462.917-2.413.917h-3.42a.75.75 0 0 1-.75-.75V2.76Z"
550
+ }), React.createElement("path", {
551
+ fillRule: "evenodd",
552
+ clipRule: "evenodd",
553
+ d: "M1.057 1.431C1.862.5 3.097 0 4.75 0h12a.75.75 0 0 1 0 1.5c-.686 0-1.25.564-1.25 1.25v17c0 1.442-1.646 2.256-2.797 1.402l-.002-.002-1.718-1.285a.242.242 0 0 0-.313.025l-1.68 1.68a1.758 1.758 0 0 1-2.48 0l-.002-.001L4.85 19.9a.258.258 0 0 0-.34-.03l-1.707 1.278-.002.001C1.643 22.024 0 21.193 0 19.75v-15c0-1.203.27-2.408 1.057-3.319Zm13.245.069H4.75c-1.346 0-2.112.396-2.557.911C1.73 2.948 1.5 3.743 1.5 4.75v15c0 .216.235.325.397.202l.004-.002 1.709-1.28a1.757 1.757 0 0 1 2.3.17l.002.001L7.57 20.51a.259.259 0 0 0 .36 0l1.68-1.68c.61-.61 1.59-.688 2.283-.158l1.704 1.276c.17.125.403 0 .403-.198v-17c0-.45.109-.875.302-1.25Z"
554
+ }), React.createElement("path", {
555
+ fillRule: "evenodd",
556
+ clipRule: "evenodd",
557
+ d: "M4 7.75A.75.75 0 0 1 4.75 7h6a.75.75 0 0 1 0 1.5h-6A.75.75 0 0 1 4 7.75ZM4.75 11.75A.75.75 0 0 1 5.5 11H10a.75.75 0 0 1 0 1.5H5.5a.75.75 0 0 1-.75-.75Z"
558
+ }));
559
+ });
560
+ HistoryIcon.toString = function () {
561
+ return '._icon';
562
+ };
563
+
564
+ var _excluded$b = ["size", "color"];
565
+ var GasIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
566
+ var _ref$size = _ref.size,
567
+ size = _ref$size === void 0 ? 16 : _ref$size,
568
+ color = _ref.color,
569
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$b);
570
+ return React.createElement(SvgWithStrokeColor, Object.assign({
571
+ width: size,
572
+ height: size,
573
+ viewBox: "0 0 24 24",
574
+ color: color,
575
+ fill: "none",
576
+ xmlns: "http://www.w3.org/2000/svg",
577
+ className: "_icon"
578
+ }, props), React.createElement("path", {
579
+ d: "M4 22V5c0-2 1.34-3 3-3h8c1.66 0 3 1 3 3v17H4ZM2.5 22h17",
580
+ strokeWidth: 1.5,
581
+ strokeLinecap: "round",
582
+ strokeLinejoin: "round"
583
+ }), React.createElement("path", {
584
+ d: "M8.89 10h4.23c1.04 0 1.89-.5 1.89-1.89V6.88c0-1.39-.85-1.89-1.89-1.89H8.89C7.85 4.99 7 5.49 7 6.88v1.23C7 9.5 7.85 10 8.89 10ZM7 13h3M18 16.01l4.5-.01v-6l-2-1",
585
+ strokeWidth: 1.5,
586
+ strokeLinecap: "round",
587
+ strokeLinejoin: "round"
588
+ }));
589
+ });
590
+ GasIcon.toString = function () {
591
+ return '._icon';
592
+ };
593
+
594
+ var _excluded$c = ["size", "color"];
595
+ var SettingsIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
596
+ var _ref$size = _ref.size,
597
+ size = _ref$size === void 0 ? 16 : _ref$size,
598
+ color = _ref.color,
599
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
600
+ return React.createElement(SvgWithStrokeColor, Object.assign({
601
+ width: size,
602
+ height: size,
603
+ viewBox: "0 0 24 24",
604
+ color: color,
605
+ fill: "none",
606
+ xmlns: "http://www.w3.org/2000/svg",
607
+ className: "_icon"
608
+ }, props), React.createElement("path", {
609
+ d: "M12.5 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",
610
+ strokeWidth: 1.5,
611
+ strokeMiterlimit: 10,
612
+ strokeLinecap: "round",
613
+ strokeLinejoin: "round"
614
+ }), React.createElement("path", {
615
+ d: "M2.5 12.88v-1.76c0-1.04.85-1.9 1.9-1.9 1.81 0 2.55-1.28 1.64-2.85-.52-.9-.21-2.07.7-2.59l1.73-.99c.79-.47 1.81-.19 2.28.6l.11.19c.9 1.57 2.38 1.57 3.29 0l.11-.19c.47-.79 1.49-1.07 2.28-.6l1.73.99c.91.52 1.22 1.69.7 2.59-.91 1.57-.17 2.85 1.64 2.85 1.04 0 1.9.85 1.9 1.9v1.76c0 1.04-.85 1.9-1.9 1.9-1.81 0-2.55 1.28-1.64 2.85.52.91.21 2.07-.7 2.59l-1.73.99c-.79.47-1.81.19-2.28-.6l-.11-.19c-.9-1.57-2.38-1.57-3.29 0l-.11.19c-.47.79-1.49 1.07-2.28.6l-1.73-.99a1.899 1.899 0 0 1-.7-2.59c.91-1.57.17-2.85-1.64-2.85-1.05 0-1.9-.86-1.9-1.9Z",
616
+ strokeWidth: 1.5,
617
+ strokeMiterlimit: 10,
618
+ strokeLinecap: "round",
619
+ strokeLinejoin: "round"
620
+ }));
621
+ });
622
+ SettingsIcon.toString = function () {
623
+ return '._icon';
624
+ };
625
+
626
+ var _excluded$d = ["size", "color"];
627
+ var TrashIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
628
+ var _ref$size = _ref.size,
629
+ size = _ref$size === void 0 ? 16 : _ref$size,
630
+ color = _ref.color,
631
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
632
+ return React.createElement(SvgWithStrokeColor, Object.assign({
633
+ width: size,
634
+ height: size,
635
+ viewBox: "0 0 24 24",
636
+ color: color,
637
+ fill: "none",
638
+ xmlns: "http://www.w3.org/2000/svg",
639
+ className: "_icon"
640
+ }, props), React.createElement("path", {
641
+ d: "M21.5 5.98c-3.33-.33-6.68-.5-10.02-.5-1.98 0-3.96.1-5.94.3l-2.04.2M9 4.97l.22-1.31C9.38 2.71 9.5 2 11.19 2h2.62c1.69 0 1.82.75 1.97 1.67l.22 1.3M19.35 9.14l-.65 10.07c-.11 1.57-.2 2.79-2.99 2.79H9.29c-2.79 0-2.88-1.22-2.99-2.79L5.65 9.14M10.83 16.5h3.33M10 12.5h5",
642
+ strokeWidth: 1.5,
643
+ strokeLinecap: "round",
644
+ strokeLinejoin: "round"
645
+ }));
646
+ });
647
+ TrashIcon.toString = function () {
648
+ return '._icon';
649
+ };
650
+
651
+ var _excluded$e = ["size", "color"];
652
+ var SearchMinusIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
653
+ var _ref$size = _ref.size,
654
+ size = _ref$size === void 0 ? 16 : _ref$size,
655
+ color = _ref.color,
656
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
657
+ return React.createElement(SvgWithStrokeColor, Object.assign({
658
+ width: size,
659
+ height: size,
660
+ viewBox: "0 0 24 24",
661
+ color: color,
662
+ fill: "none",
663
+ xmlns: "http://www.w3.org/2000/svg",
664
+ className: "_icon"
665
+ }, props), React.createElement("path", {
666
+ d: "M9 11.7h5M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2",
667
+ strokeWidth: 1.5,
668
+ strokeLinecap: "round",
669
+ strokeLinejoin: "round"
670
+ }));
671
+ });
672
+ SearchMinusIcon.toString = function () {
673
+ return '._icon';
674
+ };
675
+
676
+ var _excluded$f = ["size", "color"];
677
+ var SearchIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
678
+ var _ref$size = _ref.size,
679
+ size = _ref$size === void 0 ? 16 : _ref$size,
680
+ color = _ref.color,
681
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$f);
682
+ return React.createElement(SvgWithStrokeColor, Object.assign({
683
+ width: size,
684
+ height: size,
685
+ viewBox: "0 0 24 24",
686
+ color: color,
687
+ fill: "none",
688
+ xmlns: "http://www.w3.org/2000/svg",
689
+ className: "_icon"
690
+ }, props), React.createElement("path", {
691
+ d: "M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2",
692
+ strokeWidth: 1.5,
693
+ strokeLinecap: "round",
694
+ strokeLinejoin: "round"
695
+ }));
696
+ });
697
+ SearchIcon.toString = function () {
698
+ return '._icon';
699
+ };
700
+
701
+ var _excluded$g = ["size", "color"];
702
+ var AngleRightIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
703
+ var _ref$size = _ref.size,
704
+ size = _ref$size === void 0 ? 16 : _ref$size,
705
+ color = _ref.color,
706
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$g);
707
+ return React.createElement(SvgWithStrokeColor, Object.assign({
708
+ width: size,
709
+ height: size,
710
+ fill: "none",
711
+ xmlns: "http://www.w3.org/2000/svg",
712
+ viewBox: "0 0 24 24",
713
+ color: color,
714
+ className: "_icon"
715
+ }, props), React.createElement("path", {
716
+ d: "m8.91 19.92 6.52-6.52c.77-.77.77-2.03 0-2.8L8.91 4.08",
717
+ strokeWidth: 1.5,
718
+ strokeMiterlimit: 10,
719
+ strokeLinecap: "round",
720
+ strokeLinejoin: "round"
721
+ }));
722
+ });
723
+ AngleRightIcon.toString = function () {
724
+ return '._icon';
725
+ };
726
+
727
+ var _excluded$h = ["size", "color"];
728
+ var AngleUpIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
729
+ var _ref$size = _ref.size,
730
+ size = _ref$size === void 0 ? 16 : _ref$size,
731
+ color = _ref.color,
732
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
733
+ return React.createElement(SvgWithStrokeColor, Object.assign({
734
+ width: size,
735
+ height: size,
736
+ fill: "none",
737
+ xmlns: "http://www.w3.org/2000/svg",
738
+ viewBox: "0 0 24 24",
739
+ color: color,
740
+ className: "_icon"
741
+ }, props), React.createElement("path", {
742
+ d: "M19.92 15.05 13.4 8.53c-.77-.77-2.03-.77-2.8 0l-6.52 6.52",
743
+ strokeWidth: 1.5,
744
+ strokeMiterlimit: 10,
745
+ strokeLinecap: "round",
746
+ strokeLinejoin: "round"
747
+ }));
748
+ });
749
+ AngleUpIcon.toString = function () {
750
+ return '._icon';
751
+ };
752
+
753
+ var _excluded$i = ["size", "color"];
754
+ var AngleDownIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
755
+ var _ref$size = _ref.size,
756
+ size = _ref$size === void 0 ? 16 : _ref$size,
757
+ color = _ref.color,
758
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
759
+ return React.createElement(SvgWithStrokeColor, Object.assign({
760
+ width: size,
761
+ height: size,
762
+ viewBox: "0 0 24 24",
763
+ color: color,
764
+ fill: "none",
765
+ xmlns: "http://www.w3.org/2000/svg",
766
+ className: "_icon"
767
+ }, props), React.createElement("path", {
768
+ d: "m19.92 8.95-6.52 6.52c-.77.77-2.03.77-2.8 0L4.08 8.95",
769
+ strokeWidth: 1.5,
770
+ strokeMiterlimit: 10,
771
+ strokeLinecap: "round",
772
+ strokeLinejoin: "round"
773
+ }));
774
+ });
775
+ AngleDownIcon.toString = function () {
776
+ return '._icon';
777
+ };
778
+
779
+ var _excluded$j = ["size", "color"];
780
+ var AngleLeftIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
781
+ var _ref$size = _ref.size,
782
+ size = _ref$size === void 0 ? 16 : _ref$size,
783
+ color = _ref.color,
784
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$j);
785
+ return React.createElement(SvgWithStrokeColor, Object.assign({
786
+ width: size,
787
+ height: size,
788
+ fill: "none",
789
+ viewBox: "0 0 24 24",
790
+ color: color,
791
+ xmlns: "http://www.w3.org/2000/svg",
792
+ className: "_icon"
793
+ }, props), React.createElement("path", {
794
+ d: "M15 19.92 8.48 13.4c-.77-.77-.77-2.03 0-2.8L15 4.08",
795
+ strokeWidth: 1.5,
796
+ strokeMiterlimit: 10,
797
+ strokeLinecap: "round",
798
+ strokeLinejoin: "round"
799
+ }));
800
+ });
801
+ AngleDownIcon.toString = function () {
802
+ return '._icon';
803
+ };
804
+
805
+ var _excluded$k = ["size", "color"];
806
+ var DownloadIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
807
+ var _ref$size = _ref.size,
808
+ size = _ref$size === void 0 ? 16 : _ref$size,
809
+ color = _ref.color,
810
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$k);
811
+ return React.createElement(SvgWithStrokeColor, Object.assign({
812
+ width: size,
813
+ height: size,
814
+ viewBox: "0 0 24 24",
815
+ color: color,
816
+ fill: "none",
817
+ xmlns: "http://www.w3.org/2000/svg",
818
+ className: "_icon"
819
+ }, props), React.createElement("path", {
820
+ d: "M16.44 8.9c3.6.31 5.07 2.16 5.07 6.21v.13c0 4.47-1.79 6.26-6.26 6.26H8.74c-4.47 0-6.26-1.79-6.26-6.26v-.13c0-4.02 1.45-5.87 4.99-6.2M12 2v12.88",
821
+ strokeWidth: 1.5,
822
+ strokeLinecap: "round",
823
+ strokeLinejoin: "round"
824
+ }), React.createElement("path", {
825
+ d: "M15.35 12.65 12 16l-3.35-3.35",
826
+ strokeWidth: 1.5,
827
+ strokeLinecap: "round",
828
+ strokeLinejoin: "round"
829
+ }));
830
+ });
831
+ DownloadIcon.toString = function () {
832
+ return '._icon';
833
+ };
834
+
835
+ var _excluded$l = ["size", "color"];
836
+ var RetryRightIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
837
+ var _ref$size = _ref.size,
838
+ size = _ref$size === void 0 ? 16 : _ref$size,
839
+ color = _ref.color,
840
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$l);
841
+ return React.createElement(SvgWithStrokeColor, Object.assign({
842
+ width: size,
843
+ height: size,
844
+ viewBox: "0 0 24 24",
845
+ color: color,
846
+ fill: "none",
847
+ xmlns: "http://www.w3.org/2000/svg",
848
+ className: "_icon"
849
+ }, props), React.createElement("path", {
850
+ d: "M14.89 5.08c-.87-.26-1.83-.43-2.89-.43-4.79 0-8.67 3.88-8.67 8.67C3.33 18.12 7.21 22 12 22s8.67-3.88 8.67-8.67c0-1.78-.54-3.44-1.46-4.82M16.13 5.32 13.24 2M16.13 5.32l-3.37 2.46",
851
+ strokeWidth: 1.5,
852
+ strokeLinecap: "round",
853
+ strokeLinejoin: "round"
854
+ }));
855
+ });
856
+ RetryRightIcon.toString = function () {
857
+ return '._icon';
858
+ };
859
+
860
+ var _excluded$m = ["size", "color"];
861
+ var RetryLeftIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
862
+ var _ref$size = _ref.size,
863
+ size = _ref$size === void 0 ? 16 : _ref$size,
864
+ color = _ref.color,
865
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$m);
866
+ return React.createElement(SvgWithStrokeColor, Object.assign({
867
+ width: size,
868
+ height: size,
869
+ viewBox: "0 0 24 24",
870
+ color: color,
871
+ fill: "none",
872
+ xmlns: "http://www.w3.org/2000/svg",
873
+ className: "_icon"
874
+ }, props), React.createElement("path", {
875
+ d: "M9.11 5.08c.87-.26 1.83-.43 2.89-.43 4.79 0 8.67 3.88 8.67 8.67s-3.88 8.67-8.67 8.67-8.67-3.88-8.67-8.67c0-1.78.54-3.44 1.46-4.82M7.87 5.32 10.76 2M7.87 5.32l3.37 2.46",
876
+ strokeWidth: 1.5,
877
+ strokeLinecap: "round",
878
+ strokeLinejoin: "round"
879
+ }));
880
+ });
881
+ RetryLeftIcon.toString = function () {
882
+ return '._icon';
883
+ };
884
+
885
+ var _excluded$n = ["size", "color"];
886
+ var TryAgainIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
887
+ var _ref$size = _ref.size,
888
+ size = _ref$size === void 0 ? 16 : _ref$size,
889
+ color = _ref.color,
890
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
891
+ return React.createElement(SvgWithStrokeColor, Object.assign({
892
+ width: size,
893
+ height: size,
894
+ viewBox: "0 0 24 24",
895
+ color: color,
896
+ fill: "none",
897
+ xmlns: "http://www.w3.org/2000/svg",
898
+ className: "_icon"
899
+ }, props), React.createElement("path", {
900
+ d: "M22 12c0 5.52-4.48 10-10 10s-8.89-5.56-8.89-5.56m0 0h4.52m-4.52 0v5M2 12C2 6.48 6.44 2 12 2c6.67 0 10 5.56 10 5.56m0 0v-5m0 5h-4.44",
901
+ strokeWidth: 1.5,
902
+ strokeLinecap: "round",
903
+ strokeLinejoin: "round"
904
+ }));
905
+ });
906
+ TryAgainIcon.toString = function () {
907
+ return '._icon';
908
+ };
909
+
910
+ var _excluded$o = ["size", "color"];
911
+ var VerticalSwapIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
912
+ var _ref$size = _ref.size,
913
+ size = _ref$size === void 0 ? 16 : _ref$size,
914
+ color = _ref.color,
915
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$o);
916
+ return React.createElement(SvgWithStrokeColor, Object.assign({
917
+ width: size,
918
+ height: size,
919
+ viewBox: "0 0 24 24",
920
+ color: color,
921
+ fill: "none",
922
+ xmlns: "http://www.w3.org/2000/svg",
923
+ className: "_icon"
924
+ }, props), React.createElement("path", {
925
+ d: "m13.82 6.85 3.04 3.04M13.82 17.15V6.85M10.18 17.15l-3.04-3.04M10.18 6.85v10.3",
926
+ strokeWidth: 1.5,
927
+ strokeMiterlimit: 10,
928
+ strokeLinecap: "round",
929
+ strokeLinejoin: "round"
930
+ }), React.createElement("path", {
931
+ d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z",
932
+ strokeWidth: 1.5,
933
+ strokeLinecap: "round",
934
+ strokeLinejoin: "round"
935
+ }));
936
+ });
937
+ VerticalSwapIcon.toString = function () {
938
+ return '._icon';
939
+ };
940
+
941
+ var _excluded$p = ["size", "color"];
942
+ var HorizontalSwapIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
943
+ var _ref$size = _ref.size,
944
+ size = _ref$size === void 0 ? 16 : _ref$size,
945
+ color = _ref.color,
946
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$p);
947
+ return React.createElement(SvgWithStrokeColor, Object.assign({
948
+ width: size,
949
+ height: size,
950
+ viewBox: "0 0 24 24",
951
+ color: color,
952
+ fill: "none",
953
+ xmlns: "http://www.w3.org/2000/svg",
954
+ className: "_icon"
955
+ }, props), React.createElement("path", {
956
+ d: "m17.15 13.82-3.04 3.04M6.85 13.82h10.3M6.85 10.18l3.04-3.04M17.15 10.18H6.85",
957
+ strokeWidth: 1.5,
958
+ strokeMiterlimit: 10,
959
+ strokeLinecap: "round",
960
+ strokeLinejoin: "round"
961
+ }), React.createElement("path", {
962
+ d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z",
963
+ strokeWidth: 1.5,
964
+ strokeLinecap: "round",
965
+ strokeLinejoin: "round"
966
+ }));
967
+ });
968
+ HorizontalSwapIcon.toString = function () {
969
+ return '._icon';
970
+ };
971
+
972
+ var _excluded$q = ["color", "size"];
973
+ var RetryIcon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
974
+ var color = _ref.color,
975
+ _ref$size = _ref.size,
976
+ size = _ref$size === void 0 ? 16 : _ref$size,
977
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$q);
978
+ return React.createElement(SvgWithFillColor, Object.assign({
979
+ width: size,
980
+ height: size,
981
+ fill: "none",
982
+ xmlns: "http://www.w3.org/2000/svg",
983
+ viewBox: "0 0 24 24",
984
+ color: color,
985
+ className: "_icon"
986
+ }, props, {
987
+ ref: forwardedRef
988
+ }), React.createElement("path", {
989
+ fillRule: "evenodd",
990
+ clipRule: "evenodd",
991
+ d: "M17.016 13.45c.199-.384.002-.842-.397-1.005-.406-.166-.864.033-1.077.416A6.17 6.17 0 0 1 13 15.345a6.051 6.051 0 0 1-4.244.513 6.127 6.127 0 0 1-3.543-2.425 6.286 6.286 0 0 1 .73-8.095A6.089 6.089 0 0 1 9.86 3.604a6.07 6.07 0 0 1 4.083 1.286 6.196 6.196 0 0 1 1.65 1.97l-1.053.363a.302.302 0 0 0-.073.534l2.607 1.758a.3.3 0 0 0 .45-.155l1.01-3.007a.298.298 0 0 0-.38-.378l-1.057.365a7.79 7.79 0 0 0-2.194-2.713 7.627 7.627 0 0 0-5.13-1.615A7.65 7.65 0 0 0 4.852 4.19a7.898 7.898 0 0 0-.917 10.17 7.7 7.7 0 0 0 4.452 3.048 7.604 7.604 0 0 0 5.333-.644 7.757 7.757 0 0 0 3.297-3.315Z",
992
+ fill: color
993
+ }));
994
+ });
995
+ RetryIcon.toString = function () {
996
+ return '._icon';
997
+ };
998
+
999
+ var _excluded$r = ["size", "color"];
1000
+ var WalletIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1001
+ var _ref$size = _ref.size,
1002
+ size = _ref$size === void 0 ? 16 : _ref$size,
1003
+ color = _ref.color,
1004
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$r);
1005
+ return React.createElement(SvgWithFillColor, Object.assign({
1006
+ width: size,
1007
+ height: size,
1008
+ viewBox: "0 0 24 24",
1009
+ color: color,
1010
+ fill: "none",
1011
+ xmlns: "http://www.w3.org/2000/svg",
1012
+ className: "_icon"
1013
+ }, props), React.createElement("path", {
1014
+ fillRule: "evenodd",
1015
+ clipRule: "evenodd",
1016
+ d: "M4.51 7.205a3.018 3.018 0 0 0-3.01 3.01v6.73a3.018 3.018 0 0 0 3.01 3.01h11.48a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.971-.82H19v-.69a3.018 3.018 0 0 0-3.01-3.01H4.51ZM0 10.215a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H4.51A4.518 4.518 0 0 1 0 16.945v-6.73Z"
1017
+ }), React.createElement("path", {
1018
+ fillRule: "evenodd",
1019
+ clipRule: "evenodd",
1020
+ d: "M12.35 2.655a1.15 1.15 0 0 0-1.554-1.079l-7.94 3A2.098 2.098 0 0 0 1.5 6.547v4.569a.75.75 0 1 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3s-.001 0 0 0c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM17.729 12.405c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.759 2.759 0 0 1 .816-2.227Z"
1021
+ }), React.createElement("path", {
1022
+ fillRule: "evenodd",
1023
+ clipRule: "evenodd",
1024
+ d: "M4.5 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Z"
1025
+ }));
1026
+ });
1027
+ WalletIcon.toString = function () {
1028
+ return '._icon';
1029
+ };
1030
+
1031
+ var _excluded$s = ["size", "color"];
1032
+ var AddWalletIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1033
+ var _ref$size = _ref.size,
1034
+ size = _ref$size === void 0 ? 16 : _ref$size,
1035
+ color = _ref.color,
1036
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$s);
1037
+ return React.createElement(SvgWithFillColor, Object.assign({
1038
+ width: size,
1039
+ height: size,
1040
+ viewBox: "0 0 24 24",
1041
+ color: color,
1042
+ fill: "none",
1043
+ xmlns: "http://www.w3.org/2000/svg",
1044
+ className: "_icon"
1045
+ }, props), React.createElement("path", {
1046
+ fillRule: "evenodd",
1047
+ clipRule: "evenodd",
1048
+ d: "M6.569 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.206 1.579-.574 2.25h8.564a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.569Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.014.014c-.266.26-.414.63-.377 1.022l.001.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H7.939a.75.75 0 0 1-.482-1.324c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-5.283-2.533.75.75 0 0 1-1.217-.587v-4.37Z"
1049
+ }), React.createElement("path", {
1050
+ fillRule: "evenodd",
1051
+ clipRule: "evenodd",
1052
+ d: "M14.409 2.655a1.15 1.15 0 0 0-1.555-1.078l-7.94 3a2.098 2.098 0 0 0-1.355 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.921-2.84 2.324-3.371l7.94-3c1.733-.657 3.586.629 3.586 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.787 12.405c-.359 0-.674.14-.902.374l-.014.013c-.266.26-.414.63-.377 1.022v.01c.054.634.664 1.181 1.413 1.181h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.777-1.03-2.907-2.553a2.759 2.759 0 0 1 .817-2.227Z"
1053
+ }), React.createElement("path", {
1054
+ fillRule: "evenodd",
1055
+ clipRule: "evenodd",
1056
+ d: "M6.559 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.309 14.455c-.762 0-1.469.267-2.033.717h-.001a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.184.468 1.667l.006.01a3.22 3.22 0 0 0 2.776 1.573 3.155 3.155 0 0 0 2.148-.824c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-3.25-3.25Zm-2.967-.457a4.749 4.749 0 0 1 7.717 3.707c0 .888-.248 1.73-.687 2.446-.25.427-.57.808-.941 1.12a4.656 4.656 0 0 1-3.122 1.184 4.72 4.72 0 0 1-4.062-2.301 4.671 4.671 0 0 1-.688-2.449 4.72 4.72 0 0 1 1.783-3.707Z"
1057
+ }), React.createElement("path", {
1058
+ fillRule: "evenodd",
1059
+ clipRule: "evenodd",
1060
+ d: "M3.07 17.685a.75.75 0 0 1 .75-.75H6.8a.75.75 0 0 1 0 1.5H3.82a.75.75 0 0 1-.75-.75Z"
1061
+ }), React.createElement("path", {
1062
+ fillRule: "evenodd",
1063
+ clipRule: "evenodd",
1064
+ d: "M5.309 15.475a.75.75 0 0 1 .75.75v2.99a.75.75 0 0 1-1.5 0v-2.99a.75.75 0 0 1 .75-.75Z"
1065
+ }));
1066
+ });
1067
+ AddWalletIcon.toString = function () {
1068
+ return '._icon';
1069
+ };
1070
+
1071
+ var _excluded$t = ["size", "color"];
1072
+ var DeleteWalletIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1073
+ var _ref$size = _ref.size,
1074
+ size = _ref$size === void 0 ? 16 : _ref$size,
1075
+ color = _ref.color,
1076
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$t);
1077
+ return React.createElement(SvgWithFillColor, Object.assign({
1078
+ width: size,
1079
+ height: size,
1080
+ viewBox: "0 0 24 24",
1081
+ color: color,
1082
+ fill: "none",
1083
+ xmlns: "http://www.w3.org/2000/svg",
1084
+ className: "_icon"
1085
+ }, props), React.createElement("path", {
1086
+ fillRule: "evenodd",
1087
+ clipRule: "evenodd",
1088
+ d: "M6.627 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.205 1.579-.573 2.25h8.563a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.777-1.03-2.907-2.553a2.759 2.759 0 0 1 .817-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.627Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.359 0-.675.14-.902.373l-.014.014c-.266.26-.415.63-.377 1.022v.009c.054.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H7.997a.75.75 0 0 1-.482-1.325c.243-.203.457-.456.624-.743l.01-.016a3.17 3.17 0 0 0 .468-1.666 3.249 3.249 0 0 0-5.282-2.533.75.75 0 0 1-1.218-.587v-4.37Z"
1089
+ }), React.createElement("path", {
1090
+ fillRule: "evenodd",
1091
+ clipRule: "evenodd",
1092
+ d: "M14.467 2.655a1.15 1.15 0 0 0-1.554-1.079l-7.94 3a2.098 2.098 0 0 0-1.356 1.97v4.569a.75.75 0 1 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.846 12.405c-.359 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.759 2.759 0 0 1 .816-2.227Z"
1093
+ }), React.createElement("path", {
1094
+ fillRule: "evenodd",
1095
+ clipRule: "evenodd",
1096
+ d: "M6.617 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.367 14.455c-.761 0-1.468.267-2.032.717h-.002a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.183.469 1.666l.006.01a3.22 3.22 0 0 0 2.775 1.574 3.155 3.155 0 0 0 2.148-.825c.243-.203.457-.456.624-.743l.01-.016a3.17 3.17 0 0 0 .468-1.666 3.249 3.249 0 0 0-3.25-3.25ZM2.4 13.998a4.749 4.749 0 0 1 7.717 3.707 4.67 4.67 0 0 1-.687 2.446c-.25.427-.57.808-.94 1.12a4.655 4.655 0 0 1-3.123 1.184 4.72 4.72 0 0 1-4.061-2.301 4.67 4.67 0 0 1-.689-2.449A4.72 4.72 0 0 1 2.4 13.998Z"
1097
+ }), React.createElement("path", {
1098
+ fillRule: "evenodd",
1099
+ clipRule: "evenodd",
1100
+ d: "M3.785 16.106a.75.75 0 0 1 1.06-.003l2.12 2.11a.75.75 0 1 1-1.058 1.064l-2.12-2.11a.75.75 0 0 1-.002-1.061Z"
1101
+ }), React.createElement("path", {
1102
+ fillRule: "evenodd",
1103
+ clipRule: "evenodd",
1104
+ d: "M6.948 16.136a.75.75 0 0 1-.002 1.06l-2.12 2.11a.75.75 0 0 1-1.058-1.063l2.12-2.11a.75.75 0 0 1 1.06.003Z"
1105
+ }));
1106
+ });
1107
+ DeleteWalletIcon.toString = function () {
1108
+ return '._icon';
1109
+ };
1110
+
1111
+ var _excluded$u = ["size", "color"];
1112
+ var CheckWalletIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1113
+ var _ref$size = _ref.size,
1114
+ size = _ref$size === void 0 ? 16 : _ref$size,
1115
+ color = _ref.color,
1116
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$u);
1117
+ return React.createElement(SvgWithFillColor, Object.assign({
1118
+ width: size,
1119
+ height: size,
1120
+ viewBox: "0 0 24 24",
1121
+ color: color,
1122
+ fill: "none",
1123
+ xmlns: "http://www.w3.org/2000/svg",
1124
+ className: "_icon"
1125
+ }, props), React.createElement("path", {
1126
+ fillRule: "evenodd",
1127
+ clipRule: "evenodd",
1128
+ d: "M6.686 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.205 1.579-.573 2.25h8.563a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.686Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.378 1.022l.001.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H8.056a.75.75 0 0 1-.482-1.324c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-5.283-2.533.75.75 0 0 1-1.217-.587v-4.37Z"
1129
+ }), React.createElement("path", {
1130
+ fillRule: "evenodd",
1131
+ clipRule: "evenodd",
1132
+ d: "M14.526 2.655a1.15 1.15 0 0 0-1.554-1.078l-7.94 3a2.098 2.098 0 0 0-1.356 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.921-2.84 2.324-3.371l7.94-3c1.733-.657 3.586.629 3.586 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.905 12.405c-.36 0-.675.14-.903.374l-.014.013c-.265.26-.414.63-.377 1.022l.001.01c.053.634.664 1.181 1.413 1.181h1.942a.276.276 0 0 0 .268-.27v-2.06a.276.276 0 0 0-.268-.27h-2.062Zm-1.971-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.724 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227Z"
1133
+ }), React.createElement("path", {
1134
+ fillRule: "evenodd",
1135
+ clipRule: "evenodd",
1136
+ d: "M6.676 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.426 14.455c-.762 0-1.469.267-2.033.717h-.001a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.184.468 1.667l.006.01a3.22 3.22 0 0 0 2.776 1.573 3.155 3.155 0 0 0 2.148-.824c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-3.25-3.25Zm-2.967-.457a4.749 4.749 0 0 1 7.717 3.707c0 .888-.248 1.73-.687 2.446-.25.427-.57.808-.941 1.12a4.656 4.656 0 0 1-3.122 1.184 4.72 4.72 0 0 1-4.062-2.301 4.671 4.671 0 0 1-.688-2.449 4.72 4.72 0 0 1 1.783-3.707Z"
1137
+ }), React.createElement("path", {
1138
+ fillRule: "evenodd",
1139
+ clipRule: "evenodd",
1140
+ d: "M7.538 16.215a.75.75 0 0 1-.042 1.06l-2.13 1.97a.75.75 0 0 1-1.04-.02l-.99-.99a.75.75 0 1 1 1.062-1.06l.48.48 1.6-1.48a.75.75 0 0 1 1.06.04Z"
1141
+ }));
1142
+ });
1143
+ CheckWalletIcon.toString = function () {
1144
+ return '._icon';
1145
+ };
1146
+
1147
+ var _excluded$v = ["size", "color"];
1148
+ var SwapWalletIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1149
+ var _ref$size = _ref.size,
1150
+ size = _ref$size === void 0 ? 16 : _ref$size,
1151
+ color = _ref.color,
1152
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$v);
1153
+ return React.createElement(SvgWithFillColor, Object.assign({
1154
+ width: size,
1155
+ height: size,
1156
+ viewBox: "0 0 24 24",
1157
+ color: color,
1158
+ fill: "none",
1159
+ xmlns: "http://www.w3.org/2000/svg",
1160
+ className: "_icon"
1161
+ }, props), React.createElement("path", {
1162
+ fillRule: "evenodd",
1163
+ clipRule: "evenodd",
1164
+ d: "M5.244 7.205a3.018 3.018 0 0 0-3.01 3.01v1.73a.75.75 0 0 1-1.5 0v-1.73a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.359 0-.674.14-.902.373l-.014.014c-.266.26-.414.63-.377 1.022v.009c.054.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51h-5.48a.75.75 0 0 1 0-1.5h5.48a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.777-1.03-2.907-2.553a2.758 2.758 0 0 1 .817-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H5.244Z"
1165
+ }), React.createElement("path", {
1166
+ fillRule: "evenodd",
1167
+ clipRule: "evenodd",
1168
+ d: "M13.084 2.655a1.15 1.15 0 0 0-1.554-1.078l-7.94 3a2.098 2.098 0 0 0-1.356 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM18.463 12.405c-.359 0-.675.14-.902.374l-.014.013c-.266.26-.415.63-.377 1.022v.01c.053.634.664 1.181 1.413 1.181h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.777-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227Z"
1169
+ }), React.createElement("path", {
1170
+ fillRule: "evenodd",
1171
+ clipRule: "evenodd",
1172
+ d: "M5.234 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM1.234 15.205a.75.75 0 0 1 .75-.75h5.34a1.91 1.91 0 0 1 1.91 1.91v1.28a.75.75 0 0 1-1.5 0v-1.28a.41.41 0 0 0-.41-.41h-5.34a.75.75 0 0 1-.75-.75Z"
1173
+ }), React.createElement("path", {
1174
+ fillRule: "evenodd",
1175
+ clipRule: "evenodd",
1176
+ d: "M3.735 13.455a.75.75 0 0 1 0 1.06l-.69.69.69.69a.75.75 0 1 1-1.061 1.06l-1.22-1.22a.75.75 0 0 1 0-1.06l1.22-1.22a.75.75 0 0 1 1.06 0ZM1.984 17.296a.75.75 0 0 1 .75.75v1.28c0 .225.185.41.41.41h5.34a.75.75 0 0 1 0 1.5h-5.34a1.91 1.91 0 0 1-1.91-1.91v-1.28a.75.75 0 0 1 .75-.75Z"
1177
+ }), React.createElement("path", {
1178
+ fillRule: "evenodd",
1179
+ clipRule: "evenodd",
1180
+ d: "M6.735 18.735a.75.75 0 0 1 1.061 0l1.22 1.22a.75.75 0 0 1 0 1.061l-1.22 1.22a.75.75 0 1 1-1.06-1.06l.689-.69-.69-.69a.75.75 0 0 1 0-1.06Z"
1181
+ }));
1182
+ });
1183
+ SwapWalletIcon.toString = function () {
1184
+ return '._icon';
1185
+ };
1186
+
1187
+ var _excluded$w = ["size", "color"];
1188
+ var BagIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1189
+ var _ref$size = _ref.size,
1190
+ size = _ref$size === void 0 ? 16 : _ref$size,
1191
+ color = _ref.color,
1192
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$w);
1193
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1194
+ width: size,
1195
+ height: size,
1196
+ viewBox: "0 0 32 32",
1197
+ color: color,
1198
+ fill: "none",
1199
+ xmlns: "http://www.w3.org/2000/svg",
1200
+ className: "_icon"
1201
+ }, props), React.createElement("g", {
1202
+ clipPath: "url(#a)",
1203
+ strokeWidth: 1.5
1204
+ }, React.createElement("path", {
1205
+ d: "M9.333 9.333V4.8a.8.8 0 0 1 .8-.8h11.734a.8.8 0 0 1 .8.8v4.533M13.333 4v5.333M16 4v5.333m9.333 17.334H6.667A2.667 2.667 0 0 1 4 24V12a2.667 2.667 0 0 1 2.667-2.667h18.666A2.667 2.667 0 0 1 28 12v12a2.667 2.667 0 0 1-2.667 2.667Z"
1206
+ }), React.createElement("path", {
1207
+ d: "M22 18.666a.667.667 0 1 1 0-1.334.667.667 0 0 1 0 1.334Z",
1208
+ fill: color,
1209
+ strokeLinecap: "round",
1210
+ strokeLinejoin: "round"
1211
+ })), React.createElement("defs", null, React.createElement("clipPath", {
1212
+ id: "a"
1213
+ }, React.createElement("path", {
1214
+ fill: color,
1215
+ d: "M0 0h32v32H0z"
1216
+ }))));
1217
+ });
1218
+ BagIcon.toString = function () {
1219
+ return '._icon';
1220
+ };
1221
+
1222
+ var _excluded$x = ["size"];
1223
+ var TimeIcon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
1224
+ var _ref$size = _ref.size,
1225
+ size = _ref$size === void 0 ? 16 : _ref$size,
1226
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$x);
1227
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1228
+ width: size,
1229
+ height: size,
1230
+ viewBox: "0 0 20 20",
1231
+ fill: "none",
1232
+ xmlns: "http://www.w3.org/2000/svg",
1233
+ className: "_icon"
1234
+ }, props, {
1235
+ ref: forwardedRef
1236
+ }), React.createElement("circle", {
1237
+ cx: 10,
1238
+ cy: 10,
1239
+ r: 7.25,
1240
+ strokeWidth: 1.5
1241
+ }), React.createElement("path", {
1242
+ fillRule: "evenodd",
1243
+ clipRule: "evenodd",
1244
+ d: "M10.134 6.6a.6.6 0 0 0-1.2 0v4.27a.6.6 0 0 0 .28.507c.009.01.018.019.029.028l2.59 2.373a.472.472 0 0 0 .753-.109.763.763 0 0 0-.133-.919l-2.319-2.123V6.6Z"
1245
+ }));
1246
+ });
1247
+ TimeIcon.toString = function () {
1248
+ return '._icon';
1249
+ };
1250
+
1251
+ var CloseIcon = /*#__PURE__*/styled(AddIcon, {
1252
+ transform: 'rotate(45deg)',
1253
+ cursor: 'pointer'
1254
+ });
1255
+ CloseIcon.toString = function () {
1256
+ return '._icon';
1257
+ };
1258
+
1259
+ var _excluded$y = ["size", "color"];
1260
+ var SignatureIcon = /*#__PURE__*/React.forwardRef(function (_ref) {
1261
+ var _ref$size = _ref.size,
1262
+ size = _ref$size === void 0 ? 16 : _ref$size,
1263
+ color = _ref.color,
1264
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$y);
1265
+ return React.createElement(SvgWithFillColor, Object.assign({
1266
+ width: size,
1267
+ height: size,
1268
+ color: color,
1269
+ xmlns: "http://www.w3.org/2000/svg",
1270
+ viewBox: "0 0 122.88 107.95",
1271
+ xmlSpace: "preserve",
1272
+ className: "_icon"
1273
+ }, props), React.createElement("path", {
1274
+ d: "M82.19 0c1.22-.01 2.27.4 3.18 1.27l13.27 12.7c.86.82 1.28 1.91 1.3 3.11.02 1.22-.34 2.33-1.18 3.18l-7.06 7.35L72.09 8.67l6.99-7.28C79.94.5 80.98.02 82.19 0zM20.08 68.29a4.536 4.536 0 1 1 2.67 8.67c-6.98 2.14-11.66 6.28-13.21 10.17-.41 1.04-.55 1.99-.39 2.77.12.59.48 1.13 1.07 1.56 2.55 1.86 8.04 2.34 17.26.1 5.46-1.33 11.31-3.13 16.49-4.73 5.29-1.63 9.91-3.06 13.12-3.66 5.92-1.1 11.83-1.85 16.6-1.61 6.26.31 10.96 2.32 12.57 7.13 1.04 3.11.75 5.81.49 8.23-.09.87-.18 1.68-.14 2.21 0 .02.95-.05 5.53-.41 5.3-.42 10.79-2.51 16.21-4.58 2.78-1.06 5.54-2.11 8.67-3.07 2.4-.73 4.93.63 5.65 3.02.73 2.4-.63 4.93-3.02 5.65-2.43.74-5.24 1.82-8.06 2.89-6.04 2.3-12.14 4.63-18.74 5.15-12.07.95-14.87-2.46-15.3-7.95-.1-1.29.03-2.54.17-3.88.16-1.5.34-3.18-.07-4.39-.18-.54-1.89-.82-4.39-.94-3.99-.2-9.22.48-14.54 1.47-2.65.49-7.05 1.85-12.09 3.41-5.27 1.63-11.22 3.46-17.02 4.87-12.14 2.95-20.21 1.7-24.73-1.6-2.54-1.85-4.05-4.27-4.63-7-.54-2.54-.23-5.28.85-8 2.46-6.14 9.23-12.5 18.98-15.48zm21.19-19.84L53.3 60.02l-14.71 3.95c-.53.1-.74-.11-.65-.6l3.33-14.92zm24.6-33.34 19.59 18.87L58.7 62.23l-23.98 6.43c-.86.17-1.2-.17-1.06-.98l5.43-24.31 26.78-28.26z",
1275
+ style: {
1276
+ fillRule: 'evenodd',
1277
+ clipRule: 'evenodd'
1278
+ }
1279
+ }));
1280
+ });
1281
+ SignatureIcon.toString = function () {
1282
+ return '._icon';
1283
+ };
1284
+
1285
+ var _excluded$z = ["children"];
1286
+ var TypographyContainer = /*#__PURE__*/styled('span', {
1287
+ margin: 0,
1288
+ color: '$foreground',
1289
+ variants: {
1290
+ variant: {
1291
+ h1: {
1292
+ fontSize: '$36',
1293
+ fontWeight: '$700',
1294
+ '@md': {
1295
+ fontSize: '$40'
1296
+ },
1297
+ '@lg': {
1298
+ fontSize: '$48'
1299
+ }
1300
+ },
1301
+ h2: {
1302
+ fontSize: '$32',
1303
+ fontWeight: '$700',
1304
+ '@md': {
1305
+ fontSize: '$36'
1306
+ },
1307
+ '@lg': {
1308
+ fontSize: '$40'
1309
+ }
1310
+ },
1311
+ h3: {
1312
+ fontSize: '$20',
1313
+ fontWeight: '$700',
1314
+ '@md': {
1315
+ fontSize: '$24'
1316
+ },
1317
+ '@lg': {
1318
+ fontSize: '$32'
1319
+ }
1320
+ },
1321
+ h4: {
1322
+ fontSize: '$18',
1323
+ fontWeight: '$600',
1324
+ '@md': {
1325
+ fontSize: '$20'
1326
+ },
1327
+ '@lg': {
1328
+ fontSize: '$24'
1329
+ }
1330
+ },
1331
+ h5: {
1332
+ fontSize: '$16',
1333
+ fontWeight: '$600',
1334
+ '@md': {
1335
+ fontSize: '$18'
1336
+ },
1337
+ '@lg': {
1338
+ fontSize: '$20'
1339
+ }
1340
+ },
1341
+ h6: {
1342
+ fontSize: '$14',
1343
+ fontWeight: '$500',
1344
+ '@md': {
1345
+ fontSize: '$16'
1346
+ },
1347
+ '@lg': {
1348
+ fontSize: '$18'
1349
+ }
1350
+ },
1351
+ body1: {
1352
+ fontSize: '$14',
1353
+ fontWeight: '$400',
1354
+ '@md': {
1355
+ fontSize: '$16'
1356
+ },
1357
+ '@lg': {
1358
+ fontSize: '$18'
1359
+ }
1360
+ },
1361
+ body2: {
1362
+ fontSize: '$14',
1363
+ fontWeight: '$400',
1364
+ '@lg': {
1365
+ fontSize: '$16'
1366
+ }
1367
+ },
1368
+ caption: {
1369
+ fontSize: '$10',
1370
+ fontWeight: '$400',
1371
+ '@lg': {
1372
+ fontSize: '$12'
1373
+ }
1374
+ }
1375
+ },
1376
+ align: {
1377
+ center: {
1378
+ textAlign: 'center'
1379
+ },
1380
+ left: {
1381
+ textAlign: 'left'
1382
+ },
1383
+ right: {
1384
+ textAlign: 'right'
1385
+ }
1386
+ },
1387
+ noWrap: {
1388
+ "true": {
1389
+ whiteSpace: 'nowrap'
1390
+ }
1391
+ },
1392
+ ml: {
1393
+ 2: {
1394
+ marginLeft: '$2'
1395
+ },
1396
+ 4: {
1397
+ marginLeft: '$4'
1398
+ },
1399
+ 8: {
1400
+ marginLeft: '$8'
1401
+ },
1402
+ 12: {
1403
+ marginLeft: '$12'
1404
+ }
1405
+ },
1406
+ mt: {
1407
+ 2: {
1408
+ marginTop: '$2'
1409
+ },
1410
+ 4: {
1411
+ marginTop: '$4'
1412
+ },
1413
+ 8: {
1414
+ marginTop: '$8'
1415
+ },
1416
+ 12: {
1417
+ marginTop: '$12'
1418
+ }
1419
+ },
1420
+ mr: {
1421
+ 2: {
1422
+ marginRight: '$2'
1423
+ },
1424
+ 4: {
1425
+ marginRight: '$4'
1426
+ },
1427
+ 8: {
1428
+ marginRight: '$8'
1429
+ },
1430
+ 12: {
1431
+ marginRight: '$12'
1432
+ }
1433
+ },
1434
+ mb: {
1435
+ 2: {
1436
+ marginBottom: '$2'
1437
+ },
1438
+ 4: {
1439
+ marginBottom: '$4'
1440
+ },
1441
+ 8: {
1442
+ marginBottom: '$8'
1443
+ },
1444
+ 12: {
1445
+ marginBottom: '$12'
1446
+ }
1447
+ }
1448
+ }
1449
+ });
1450
+ function Typography(_ref) {
1451
+ var children = _ref.children,
1452
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$z);
1453
+ return React__default.createElement(TypographyContainer, Object.assign({
1454
+ className: "_typography"
1455
+ }, props), children);
1456
+ }
1457
+ Typography.toString = function () {
1458
+ return '._typography';
1459
+ };
1460
+
1461
+ var StepLogoContainer = /*#__PURE__*/styled('div', {
1462
+ position: 'relative',
1463
+ width: '$28',
1464
+ height: '$28',
1465
+ variants: {
1466
+ direction: {
1467
+ vertical: {
1468
+ margin: 'auto'
1469
+ },
1470
+ horizontal: {}
1471
+ }
1472
+ }
1473
+ });
1474
+ var Logo = /*#__PURE__*/styled('img', {
1475
+ width: '$28',
1476
+ height: '$28',
1477
+ borderRadius: '50%'
1478
+ });
1479
+ var ChainLogo = /*#__PURE__*/styled('img', {
1480
+ position: 'absolute',
1481
+ bottom: 0,
1482
+ width: '$12',
1483
+ height: '$12',
1484
+ right: 0
1485
+ });
1486
+ var StepContainer = /*#__PURE__*/styled('div', {
1487
+ display: 'flex',
1488
+ variants: {
1489
+ direction: {
1490
+ horizontal: {
1491
+ alignItems: 'center'
1492
+ },
1493
+ vertical: {
1494
+ flexDirection: 'column',
1495
+ textAlign: 'center',
1496
+ justifyContent: 'center'
1497
+ }
1498
+ }
1499
+ }
1500
+ });
1501
+ var Detail = /*#__PURE__*/styled('div', {
1502
+ variants: {
1503
+ pl: {
1504
+ "true": {
1505
+ paddingLeft: '$4',
1506
+ '@lg': {
1507
+ paddingLeft: '$8'
1508
+ }
1509
+ },
1510
+ "false": {
1511
+ paddingTop: '$8'
1512
+ }
1513
+ }
1514
+ }
1515
+ });
1516
+ var SubTitle = /*#__PURE__*/styled(Typography, {
1517
+ color: '$neutrals600'
1518
+ });
1519
+ function StepDetail(_ref) {
1520
+ var logo = _ref.logo,
1521
+ chainLogo = _ref.chainLogo,
1522
+ amount = _ref.amount,
1523
+ symbol = _ref.symbol,
1524
+ blockchain = _ref.blockchain,
1525
+ _ref$direction = _ref.direction,
1526
+ direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
1527
+ return React__default.createElement(StepContainer, {
1528
+ direction: direction
1529
+ }, React__default.createElement(StepLogoContainer, {
1530
+ direction: direction
1531
+ }, React__default.createElement(Logo, {
1532
+ src: logo,
1533
+ alt: symbol
1534
+ }), React__default.createElement(ChainLogo, {
1535
+ src: chainLogo,
1536
+ alt: blockchain
1537
+ })), React__default.createElement(Detail, {
1538
+ pl: direction === 'horizontal'
1539
+ }, React__default.createElement(Typography, {
1540
+ noWrap: true,
1541
+ variant: direction === 'vertical' ? 'body2' : 'h6'
1542
+ }, parseFloat(amount).toFixed(2), " ", symbol), React__default.createElement(SubTitle, {
1543
+ noWrap: true,
1544
+ variant: "caption"
1545
+ }, "on ", blockchain)));
1546
+ }
1547
+
1548
+ var secondsToString = function secondsToString(s) {
1549
+ var minutes = parseInt((s / 60).toString()).toString();
1550
+ return "" + minutes;
1551
+ };
1552
+ var totalArrivalTime = function totalArrivalTime(data) {
1553
+ var _data$result, _data$result$swaps;
1554
+ return (data == null ? void 0 : (_data$result = data.result) == null ? void 0 : (_data$result$swaps = _data$result.swaps) == null ? void 0 : _data$result$swaps.reduce(function (a, b) {
1555
+ return a + b.estimatedTimeInSeconds;
1556
+ }, 0)) || 0;
1557
+ };
1558
+ var rawFees = function rawFees(data) {
1559
+ var _data$result2, _data$result2$swaps;
1560
+ return ((data == null ? void 0 : (_data$result2 = data.result) == null ? void 0 : (_data$result2$swaps = _data$result2.swaps) == null ? void 0 : _data$result2$swaps.flatMap(function (s) {
1561
+ return s.fee.map(function (f) {
1562
+ return {
1563
+ swapperId: s.swapperId,
1564
+ fee: f
1565
+ };
1566
+ });
1567
+ })) || []).reduce(function (partialSum, a) {
1568
+ return partialSum + parseFloat(a.fee.amount);
1569
+ }, 0).toFixed(3);
1570
+ };
1571
+ var decimalNumber = function decimalNumber(number, toFixed) {
1572
+ if (number === void 0) {
1573
+ number = '0';
1574
+ }
1575
+ return parseFloat(number).toFixed(toFixed);
1576
+ };
1577
+ var containsText = function containsText(text, searchText) {
1578
+ return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;
1579
+ };
1580
+
1581
+ var waveSquares = /*#__PURE__*/keyframes({
1582
+ '0%': {
1583
+ backgroundPosition: '-468px 0'
1584
+ },
1585
+ '100%': {
1586
+ backgroundPosition: '468px 0'
1587
+ }
1588
+ });
1589
+ var SkeletonContainer = /*#__PURE__*/styled('div', {
1590
+ borderRadius: '$5',
1591
+ backgroundColor: '$neutrals300',
1592
+ background: "linear-gradient(to right, rgba(130, 130, 130, 0.2) 8%, rgba(130, 130, 130, 0.3) 18%, rgba(130, 130, 130, 0.2) 33%)",
1593
+ backgroundSize: '800px 100px',
1594
+ animation: waveSquares + " 2s infinite ease-out",
1595
+ variants: {
1596
+ width: {
1597
+ 16: {
1598
+ width: '$16'
1599
+ },
1600
+ 20: {
1601
+ width: '$20'
1602
+ },
1603
+ 24: {
1604
+ width: '$24'
1605
+ },
1606
+ 36: {
1607
+ width: '$36'
1608
+ },
1609
+ 48: {
1610
+ width: '$48'
1611
+ }
1612
+ },
1613
+ height: {
1614
+ 16: {
1615
+ height: '$16'
1616
+ },
1617
+ 20: {
1618
+ height: '$20'
1619
+ },
1620
+ 24: {
1621
+ height: '$24'
1622
+ },
1623
+ 36: {
1624
+ height: '$36'
1625
+ },
1626
+ 48: {
1627
+ height: '$48'
1628
+ },
1629
+ 94: {
1630
+ height: 94
1631
+ }
1632
+ }
1633
+ }
1634
+ });
1635
+ function Skeleton(_ref) {
1636
+ var _ref$width = _ref.width,
1637
+ width = _ref$width === void 0 ? 20 : _ref$width,
1638
+ _ref$height = _ref.height,
1639
+ height = _ref$height === void 0 ? 20 : _ref$height;
1640
+ return React__default.createElement(SkeletonContainer, {
1641
+ width: width,
1642
+ height: height
1643
+ });
1644
+ }
1645
+
1646
+ var spin = /*#__PURE__*/keyframes({
1647
+ '100%': {
1648
+ transform: 'rotate(360deg)'
1649
+ }
1650
+ });
1651
+ var SpinnerContainer = /*#__PURE__*/styled('div', {
1652
+ borderRadius: '50%',
1653
+ position: 'relative',
1654
+ border: "2px solid $neutrals300",
1655
+ borderRight: "2px solid",
1656
+ animation: spin + " 1.5s linear infinite",
1657
+ margin: "0px $8",
1658
+ variants: {
1659
+ color: {
1660
+ primary: {
1661
+ borderRightColor: '$primary'
1662
+ },
1663
+ error: {
1664
+ borderRightColor: '$error'
1665
+ },
1666
+ warning: {
1667
+ borderRightColor: '$warning'
1668
+ },
1669
+ success: {
1670
+ borderRightColor: '$success'
1671
+ },
1672
+ black: {
1673
+ borderRightColor: '$black'
1674
+ },
1675
+ white: {
1676
+ borderRightColor: '$white'
1677
+ }
1678
+ },
1679
+ size: {
1680
+ 16: {
1681
+ width: '$16',
1682
+ height: '$16'
1683
+ },
1684
+ 20: {
1685
+ width: '$20',
1686
+ height: '$20'
1687
+ },
1688
+ 24: {
1689
+ width: '$24',
1690
+ height: '$24'
1691
+ }
1692
+ }
1693
+ }
1694
+ });
1695
+ function Spinner(_ref) {
1696
+ var _ref$size = _ref.size,
1697
+ size = _ref$size === void 0 ? 16 : _ref$size,
1698
+ _ref$color = _ref.color,
1699
+ color = _ref$color === void 0 ? 'primary' : _ref$color;
1700
+ return React__default.createElement(SpinnerContainer, {
1701
+ size: size,
1702
+ color: color
1703
+ });
1704
+ }
1705
+
1706
+ var Container = /*#__PURE__*/styled('div', {
1707
+ borderRadius: '$5',
1708
+ border: '1px solid $neutrals300',
1709
+ display: 'flex',
1710
+ alignItems: 'center',
1711
+ minHeight: 126,
1712
+ justifyContent: 'space-between'
1713
+ });
1714
+ var ErrorMsg = /*#__PURE__*/styled(Typography, {
1715
+ color: '$error'
1716
+ });
1717
+ var BestRouteContainer = /*#__PURE__*/styled('div', {
1718
+ display: 'flex',
1719
+ alignItems: 'center',
1720
+ margin: '0 auto',
1721
+ overflowX: 'auto',
1722
+ overflowY: 'hidden',
1723
+ alignSelf: 'stretch',
1724
+ padding: '$4',
1725
+ '@md': {
1726
+ padding: '$8'
1727
+ }
1728
+ });
1729
+ var Line = /*#__PURE__*/styled('div', {
1730
+ height: '0',
1731
+ width: '$20',
1732
+ border: '1px dashed $foreground',
1733
+ borderRadius: 'inherit',
1734
+ '@lg': {
1735
+ width: '$32'
1736
+ }
1737
+ });
1738
+ var HR = /*#__PURE__*/styled('hr', {
1739
+ width: '100%',
1740
+ background: '$neutrals200',
1741
+ margin: '$8 0'
1742
+ });
1743
+ var SwapperLogo = /*#__PURE__*/styled('img', {
1744
+ width: '$16',
1745
+ height: '$16'
1746
+ });
1747
+ var RelativeContainer = /*#__PURE__*/styled('div', {
1748
+ position: 'relative'
1749
+ });
1750
+ var Dot = /*#__PURE__*/styled('div', {
1751
+ width: '$6',
1752
+ height: '$6',
1753
+ backgroundColor: '$foreground',
1754
+ position: 'absolute',
1755
+ top: '45%',
1756
+ right: -5,
1757
+ marginLeft: '$8',
1758
+ borderRadius: '50%',
1759
+ '@md': {
1760
+ width: '$8',
1761
+ height: '$8',
1762
+ right: -8,
1763
+ top: '45%'
1764
+ }
1765
+ });
1766
+ var ArrowRight = /*#__PURE__*/styled('div', {
1767
+ width: '0px',
1768
+ height: '0px',
1769
+ borderTop: '5px solid transparent',
1770
+ borderBottom: '5px solid transparent',
1771
+ borderLeft: '5px solid $foreground'
1772
+ });
1773
+ var GasContainer = /*#__PURE__*/styled('div', {
1774
+ backgroundColor: '$neutrals300',
1775
+ borderRadius: '5px',
1776
+ margin: '$4',
1777
+ display: 'flex',
1778
+ flexDirection: 'column',
1779
+ justifyContent: 'center',
1780
+ alignItems: 'center',
1781
+ padding: '$4',
1782
+ '@md': {
1783
+ padding: '$8',
1784
+ margin: '$8'
1785
+ }
1786
+ });
1787
+ var SkeletonContainer$1 = /*#__PURE__*/styled('div', {
1788
+ padding: '$4',
1789
+ '@md': {
1790
+ padding: '$8'
1791
+ }
1792
+ });
1793
+ var SwapperContainer = /*#__PURE__*/styled('div', {
1794
+ display: 'flex',
1795
+ justifyContent: 'center',
1796
+ alignItems: 'center'
1797
+ });
1798
+ function BestRoute(_ref) {
1799
+ var _data$result;
1800
+ var data = _ref.data,
1801
+ loading = _ref.loading,
1802
+ error = _ref.error;
1803
+ var fee,
1804
+ time = '';
1805
+ if (!!data) {
1806
+ fee = rawFees(data);
1807
+ time = secondsToString(totalArrivalTime(data));
1808
+ }
1809
+ return React__default.createElement(Container, null, loading ? React__default.createElement(SkeletonContainer$1, null, React__default.createElement(Skeleton, {
1810
+ width: 48,
1811
+ height: 94
1812
+ })) : React__default.createElement(GasContainer, null, React__default.createElement(GasIcon, {
1813
+ size: 20
1814
+ }), React__default.createElement(Typography, {
1815
+ mt: 4,
1816
+ align: "center",
1817
+ variant: "caption"
1818
+ }, error && '-', !!data && "$" + fee), React__default.createElement(HR, null), React__default.createElement(TimeIcon, {
1819
+ size: 20
1820
+ }), React__default.createElement(Typography, {
1821
+ mt: 4,
1822
+ align: "center",
1823
+ variant: "caption"
1824
+ }, error && '-', !!data && "~" + time + "m")), React__default.createElement(BestRouteContainer, null, loading && React__default.createElement(Spinner, {
1825
+ color: "primary"
1826
+ }), error && React__default.createElement(ErrorMsg, {
1827
+ variant: "caption"
1828
+ }, error), !!data && ((_data$result = data.result) == null ? void 0 : _data$result.swaps.map(function (swap, index) {
1829
+ var _data$result2;
1830
+ return React__default.createElement(React__default.Fragment, null, index === 0 && React__default.createElement(RelativeContainer, null, React__default.createElement(StepDetail, {
1831
+ direction: "vertical",
1832
+ logo: swap.from.logo,
1833
+ symbol: swap.from.symbol,
1834
+ chainLogo: swap.from.blockchainLogo,
1835
+ blockchain: swap.from.blockchain,
1836
+ amount: swap.fromAmount
1837
+ }), React__default.createElement(Dot, null)), React__default.createElement(SwapperContainer, null, React__default.createElement(Line, null), React__default.createElement(SwapperLogo, {
1838
+ src: swap.swapperLogo,
1839
+ alt: swap.swapperId
1840
+ }), React__default.createElement(Line, null)), index + 1 === ((_data$result2 = data.result) == null ? void 0 : _data$result2.swaps.length) && React__default.createElement(ArrowRight, null), React__default.createElement(StepDetail, {
1841
+ direction: "vertical",
1842
+ logo: swap.to.logo,
1843
+ symbol: swap.to.symbol,
1844
+ chainLogo: swap.to.blockchainLogo,
1845
+ blockchain: swap.to.blockchain,
1846
+ amount: swap.toAmount
1847
+ }));
1848
+ })), !!data && !(data != null && data.result) && React__default.createElement(Typography, {
1849
+ variant: "body2"
1850
+ }, "No routes found")));
1851
+ }
1852
+
1853
+ var containsText$1 = function containsText(text, searchText) {
1854
+ return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;
1855
+ };
1856
+
1857
+ var _excluded$A = ["children", "loading", "disabled", "prefix", "suffix", "align", "flexContent"];
1858
+ var _ghost, _css, _css2, _css3, _css4;
1859
+ var ButtonContainer = /*#__PURE__*/styled('button', {
1860
+ borderRadius: '$5',
1861
+ fontSize: '$16',
1862
+ fontWeight: '$400',
1863
+ cursor: 'pointer',
1864
+ padding: '0 $12',
1865
+ display: 'flex',
1866
+ alignItems: 'center',
1867
+ justifyContent: 'center',
1868
+ variants: {
1869
+ align: {
1870
+ start: {
1871
+ display: 'flex',
1872
+ width: '100%'
1873
+ },
1874
+ grow: {
1875
+ display: 'flex',
1876
+ width: '100%'
1877
+ }
1878
+ },
1879
+ size: {
1880
+ small: {
1881
+ height: '$32'
1882
+ },
1883
+ medium: {
1884
+ height: '$40'
1885
+ },
1886
+ large: {
1887
+ height: '$48'
1888
+ }
1889
+ },
1890
+ variant: {
1891
+ contained: {
1892
+ backgroundColor: '$neutrals300',
1893
+ color: '$foreground',
1894
+ border: 0,
1895
+ '&:hover': {
1896
+ backgroundColor: '$neutrals200',
1897
+ color: '$foreground'
1898
+ },
1899
+ '&:disabled': {
1900
+ background: '$neutrals400 !important'
1901
+ }
1902
+ },
1903
+ outlined: {
1904
+ backgroundColor: '$background !important',
1905
+ borderColor: '$neutrals400 !important',
1906
+ color: '$foreground',
1907
+ '&:hover': {
1908
+ borderColor: '$neutrals600 !important',
1909
+ color: '$neutrals500 !important'
1910
+ },
1911
+ '&:disabled': {
1912
+ borderColor: '$neutrals300 !important',
1913
+ color: '$neutrals400 !important'
1914
+ },
1915
+ background: 'transparent',
1916
+ border: 1,
1917
+ borderStyle: 'solid'
1918
+ },
1919
+ ghost: (_ghost = {
1920
+ color: '$foreground',
1921
+ '&:hover': {
1922
+ backgroundColor: '$neutrals200'
1923
+ },
1924
+ '&:disabled': {
1925
+ color: '$neutrals400 !important'
1926
+ },
1927
+ background: 'transparent',
1928
+ border: 0
1929
+ }, _ghost["& " + Typography] = {
1930
+ color: 'inherit'
1931
+ }, _ghost)
1932
+ },
1933
+ fullWidth: {
1934
+ "true": {
1935
+ width: '100%'
1936
+ }
1937
+ },
1938
+ loading: {
1939
+ "true": {}
1940
+ },
1941
+ type: {
1942
+ primary: {},
1943
+ error: {},
1944
+ warning: {},
1945
+ success: {}
1946
+ }
1947
+ },
1948
+ compoundVariants: [{
1949
+ type: 'primary',
1950
+ variant: 'contained',
1951
+ css: (_css = {
1952
+ background: '$primary',
1953
+ $$color: '$colors$background'
1954
+ }, _css["." + darkTheme + " &"] = {
1955
+ $$color: '$colors$foreground'
1956
+ }, _css.color = '$$color !important', _css['&:hover'] = {
1957
+ background: '$primary700'
1958
+ }, _css['&:visited'] = {
1959
+ background: '$primary900'
1960
+ }, _css['&:focus'] = {
1961
+ background: '$primary600'
1962
+ }, _css)
1963
+ }, {
1964
+ type: 'primary',
1965
+ variant: 'outlined',
1966
+ css: {
1967
+ color: '$primary !important',
1968
+ borderColor: '$primary !important',
1969
+ '&:hover': {
1970
+ color: '$primary700 !important',
1971
+ borderColor: '$primary700 !important'
1972
+ },
1973
+ '&:visited': {
1974
+ color: '$primary900 !important',
1975
+ borderColor: '$primary900 !important'
1976
+ },
1977
+ '&:focus': {
1978
+ color: '$primary600 !important',
1979
+ borderColor: '$primary600 !important'
1980
+ }
1981
+ }
1982
+ }, {
1983
+ type: 'primary',
1984
+ variant: 'ghost',
1985
+ css: {
1986
+ color: '$primary',
1987
+ '&:hover': {
1988
+ color: '$primary700'
1989
+ },
1990
+ '&:visited': {
1991
+ color: '$primary900'
1992
+ },
1993
+ '&:focus': {
1994
+ color: '$primary600'
1995
+ }
1996
+ }
1997
+ }, {
1998
+ type: 'error',
1999
+ variant: 'contained',
2000
+ css: (_css2 = {
2001
+ background: '$error',
2002
+ $$color: '$colors$background'
2003
+ }, _css2["." + darkTheme + " &"] = {
2004
+ $$color: '$colors$foreground'
2005
+ }, _css2.color = '$$color !important', _css2['&:hover'] = {
2006
+ background: '$error300'
2007
+ }, _css2['&:visited'] = {
2008
+ background: '$error700'
2009
+ }, _css2['&:focus'] = {
2010
+ background: '$error700'
2011
+ }, _css2)
2012
+ }, {
2013
+ type: 'error',
2014
+ variant: 'outlined',
2015
+ css: {
2016
+ color: '$error !important',
2017
+ borderColor: '$error !important',
2018
+ '&:hover': {
2019
+ color: '$error300 !important',
2020
+ borderColor: '$error300 !important'
2021
+ },
2022
+ '&:visited': {
2023
+ color: '$error700 !important',
2024
+ borderColor: '$error700 !important'
2025
+ },
2026
+ '&:focus': {
2027
+ color: '$error700 !important',
2028
+ borderColor: '$error700 !important'
2029
+ }
2030
+ }
2031
+ }, {
2032
+ type: 'error',
2033
+ variant: 'ghost',
2034
+ css: {
2035
+ color: '$error',
2036
+ '&:hover': {
2037
+ color: '$error300'
2038
+ },
2039
+ '&:visited': {
2040
+ color: '$error700'
2041
+ },
2042
+ '&:focus': {
2043
+ color: '$error700'
2044
+ }
2045
+ }
2046
+ }, {
2047
+ type: 'warning',
2048
+ variant: 'contained',
2049
+ css: (_css3 = {
2050
+ background: '$warning',
2051
+ $$color: '$colors$background'
2052
+ }, _css3["." + darkTheme + " &"] = {
2053
+ $$color: '$colors$foreground'
2054
+ }, _css3.color = '$$color !important', _css3['&:hover'] = {
2055
+ background: '$warning300'
2056
+ }, _css3['&:visited'] = {
2057
+ background: '$warning700'
2058
+ }, _css3['&:focus'] = {
2059
+ background: '$warning700'
2060
+ }, _css3)
2061
+ }, {
2062
+ type: 'warning',
2063
+ variant: 'outlined',
2064
+ css: {
2065
+ color: '$warning !important',
2066
+ borderColor: '$warning !important',
2067
+ '&:hover': {
2068
+ color: '$warning300 !important',
2069
+ borderColor: '$warning300 !important'
2070
+ },
2071
+ '&:visited': {
2072
+ color: '$warning700 !important',
2073
+ borderColor: '$warning700 !important'
2074
+ },
2075
+ '&:focus': {
2076
+ color: '$warning700 !important',
2077
+ borderColor: '$warning700 !important'
2078
+ }
2079
+ }
2080
+ }, {
2081
+ type: 'warning',
2082
+ variant: 'ghost',
2083
+ css: {
2084
+ color: '$warning',
2085
+ '&:hover': {
2086
+ color: '$warning300'
2087
+ },
2088
+ '&:visited': {
2089
+ color: '$warning700'
2090
+ },
2091
+ '&:focus': {
2092
+ color: '$warning700'
2093
+ }
2094
+ }
2095
+ }, {
2096
+ type: 'success',
2097
+ variant: 'contained',
2098
+ css: (_css4 = {
2099
+ background: '$success',
2100
+ $$color: '$colors$background'
2101
+ }, _css4["." + darkTheme + " &"] = {
2102
+ $$color: '$colors$foreground'
2103
+ }, _css4.color = '$$color !important', _css4['&:hover'] = {
2104
+ background: '$success300'
2105
+ }, _css4['&:visited'] = {
2106
+ background: '$success700'
2107
+ }, _css4['&:focus'] = {
2108
+ background: '$success700'
2109
+ }, _css4)
2110
+ }, {
2111
+ type: 'success',
2112
+ variant: 'outlined',
2113
+ css: {
2114
+ color: '$success !important',
2115
+ borderColor: '$success !important',
2116
+ '&:hover': {
2117
+ color: '$success300 !important',
2118
+ borderColor: '$success300 !important'
2119
+ },
2120
+ '&:visited': {
2121
+ color: '$success700 !important',
2122
+ borderColor: '$success700 !important'
2123
+ },
2124
+ '&:focus': {
2125
+ color: '$success700 !important',
2126
+ borderColor: '$success700 !important'
2127
+ }
2128
+ }
2129
+ }, {
2130
+ type: 'success',
2131
+ variant: 'ghost',
2132
+ css: {
2133
+ color: '$success',
2134
+ '&:hover': {
2135
+ color: '$success300'
2136
+ },
2137
+ '&:visited': {
2138
+ color: '$success700'
2139
+ },
2140
+ '&:focus': {
2141
+ color: '$success700'
2142
+ }
2143
+ }
2144
+ }],
2145
+ defaultVariants: {
2146
+ size: 'medium',
2147
+ variant: 'contained'
2148
+ }
2149
+ });
2150
+ var Content = /*#__PURE__*/styled('div', {
2151
+ flex: 1,
2152
+ variants: {
2153
+ align: {
2154
+ start: {
2155
+ textAlign: 'left'
2156
+ },
2157
+ grow: {
2158
+ textAlign: 'center'
2159
+ }
2160
+ },
2161
+ ml: {
2162
+ "true": {
2163
+ marginLeft: '$8'
2164
+ }
2165
+ },
2166
+ mr: {
2167
+ "true": {
2168
+ marginRight: '$8'
2169
+ }
2170
+ },
2171
+ flexContent: {
2172
+ "true": {
2173
+ display: 'flex',
2174
+ alignItems: 'center'
2175
+ }
2176
+ }
2177
+ }
2178
+ });
2179
+ function Button(_ref) {
2180
+ var children = _ref.children,
2181
+ loading = _ref.loading,
2182
+ disabled = _ref.disabled,
2183
+ prefix = _ref.prefix,
2184
+ suffix = _ref.suffix,
2185
+ align = _ref.align,
2186
+ flexContent = _ref.flexContent,
2187
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$A);
2188
+ var isDisabled = loading || disabled;
2189
+ return React__default.createElement(ButtonContainer, Object.assign({
2190
+ disabled: isDisabled
2191
+ }, props, {
2192
+ align: align
2193
+ }), prefix, children && React__default.createElement(Content, {
2194
+ align: align,
2195
+ ml: !!prefix,
2196
+ mr: !!suffix && !loading,
2197
+ flexContent: flexContent
2198
+ }, children), loading && React__default.createElement(Spinner, {
2199
+ size: 16,
2200
+ color: props.type
2201
+ }), suffix);
2202
+ }
2203
+
2204
+ var FilledCircle = /*#__PURE__*/styled('span', {
2205
+ width: '10px',
2206
+ height: '10px',
2207
+ backgroundColor: '$primary500',
2208
+ borderRadius: '99999px'
2209
+ });
2210
+
2211
+ var ListContainer = /*#__PURE__*/styled('div', {
2212
+ display: 'grid',
2213
+ gap: '.5rem',
2214
+ gridTemplateColumns: ' repeat(2, minmax(0, 1fr))',
2215
+ alignContent: 'baseline',
2216
+ width: '100%',
2217
+ height: '100%'
2218
+ });
2219
+ var Image = /*#__PURE__*/styled('img', {
2220
+ width: '1.5rem',
2221
+ maxHeight: '1.5rem',
2222
+ marginRight: '$4'
2223
+ });
2224
+ function BlockchainsList(props) {
2225
+ var list = props.list,
2226
+ onChange = props.onChange;
2227
+ var _useState = React.useState(props.selected),
2228
+ selected = _useState[0],
2229
+ setSelected = _useState[1];
2230
+ var changeSelectedBlockchain = function changeSelectedBlockchain(blockchain) {
2231
+ setSelected(blockchain);
2232
+ onChange(blockchain);
2233
+ };
2234
+ return React__default.createElement(ListContainer, null, list.map(function (blockchain, index) {
2235
+ return React__default.createElement(Button, {
2236
+ type: blockchain.name === (selected == null ? void 0 : selected.name) ? 'primary' : undefined,
2237
+ variant: "outlined",
2238
+ size: "large",
2239
+ prefix: React__default.createElement(Image, {
2240
+ src: blockchain.logo
2241
+ }),
2242
+ suffix: blockchain.name === (selected == null ? void 0 : selected.name) ? React__default.createElement(FilledCircle, null) : undefined,
2243
+ align: "start",
2244
+ onClick: changeSelectedBlockchain.bind(null, blockchain),
2245
+ key: index
2246
+ }, React__default.createElement(Typography, {
2247
+ variant: "body2"
2248
+ }, blockchain.displayName));
2249
+ }));
2250
+ }
2251
+
2252
+ var _excluded$B = ["label", "prefix", "suffix", "children", "size", "style"];
2253
+ var InputContainer = /*#__PURE__*/styled('div', {
2254
+ backgroundColor: '$background',
2255
+ boxSizing: 'border-box',
2256
+ border: '1px solid $neutrals400',
2257
+ borderRadius: '$5',
2258
+ height: '$48',
2259
+ display: 'flex',
2260
+ flexGrow: 1,
2261
+ position: 'relative',
2262
+ alignItems: 'center',
2263
+ color: '$foreground',
2264
+ transition: 'border-color ease .3s',
2265
+ '&:focus-within': {
2266
+ borderColor: '$primary500'
2267
+ },
2268
+ variants: {
2269
+ size: {
2270
+ small: {
2271
+ height: '$32'
2272
+ },
2273
+ medium: {
2274
+ height: '$40'
2275
+ },
2276
+ large: {
2277
+ height: '$48'
2278
+ }
2279
+ },
2280
+ disabled: {
2281
+ "true": {
2282
+ backgroundColor: '$neutrals300',
2283
+ cursor: 'not-allowed',
2284
+ filter: 'grayscale(100%)'
2285
+ }
2286
+ },
2287
+ prefix: {
2288
+ "true": {
2289
+ paddingLeft: '$16'
2290
+ },
2291
+ "false": {
2292
+ paddingLeft: '$0'
2293
+ }
2294
+ },
2295
+ suffix: {
2296
+ "true": {
2297
+ paddingRight: '$16'
2298
+ },
2299
+ "false": {
2300
+ paddingRight: '$0'
2301
+ }
2302
+ }
2303
+ },
2304
+ defaultVariants: {
2305
+ size: 'medium'
2306
+ }
2307
+ });
2308
+ var Input = /*#__PURE__*/styled('input', {
2309
+ color: '$text',
2310
+ paddingLeft: '$16',
2311
+ paddingRight: '$16',
2312
+ flexGrow: 1,
2313
+ width: '100%',
2314
+ border: 'none',
2315
+ borderRadius: '$5',
2316
+ outline: 'none',
2317
+ fontSize: '$l',
2318
+ backgroundColor: 'transparent',
2319
+ '-webkit-appearance': 'none',
2320
+ margin: 0,
2321
+ '&:disabled': {
2322
+ cursor: 'not-allowed'
2323
+ }
2324
+ });
2325
+ var Label = /*#__PURE__*/styled('label', {
2326
+ display: 'inline-block',
2327
+ fontSize: '$16',
2328
+ marginBottom: '$4'
2329
+ });
2330
+ var TextField = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
2331
+ var label = props.label,
2332
+ prefix = props.prefix,
2333
+ suffix = props.suffix,
2334
+ size = props.size,
2335
+ style = props.style,
2336
+ inputAttributes = _objectWithoutPropertiesLoose(props, _excluded$B);
2337
+ return React__default.createElement(React__default.Fragment, null, label && React__default.createElement(Label, Object.assign({}, inputAttributes.id && {
2338
+ htmlFor: inputAttributes.id
2339
+ }), label), React__default.createElement(InputContainer, {
2340
+ disabled: inputAttributes.disabled,
2341
+ prefix: !!prefix,
2342
+ suffix: !!suffix,
2343
+ size: size,
2344
+ style: style
2345
+ }, prefix || null, React__default.createElement(Input, Object.assign({}, inputAttributes, {
2346
+ spellCheck: false,
2347
+ ref: ref
2348
+ })), suffix || null));
2349
+ });
2350
+
2351
+ var Container$1 = /*#__PURE__*/styled('div', {
2352
+ display: 'flex',
2353
+ flexDirection: 'column',
2354
+ height: '100%',
2355
+ width: '100%',
2356
+ padding: '$12 0',
2357
+ '@lg': {
2358
+ padding: '$16 0'
2359
+ }
2360
+ });
2361
+ var HeaderContainer = /*#__PURE__*/styled('div', {
2362
+ display: 'flex',
2363
+ justifyContent: 'center',
2364
+ alignItems: 'center',
2365
+ marginBottom: '$16',
2366
+ position: 'relative'
2367
+ });
2368
+ var BackIcon = /*#__PURE__*/styled(AngleLeftIcon, {
2369
+ position: 'absolute',
2370
+ left: '0'
2371
+ });
2372
+ var StyledBackIcon = /*#__PURE__*/styled(BackIcon, {
2373
+ cursor: 'pointer'
2374
+ });
2375
+ var ContentContainer = /*#__PURE__*/styled('div', {
2376
+ flex: '1',
2377
+ overflowY: 'auto',
2378
+ overflowX: 'hidden',
2379
+ marginTop: '$16'
2380
+ });
2381
+ function SecondaryPage(props) {
2382
+ var title = props.title,
2383
+ Footer = props.Footer,
2384
+ TopButton = props.TopButton,
2385
+ onBack = props.onBack,
2386
+ _props$hasHeader = props.hasHeader,
2387
+ hasHeader = _props$hasHeader === void 0 ? true : _props$hasHeader;
2388
+ var _useState = React.useState(''),
2389
+ searchedFor = _useState[0],
2390
+ setSearchedFor = _useState[1];
2391
+ return React__default.createElement(Container$1, null, hasHeader && React__default.createElement(HeaderContainer, null, React__default.createElement(StyledBackIcon, {
2392
+ size: 24,
2393
+ onClick: onBack
2394
+ }), React__default.createElement(Typography, {
2395
+ variant: "h4"
2396
+ }, title), TopButton), props.textField && React__default.createElement("div", null, React__default.createElement(TextField, {
2397
+ size: "large",
2398
+ prefix: React__default.createElement(SearchIcon, {
2399
+ size: 24
2400
+ }),
2401
+ placeholder: props.textFieldPlaceholder,
2402
+ onChange: function onChange(event) {
2403
+ return setSearchedFor(event.target.value);
2404
+ },
2405
+ value: searchedFor,
2406
+ autoFocus: true
2407
+ })), React__default.createElement(ContentContainer, null, props.textField && React__default.createElement(props.Content, {
2408
+ searchedFor: searchedFor
2409
+ }), !props.textField && props.Content), Footer);
2410
+ }
2411
+
2412
+ var MainContainer = /*#__PURE__*/styled('div', {
2413
+ display: 'flex',
2414
+ width: '100%',
2415
+ alignItems: 'center',
2416
+ padding: '$16',
2417
+ borderRadius: '$5',
2418
+ variants: {
2419
+ type: {
2420
+ primary: {
2421
+ backgroundColor: '$primary200'
2422
+ },
2423
+ secondary: {
2424
+ backgroundColor: '$neutrals400'
2425
+ },
2426
+ success: {
2427
+ backgroundColor: '$success300'
2428
+ },
2429
+ warning: {
2430
+ backgroundColor: '$warning300'
2431
+ },
2432
+ error: {
2433
+ backgroundColor: '$error300'
2434
+ }
2435
+ }
2436
+ }
2437
+ });
2438
+ var ContentContainer$1 = /*#__PURE__*/styled('div', {
2439
+ display: 'flex',
2440
+ flexDirection: 'column'
2441
+ });
2442
+ var TitleContainer = /*#__PURE__*/styled('div', {
2443
+ marginBottom: '$8'
2444
+ });
2445
+ var IconContainer = /*#__PURE__*/styled('div', {
2446
+ marginRight: '$24'
2447
+ });
2448
+ function Alert(props) {
2449
+ var type = props.type,
2450
+ description = props.description,
2451
+ title = props.title;
2452
+ var showIcon = ['error', 'success', 'warning'].includes(type);
2453
+ return React__default.createElement(MainContainer, {
2454
+ type: type
2455
+ }, showIcon && React__default.createElement(IconContainer, null, type === 'success' && React__default.createElement(CheckCircleIcon, {
2456
+ color: "success",
2457
+ size: 28
2458
+ }), type === 'warning' && React__default.createElement(WarningIcon, {
2459
+ size: 28
2460
+ }), type === 'error' && React__default.createElement(InfoCircleIcon, {
2461
+ color: "error",
2462
+ size: 28
2463
+ })), React__default.createElement(ContentContainer$1, null, title && React__default.createElement(TitleContainer, null, React__default.createElement(Typography, {
2464
+ variant: "h6"
2465
+ }, title)), React__default.createElement(Typography, {
2466
+ variant: "body2"
2467
+ }, description)));
2468
+ }
2469
+
2470
+ var ListContainer$1 = /*#__PURE__*/styled('div', {
2471
+ height: '450px',
2472
+ display: 'flex',
2473
+ justifyContent: 'center',
2474
+ alignItems: 'center'
2475
+ });
2476
+ var filterBlockchains = function filterBlockchains(list, searchedFor) {
2477
+ return list.filter(function (blockchain) {
2478
+ return containsText$1(blockchain.name, searchedFor) || containsText$1(blockchain.displayName, searchedFor);
2479
+ });
2480
+ };
2481
+ function BlockchainSelector(props) {
2482
+ var type = props.type,
2483
+ list = props.list,
2484
+ onChange = props.onChange,
2485
+ selected = props.selected,
2486
+ onBack = props.onBack,
2487
+ loadingStatus = props.loadingStatus,
2488
+ hasHeader = props.hasHeader,
2489
+ listContainerStyle = props.listContainerStyle;
2490
+ return React__default.createElement(SecondaryPage, {
2491
+ textField: true,
2492
+ textFieldPlaceholder: "Search Blockchain By Name",
2493
+ title: "Select " + type + " Network",
2494
+ hasHeader: hasHeader,
2495
+ onBack: onBack,
2496
+ Content: function Content(_ref) {
2497
+ var searchedFor = _ref.searchedFor;
2498
+ var filteredBlockchains = filterBlockchains(list, searchedFor);
2499
+ return React__default.createElement(ListContainer$1, {
2500
+ style: listContainerStyle
2501
+ }, loadingStatus === 'loading' && React__default.createElement("div", null, React__default.createElement(Spinner, {
2502
+ size: 24
2503
+ })), loadingStatus === 'failed' && React__default.createElement(Alert, {
2504
+ type: "error",
2505
+ description: "Error connecting server, please reload the app and try again"
2506
+ }), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, filteredBlockchains.length > 0 ? React__default.createElement(BlockchainsList, {
2507
+ list: filteredBlockchains,
2508
+ selected: selected,
2509
+ onChange: onChange
2510
+ }) : React__default.createElement(Alert, {
2511
+ type: "secondary",
2512
+ description: searchedFor + " not found"
2513
+ })));
2514
+ }
2515
+ });
2516
+ }
2517
+
2518
+ var _excluded$C = ["label", "id"];
2519
+ var CheckboxContainer = /*#__PURE__*/styled('div', {
2520
+ display: 'flex',
2521
+ alignItems: 'center'
2522
+ });
2523
+ var CheckboxRoot = /*#__PURE__*/styled(RadixCheckbox.Root, {
2524
+ borderRadius: '5px',
2525
+ width: 20,
2526
+ padding: 0,
2527
+ height: 20,
2528
+ border: '1px solid',
2529
+ display: 'flex',
2530
+ alignItems: 'center',
2531
+ justifyContent: 'center',
2532
+ marginRight: '$2',
2533
+ backgroundColor: '$neutral-100'
2534
+ });
2535
+ var Label$1 = /*#__PURE__*/styled('label', {
2536
+ color: '$text',
2537
+ fontSize: '$m',
2538
+ marginLeft: '$8'
2539
+ });
2540
+ function Checkbox(_ref) {
2541
+ var label = _ref.label,
2542
+ id = _ref.id,
2543
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$C);
2544
+ return React__default.createElement(CheckboxContainer, null, React__default.createElement(CheckboxRoot, Object.assign({
2545
+ id: id
2546
+ }, props), React__default.createElement(RadixCheckbox.Indicator, null, React__default.createElement(CheckIcon, {
2547
+ size: 20
2548
+ }))), React__default.createElement(Label$1, {
2549
+ htmlFor: id
2550
+ }, label, " "));
2551
+ }
2552
+
2553
+ var ChipCointainer = /*#__PURE__*/styled('div', {
2554
+ display: 'inline-flex',
2555
+ justifyContent: 'center',
2556
+ alignItems: 'center',
2557
+ borderRadius: '$5',
2558
+ padding: '$4 $8',
2559
+ height: '32',
2560
+ fontSize: '$14',
2561
+ cursor: 'pointer',
2562
+ '&:hover': {
2563
+ backgroundColor: '$neutrals300'
2564
+ },
2565
+ variants: {
2566
+ selected: {
2567
+ "true": {
2568
+ backgroundColor: '$neutrals400'
2569
+ },
2570
+ "false": {
2571
+ backgroundColor: '$background'
2572
+ }
2573
+ }
2574
+ }
2575
+ });
2576
+ function Chip(props) {
2577
+ var label = props.label,
2578
+ selected = props.selected,
2579
+ prefix = props.prefix,
2580
+ suffix = props.suffix,
2581
+ onClick = props.onClick,
2582
+ style = props.style;
2583
+ return React__default.createElement(ChipCointainer, {
2584
+ selected: selected,
2585
+ onClick: onClick,
2586
+ style: style
2587
+ }, prefix || null, React__default.createElement(Typography, {
2588
+ variant: "body2"
2589
+ }, label), suffix || null);
2590
+ }
2591
+
2592
+ var BackDrop = /*#__PURE__*/styled('div', {
2593
+ position: 'fixed',
2594
+ display: 'flex',
2595
+ justifyContent: 'center',
2596
+ alignItems: 'center',
2597
+ top: '0',
2598
+ left: '0',
2599
+ width: '100vw',
2600
+ height: '100vh',
2601
+ backgroundColor: 'rgba(0,0,0,.1)'
2602
+ });
2603
+ var ModalContainer = /*#__PURE__*/styled('div', {
2604
+ backgroundColor: '$background',
2605
+ borderRadius: '$10',
2606
+ padding: '$16 $16',
2607
+ display: 'flex',
2608
+ flexDirection: 'column',
2609
+ boxShadow: '$s'
2610
+ });
2611
+ var ModalHeader = /*#__PURE__*/styled('div', {
2612
+ display: 'flex',
2613
+ justifyContent: 'space-between',
2614
+ alignItems: 'center',
2615
+ position: 'relative',
2616
+ marginBottom: '$16'
2617
+ });
2618
+ var ContentContainer$2 = /*#__PURE__*/styled('div', {
2619
+ overflowY: 'scroll'
2620
+ });
2621
+ function Modal(props) {
2622
+ var title = props.title,
2623
+ content = props.content,
2624
+ open = props.open,
2625
+ onClose = props.onClose,
2626
+ containerStyle = props.containerStyle,
2627
+ contentStyle = props.contentStyle;
2628
+ var handleBackDropClick = function handleBackDropClick(event) {
2629
+ if (event.target === event.currentTarget) onClose();
2630
+ };
2631
+ return React__default.createElement(React__default.Fragment, null, open && reactDom.createPortal(React__default.createElement(BackDrop, {
2632
+ onClick: handleBackDropClick
2633
+ }, React__default.createElement(ModalContainer, {
2634
+ style: containerStyle
2635
+ }, React__default.createElement(ModalHeader, null, React__default.createElement(Typography, {
2636
+ variant: "h4"
2637
+ }, title), React__default.createElement(CloseIcon, {
2638
+ size: 24,
2639
+ onClick: onClose
2640
+ })), React__default.createElement(ContentContainer$2, {
2641
+ style: contentStyle
2642
+ }, content))), document.body));
2643
+ }
2644
+
2645
+ (function (WalletState) {
2646
+ WalletState["NOT_INSTALLED"] = "not installed";
2647
+ WalletState["DISCONNECTED"] = "disconnected";
2648
+ WalletState["CONNECTING"] = "connecting";
2649
+ WalletState["CONNECTED"] = "connected";
2650
+ })(exports.WalletState || (exports.WalletState = {}));
2651
+
2652
+ var StateIconContainer = /*#__PURE__*/styled('span', {
2653
+ width: '$28',
2654
+ display: 'flex',
2655
+ justifyContent: 'center',
2656
+ alignItems: 'center'
2657
+ });
2658
+ var State = function State(_ref) {
2659
+ var walletState = _ref.walletState,
2660
+ installLink = _ref.installLink;
2661
+ return React__default.createElement(React.Fragment, null, walletState !== exports.WalletState.DISCONNECTED && React__default.createElement(StateIconContainer, null, walletState === exports.WalletState.NOT_INSTALLED && React__default.createElement("a", {
2662
+ href: walletsShared.detectInstallLink(installLink),
2663
+ target: "_blank"
2664
+ }, React__default.createElement(DownloadIcon, {
2665
+ size: 24,
2666
+ color: "success"
2667
+ })), walletState === exports.WalletState.CONNECTING && React__default.createElement(Spinner, null), walletState === exports.WalletState.CONNECTED && React__default.createElement(FilledCircle, null)));
2668
+ };
2669
+
2670
+ var WalletImage = /*#__PURE__*/styled('img', {
2671
+ width: '$24',
2672
+ height: '$24',
2673
+ marginRight: '$12'
2674
+ });
2675
+ function Wallet(props) {
2676
+ var name = props.name,
2677
+ type = props.type,
2678
+ image = props.image,
2679
+ state = props.state,
2680
+ _onClick = props.onClick,
2681
+ installLink = props.installLink;
2682
+ return React__default.createElement(Button, {
2683
+ type: state === exports.WalletState.CONNECTED ? 'primary' : undefined,
2684
+ disabled: !state,
2685
+ onClick: function onClick() {
2686
+ if (state === exports.WalletState.NOT_INSTALLED) {
2687
+ window.open(walletsShared.detectInstallLink(installLink), '_blank');
2688
+ } else _onClick(type);
2689
+ },
2690
+ align: "start",
2691
+ variant: "outlined",
2692
+ size: "large",
2693
+ prefix: React__default.createElement(WalletImage, {
2694
+ src: image
2695
+ }),
2696
+ suffix: React__default.createElement(State, {
2697
+ walletState: state,
2698
+ installLink: installLink
2699
+ })
2700
+ }, React__default.createElement(Typography, {
2701
+ variant: "h5",
2702
+ noWrap: false
2703
+ }, name));
2704
+ }
2705
+
2706
+ var ModalContent = /*#__PURE__*/styled('div', {
2707
+ display: 'grid',
2708
+ gap: '$8',
2709
+ gridTemplateColumns: 'repeat(2, minmax(0, 1fr))'
2710
+ });
2711
+ function ConnectWalletsModal(props) {
2712
+ var open = props.open,
2713
+ list = props.list,
2714
+ onSelect = props.onSelect,
2715
+ onClose = props.onClose;
2716
+ var Content = React__default.createElement(ModalContent, null, list.map(function (info, index) {
2717
+ return React__default.createElement(Wallet, Object.assign({}, info, {
2718
+ key: index,
2719
+ onClick: onSelect
2720
+ }));
2721
+ }));
2722
+ return React__default.createElement(Modal, {
2723
+ title: "Connect Wallets",
2724
+ open: open,
2725
+ content: Content,
2726
+ onClose: onClose,
2727
+ containerStyle: {
2728
+ width: '75%',
2729
+ maxWidth: '30rem',
2730
+ height: '70%'
2731
+ }
2732
+ });
2733
+ }
2734
+
2735
+ var SpacerContainer = /*#__PURE__*/styled('div', {
2736
+ variants: {
2737
+ size: {
2738
+ 12: {},
2739
+ 16: {},
2740
+ 18: {},
2741
+ 20: {},
2742
+ 24: {}
2743
+ },
2744
+ direction: {
2745
+ vertical: {},
2746
+ horizontal: {}
2747
+ }
2748
+ },
2749
+ compoundVariants: [{
2750
+ size: 12,
2751
+ direction: 'horizontal',
2752
+ css: {
2753
+ width: '$12'
2754
+ }
2755
+ }, {
2756
+ size: 12,
2757
+ direction: 'vertical',
2758
+ css: {
2759
+ height: '$12'
2760
+ }
2761
+ }, {
2762
+ size: 16,
2763
+ direction: 'horizontal',
2764
+ css: {
2765
+ width: '$16'
2766
+ }
2767
+ }, {
2768
+ size: 16,
2769
+ direction: 'vertical',
2770
+ css: {
2771
+ height: '$16'
2772
+ }
2773
+ }, {
2774
+ size: 18,
2775
+ direction: 'horizontal',
2776
+ css: {
2777
+ width: '$18'
2778
+ }
2779
+ }, {
2780
+ size: 18,
2781
+ direction: 'vertical',
2782
+ css: {
2783
+ height: '$18'
2784
+ }
2785
+ }, {
2786
+ size: 20,
2787
+ direction: 'horizontal',
2788
+ css: {
2789
+ width: '$20'
2790
+ }
2791
+ }, {
2792
+ size: 20,
2793
+ direction: 'vertical',
2794
+ css: {
2795
+ height: '$20'
2796
+ }
2797
+ }, {
2798
+ size: 24,
2799
+ direction: 'horizontal',
2800
+ css: {
2801
+ width: '$24'
2802
+ }
2803
+ }, {
2804
+ size: 24,
2805
+ direction: 'vertical',
2806
+ css: {
2807
+ height: '$24'
2808
+ }
2809
+ }]
2810
+ });
2811
+ function Spacer(_ref) {
2812
+ var _ref$size = _ref.size,
2813
+ size = _ref$size === void 0 ? 12 : _ref$size,
2814
+ _ref$direction = _ref.direction,
2815
+ direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
2816
+ return React__default.createElement(SpacerContainer, {
2817
+ size: size,
2818
+ direction: direction
2819
+ });
2820
+ }
2821
+
2822
+ var StyledSwitchRoot = /*#__PURE__*/styled(RadixSwitch.Root, {
2823
+ boxSizing: 'border-box',
2824
+ boxShadow: 'none',
2825
+ borderStyle: 'solid',
2826
+ width: '42px',
2827
+ height: '22px',
2828
+ backgroundColor: '$neutrals300',
2829
+ borderColor: '$neutrals400',
2830
+ borderRadius: '99999px',
2831
+ position: 'relative',
2832
+ cursor: 'pointer',
2833
+ '&[data-state="checked"]': {
2834
+ backgroundColor: '$primary100'
2835
+ },
2836
+ '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)'
2837
+ });
2838
+ var StyledSwitchThumb = /*#__PURE__*/styled(RadixSwitch.Thumb, {
2839
+ position: 'absolute',
2840
+ top: '0',
2841
+ boxSizing: 'border-box',
2842
+ display: 'block',
2843
+ width: '18px',
2844
+ height: '18px',
2845
+ backgroundColor: '$neutrals500',
2846
+ transition: ' transform 100ms',
2847
+ borderRadius: '999999px',
2848
+ willChange: 'transform',
2849
+ '&[data-state="checked"]': {
2850
+ transform: 'translateX(20px)',
2851
+ backgroundColor: '$primary500'
2852
+ }
2853
+ });
2854
+ function Switch(props) {
2855
+ var checked = props.checked,
2856
+ onChange = props.onChange;
2857
+ return React__default.createElement(StyledSwitchRoot, {
2858
+ checked: checked,
2859
+ onCheckedChange: onChange
2860
+ }, React__default.createElement(StyledSwitchThumb, null));
2861
+ }
2862
+
2863
+ var groupLiquiditySources = function groupLiquiditySources(liquiditySources) {
2864
+ return {
2865
+ bridge: liquiditySources.filter(function (liquiditySource) {
2866
+ return liquiditySource.type === 'BRIDGE' || liquiditySource.type === 'AGGREGATOR';
2867
+ }),
2868
+ exchange: liquiditySources.filter(function (liquiditySource) {
2869
+ return liquiditySource.type === 'DEX';
2870
+ })
2871
+ };
2872
+ };
2873
+ var LiquiditySourceType = /*#__PURE__*/styled(Typography, {
2874
+ position: 'sticky',
2875
+ top: '0',
2876
+ marginTop: '$8',
2877
+ marginBottom: '$8',
2878
+ backgroundColor: '$background',
2879
+ zIndex: '9999',
2880
+ paddingTop: '$8',
2881
+ paddingBottom: '$8'
2882
+ });
2883
+ var LiquidityImage = /*#__PURE__*/styled('img', {
2884
+ width: '$20',
2885
+ maxHeight: '$20',
2886
+ marginRight: '$16'
2887
+ });
2888
+ function LiquiditySourceList(props) {
2889
+ var list = props.list,
2890
+ onChange = props.onChange,
2891
+ listContainerStyle = props.listContainerStyle;
2892
+ var _useState = React.useState(list.filter(function (item) {
2893
+ return item.selected;
2894
+ })),
2895
+ selected = _useState[0],
2896
+ setSelected = _useState[1];
2897
+ var changeLiquiditySources = function changeLiquiditySources(clickedItem) {
2898
+ clickedItem.selected = !clickedItem.selected;
2899
+ setSelected(function (prevState) {
2900
+ if (clickedItem.selected) return [].concat(prevState, [clickedItem]);
2901
+ return prevState.filter(function (item) {
2902
+ return item.title != clickedItem.title;
2903
+ });
2904
+ });
2905
+ onChange(clickedItem);
2906
+ };
2907
+ var LiquiditySourceItem = function LiquiditySourceItem(_ref) {
2908
+ var liquiditySource = _ref.liquiditySource,
2909
+ selected = _ref.selected;
2910
+ return React__default.createElement(Button, {
2911
+ size: "large",
2912
+ align: "start",
2913
+ variant: "outlined",
2914
+ prefix: React__default.createElement(LiquidityImage, {
2915
+ src: liquiditySource.logo
2916
+ }),
2917
+ suffix: React__default.createElement(Switch, {
2918
+ checked: selected
2919
+ }),
2920
+ style: {
2921
+ marginBottom: '12px'
2922
+ },
2923
+ type: selected ? 'primary' : undefined,
2924
+ onClick: changeLiquiditySources.bind(null, liquiditySource)
2925
+ }, React__default.createElement(Typography, {
2926
+ variant: "body1"
2927
+ }, liquiditySource.title));
2928
+ };
2929
+ var isSelected = function isSelected(liquiditySource) {
2930
+ return !!selected.find(function (item) {
2931
+ return liquiditySource.title === item.title;
2932
+ });
2933
+ };
2934
+ return React__default.createElement("div", {
2935
+ style: _extends({
2936
+ height: '450px'
2937
+ }, listContainerStyle)
2938
+ }, React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, {
2939
+ variant: "h5"
2940
+ }, "Bridges"), React__default.createElement(Spacer, {
2941
+ size: 16,
2942
+ direction: "vertical"
2943
+ }), groupLiquiditySources(list).bridge.map(function (liquiditySource, index) {
2944
+ return React__default.createElement(LiquiditySourceItem, {
2945
+ liquiditySource: liquiditySource,
2946
+ key: index,
2947
+ selected: isSelected(liquiditySource)
2948
+ });
2949
+ })), React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, {
2950
+ variant: "h5"
2951
+ }, "Exchanges"), React__default.createElement(Spacer, {
2952
+ size: 16,
2953
+ direction: "vertical"
2954
+ }), groupLiquiditySources(list).exchange.map(function (liquiditySource, index) {
2955
+ return React__default.createElement(LiquiditySourceItem, {
2956
+ liquiditySource: liquiditySource,
2957
+ key: index,
2958
+ selected: isSelected(liquiditySource)
2959
+ });
2960
+ })));
2961
+ }
2962
+
2963
+ var filterLiquiditySources = function filterLiquiditySources(liquiditySources, searchedFor) {
2964
+ return liquiditySources.filter(function (liquiditySource) {
2965
+ return containsText$1(liquiditySource.title, searchedFor || '');
2966
+ });
2967
+ };
2968
+ var ActionButton = /*#__PURE__*/styled(Button, {
2969
+ position: 'absolute',
2970
+ right: 0
2971
+ });
2972
+ function LiquiditySourcesSelector(props) {
2973
+ var list = props.list,
2974
+ onChange = props.onChange,
2975
+ onBack = props.onBack,
2976
+ hasHeader = props.hasHeader,
2977
+ listContainerStyle = props.listContainerStyle,
2978
+ toggleAll = props.toggleAll;
2979
+ return React__default.createElement(SecondaryPage, {
2980
+ textField: true,
2981
+ textFieldPlaceholder: "Search By Name",
2982
+ title: "Liquidity Sources",
2983
+ TopButton: React__default.createElement(ActionButton, {
2984
+ variant: "ghost",
2985
+ type: "primary",
2986
+ onClick: toggleAll
2987
+ }, list.find(function (item) {
2988
+ return item.selected;
2989
+ }) ? 'Clear all' : 'Select all'),
2990
+ hasHeader: hasHeader,
2991
+ onBack: onBack,
2992
+ Content: function Content(_ref) {
2993
+ var searchedFor = _ref.searchedFor;
2994
+ return React__default.createElement(LiquiditySourceList, {
2995
+ listContainerStyle: listContainerStyle,
2996
+ list: filterLiquiditySources(list, searchedFor),
2997
+ onChange: onChange
2998
+ });
2999
+ }
3000
+ });
3001
+ }
3002
+
3003
+ var Row = /*#__PURE__*/styled('div', {
3004
+ display: 'flex',
3005
+ flexWrap: 'wrap'
3006
+ });
3007
+ var Circle = /*#__PURE__*/styled('div', {
3008
+ width: 12,
3009
+ height: 12,
3010
+ borderRadius: 6,
3011
+ border: '1px solid $neutrals400',
3012
+ position: 'absolute',
3013
+ top: 12,
3014
+ right: 12,
3015
+ variants: {
3016
+ checked: {
3017
+ "true": {
3018
+ borderColor: '$success'
3019
+ },
3020
+ "false": {
3021
+ borderColor: '$neutrals400'
3022
+ }
3023
+ }
3024
+ }
3025
+ });
3026
+ var SolidCircle = /*#__PURE__*/styled('div', {
3027
+ width: 6,
3028
+ margin: '20% auto',
3029
+ height: 6,
3030
+ borderRadius: 3,
3031
+ variants: {
3032
+ checked: {
3033
+ "true": {
3034
+ backgroundColor: '$success'
3035
+ },
3036
+ "false": {
3037
+ backgroundColor: '$neutrals400'
3038
+ }
3039
+ }
3040
+ }
3041
+ });
3042
+ var Container$2 = /*#__PURE__*/styled('div', {
3043
+ border: '1.5px solid',
3044
+ borderRadius: '$5',
3045
+ padding: '$12',
3046
+ flexBasis: 'calc(33.33% - 10px)',
3047
+ margin: 5,
3048
+ display: 'flex',
3049
+ flexDirection: 'column',
3050
+ justifyContent: 'space-between',
3051
+ width: 124,
3052
+ height: 92,
3053
+ cursor: 'pointer',
3054
+ position: 'relative',
3055
+ variants: {
3056
+ checked: {
3057
+ "true": {
3058
+ borderColor: '$success',
3059
+ color: '$success'
3060
+ },
3061
+ "false": {
3062
+ borderColor: '$neutrals400',
3063
+ color: '$neutrals400'
3064
+ }
3065
+ }
3066
+ }
3067
+ });
3068
+ function SelectableWalletList(_ref) {
3069
+ var _list$find;
3070
+ var list = _ref.list,
3071
+ onChange = _ref.onChange;
3072
+ var _useState = React.useState(((_list$find = list.find(function (item) {
3073
+ return item.selected;
3074
+ })) == null ? void 0 : _list$find.walletType) || ''),
3075
+ active = _useState[0],
3076
+ setActive = _useState[1];
3077
+ var onClick = function onClick(w) {
3078
+ setActive(w.walletType);
3079
+ onChange(w);
3080
+ };
3081
+ React.useEffect(function () {
3082
+ var _list$find2;
3083
+ setActive(((_list$find2 = list.find(function (item) {
3084
+ return item.selected;
3085
+ })) == null ? void 0 : _list$find2.walletType) || '');
3086
+ }, [list]);
3087
+ return React__default.createElement(Row, null, list.map(function (w, index) {
3088
+ var checked = active === w.walletType;
3089
+ return React__default.createElement(Container$2, {
3090
+ checked: checked,
3091
+ onClick: onClick.bind(null, w),
3092
+ key: index
3093
+ }, React__default.createElement("img", {
3094
+ src: w.image,
3095
+ alt: w.walletType,
3096
+ width: 24,
3097
+ height: 24
3098
+ }), React__default.createElement(Typography, {
3099
+ variant: "body2"
3100
+ }, w.walletType), React__default.createElement(Circle, {
3101
+ checked: checked
3102
+ }, React__default.createElement(SolidCircle, {
3103
+ checked: checked
3104
+ })));
3105
+ }));
3106
+ }
3107
+
3108
+ var StyledRoot = /*#__PURE__*/styled(RadioGroup.Root, {
3109
+ variants: {
3110
+ direction: {
3111
+ horizontal: {
3112
+ display: 'flex',
3113
+ flexDirection: 'row',
3114
+ flexWrap: 'wrap'
3115
+ },
3116
+ vertical: {
3117
+ display: 'grid',
3118
+ gridGap: '$24'
3119
+ }
3120
+ }
3121
+ }
3122
+ });
3123
+ var ItemContainer = /*#__PURE__*/styled('div', {
3124
+ display: 'flex',
3125
+ alignItems: 'center',
3126
+ marginRight: '$24'
3127
+ });
3128
+ var StyledItem = /*#__PURE__*/styled(RadioGroup.Item, {
3129
+ backgroundColor: '$neutrals300',
3130
+ width: '20px',
3131
+ height: '20px',
3132
+ borderRadius: '100%',
3133
+ border: 'none',
3134
+ cursor: 'pointer',
3135
+ '&:hover': {
3136
+ backgroundColor: '$neutrals400'
3137
+ }
3138
+ });
3139
+ var StyledIndicator = /*#__PURE__*/styled(RadioGroup.Indicator, {
3140
+ display: 'flex',
3141
+ alignItems: 'center',
3142
+ justifyContent: 'center',
3143
+ width: '100%',
3144
+ height: '100%',
3145
+ position: 'relative',
3146
+ '&::after': {
3147
+ content: '',
3148
+ display: 'block',
3149
+ width: '10px',
3150
+ height: '10px',
3151
+ borderRadius: '50%',
3152
+ backgroundColor: '$primary'
3153
+ }
3154
+ });
3155
+ var Label$2 = /*#__PURE__*/styled('label', {
3156
+ paddingLeft: '$16',
3157
+ cursor: 'pointer'
3158
+ });
3159
+ function Radio(props) {
3160
+ var defaultValue = props.defaultValue,
3161
+ onChange = props.onChange,
3162
+ _props$direction = props.direction,
3163
+ direction = _props$direction === void 0 ? 'vertical' : _props$direction,
3164
+ style = props.style;
3165
+ return React__default.createElement("form", null, React__default.createElement(StyledRoot, {
3166
+ onValueChange: onChange,
3167
+ defaultValue: defaultValue,
3168
+ direction: direction,
3169
+ style: style
3170
+ }, props.options.map(function (option) {
3171
+ return React__default.createElement(ItemContainer, null, React__default.createElement(StyledItem, {
3172
+ value: option.value,
3173
+ id: option.value
3174
+ }, React__default.createElement(StyledIndicator, null)), React__default.createElement(Label$2, {
3175
+ htmlFor: option.value
3176
+ }, React__default.createElement(Typography, {
3177
+ variant: "body2"
3178
+ }, option.label)));
3179
+ })));
3180
+ }
3181
+
3182
+ var BaseContainer = /*#__PURE__*/styled('div', {
3183
+ borderRadius: '$5',
3184
+ backgroundColor: '$neutrals200',
3185
+ padding: '$16'
3186
+ });
3187
+ var SlippageChipsContainer = /*#__PURE__*/styled('div', {
3188
+ display: 'flex',
3189
+ flexWrap: 'wrap',
3190
+ marginTop: '$16'
3191
+ });
3192
+ var LiquiditySourceContainer = /*#__PURE__*/styled(BaseContainer, {
3193
+ display: 'flex',
3194
+ justifyContent: 'space-between',
3195
+ marginTop: '$32',
3196
+ cursor: 'pointer'
3197
+ });
3198
+ var StyledAngleRight = /*#__PURE__*/styled(AngleRightIcon, {
3199
+ marginLeft: '8px'
3200
+ });
3201
+ var LiquiditySourceNumber = /*#__PURE__*/styled('div', {
3202
+ display: 'flex',
3203
+ alignItems: 'center',
3204
+ justifyContent: 'center'
3205
+ });
3206
+ var ThemesContainer = /*#__PURE__*/styled(BaseContainer, {
3207
+ marginTop: '$32'
3208
+ });
3209
+ function Settings(props) {
3210
+ var slippages = props.slippages,
3211
+ selectedLiquiditySources = props.selectedLiquiditySources,
3212
+ liquiditySources = props.liquiditySources,
3213
+ onSlippageChange = props.onSlippageChange,
3214
+ onLiquiditySourcesClick = props.onLiquiditySourcesClick,
3215
+ onBack = props.onBack,
3216
+ customSlippage = props.customSlippage,
3217
+ onCustomSlippageChange = props.onCustomSlippageChange,
3218
+ maxSlippage = props.maxSlippage,
3219
+ minSlippage = props.minSlippage,
3220
+ selectedTheme = props.selectedTheme,
3221
+ onThemeChange = props.onThemeChange;
3222
+ var _useState = React.useState(props.selectedSlippage),
3223
+ selectedSlippage = _useState[0],
3224
+ setSelectedSlippage = _useState[1];
3225
+ var changeSlippage = function changeSlippage(slippage) {
3226
+ setSelectedSlippage(slippage);
3227
+ onSlippageChange(slippage);
3228
+ };
3229
+ var PageContent = React__default.createElement(React__default.Fragment, null, React__default.createElement(BaseContainer, null, React__default.createElement(Typography, {
3230
+ variant: "body1"
3231
+ }, "Slippage tolerance per swap"), React__default.createElement(SlippageChipsContainer, null, slippages.map(function (slippage, index) {
3232
+ return React__default.createElement(Chip, {
3233
+ key: index,
3234
+ onClick: function onClick() {
3235
+ if (customSlippage) onCustomSlippageChange(null);
3236
+ changeSlippage(slippage);
3237
+ },
3238
+ selected: !customSlippage && slippage === selectedSlippage,
3239
+ label: slippage.toString() + " %",
3240
+ style: {
3241
+ marginRight: '8px'
3242
+ }
3243
+ });
3244
+ }), React__default.createElement(TextField, {
3245
+ type: "number",
3246
+ value: customSlippage,
3247
+ onChange: function onChange(event) {
3248
+ var parsedValue = parseFloat(event.target.value);
3249
+ if (!parsedValue || parsedValue >= minSlippage && parsedValue <= maxSlippage) onCustomSlippageChange(parsedValue);
3250
+ },
3251
+ suffix: customSlippage && React__default.createElement(Typography, {
3252
+ variant: "body2"
3253
+ }, "%"),
3254
+ size: "small",
3255
+ placeholder: "Custom",
3256
+ style: {
3257
+ width: '128px',
3258
+ flexGrow: 'initial',
3259
+ borderColor: customSlippage ? '$success' : 'initial'
3260
+ }
3261
+ }))), React__default.createElement(ThemesContainer, null, React__default.createElement(Typography, {
3262
+ variant: "body2"
3263
+ }, "Theme"), React__default.createElement(Radio, {
3264
+ defaultValue: selectedTheme,
3265
+ options: [{
3266
+ value: 'dark',
3267
+ label: 'Dark'
3268
+ }, {
3269
+ value: 'light',
3270
+ label: 'Light'
3271
+ }, {
3272
+ value: 'auto',
3273
+ label: 'Auto'
3274
+ }],
3275
+ onChange: function onChange(value) {
3276
+ return onThemeChange(value);
3277
+ },
3278
+ direction: "horizontal",
3279
+ style: {
3280
+ marginTop: '$24'
3281
+ }
3282
+ })), React__default.createElement(LiquiditySourceContainer, {
3283
+ onClick: onLiquiditySourcesClick
3284
+ }, React__default.createElement(Typography, {
3285
+ variant: "body1"
3286
+ }, "Liquidity Sources"), React__default.createElement(LiquiditySourceNumber, {
3287
+ onClick: onLiquiditySourcesClick
3288
+ }, React__default.createElement(Typography, {
3289
+ variant: "body2"
3290
+ }, "( " + selectedLiquiditySources.length + " / " + liquiditySources.length + " )"), React__default.createElement(StyledAngleRight, null))));
3291
+ return React__default.createElement(SecondaryPage, {
3292
+ title: "Settings",
3293
+ textField: false,
3294
+ Content: PageContent,
3295
+ onBack: onBack
3296
+ });
3297
+ }
3298
+
3299
+ var MainContainer$1 = /*#__PURE__*/styled('div', {
3300
+ borderRadius: '$10',
3301
+ maxWidth: '512px',
3302
+ boxShadow: '$s',
3303
+ minWidth: '375px',
3304
+ width: '100%',
3305
+ backgroundColor: '$background',
3306
+ display: 'flex',
3307
+ flexDirection: 'column',
3308
+ alignItems: 'end',
3309
+ padding: '$16 $24'
3310
+ });
3311
+ var ContentContainer$3 = /*#__PURE__*/styled('div', {
3312
+ width: '100%'
3313
+ });
3314
+ function SwapContainer(props) {
3315
+ var children = props.children,
3316
+ style = props.style;
3317
+ return React__default.createElement(MainContainer$1, {
3318
+ style: style
3319
+ }, React__default.createElement(ContentContainer$3, null, children));
3320
+ }
3321
+
3322
+ var Container$3 = /*#__PURE__*/styled('div', {
3323
+ position: 'relative'
3324
+ });
3325
+ var ButtonContainer$1 = /*#__PURE__*/styled('div', {
3326
+ paddingTop: '$8'
3327
+ });
3328
+ var SwapContainer$1 = /*#__PURE__*/styled('div', {
3329
+ display: 'flex',
3330
+ justifyContent: 'space-between',
3331
+ '@md': {
3332
+ padding: '$12'
3333
+ },
3334
+ '&:hover': {
3335
+ borderColor: '$primary'
3336
+ },
3337
+ variants: {
3338
+ status: {
3339
+ failed: {
3340
+ borderColor: '$error'
3341
+ },
3342
+ running: {
3343
+ borderColor: '$neutrals400'
3344
+ },
3345
+ success: {
3346
+ borderColor: '$success'
3347
+ }
3348
+ }
3349
+ }
3350
+ });
3351
+ var Arrow = /*#__PURE__*/styled('div', {
3352
+ display: 'flex',
3353
+ justifyContent: 'center',
3354
+ alignItems: 'center'
3355
+ });
3356
+ var Line$1 = /*#__PURE__*/styled('div', {
3357
+ height: '0',
3358
+ width: '$20',
3359
+ border: '1px dashed $foreground',
3360
+ borderRadius: 'inherit',
3361
+ '@md': {
3362
+ width: '$36'
3363
+ },
3364
+ '@lg': {
3365
+ width: '$48'
3366
+ }
3367
+ });
3368
+ var Dot$1 = /*#__PURE__*/styled('div', {
3369
+ width: '$6',
3370
+ height: '$6',
3371
+ backgroundColor: '$foreground',
3372
+ borderRadius: '50%',
3373
+ '@lg': {
3374
+ width: '$8',
3375
+ height: '$8'
3376
+ }
3377
+ });
3378
+ var ArrowRight$1 = /*#__PURE__*/styled('div', {
3379
+ width: '0px',
3380
+ height: '0px',
3381
+ borderTop: '5px solid transparent',
3382
+ borderBottom: '5px solid transparent',
3383
+ borderLeft: '5px solid $foreground'
3384
+ });
3385
+ var StatusContainer = /*#__PURE__*/styled('div', {
3386
+ position: 'absolute',
3387
+ right: '-8px',
3388
+ top: '30%',
3389
+ background: '$background',
3390
+ borderRadius: '50%',
3391
+ display: 'flex',
3392
+ justifyContent: 'center',
3393
+ '@md': {
3394
+ top: '40%',
3395
+ right: '-8px'
3396
+ }
3397
+ });
3398
+ function SwapDetail(_ref) {
3399
+ var swap = _ref.swap,
3400
+ status = _ref.status,
3401
+ onClick = _ref.onClick;
3402
+ var firstStep = swap.steps[0];
3403
+ var lastStep = swap.steps[swap.steps.length - 1];
3404
+ return React__default.createElement(Container$3, {
3405
+ onClick: onClick.bind(null, swap.requestId)
3406
+ }, React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
3407
+ variant: "outlined",
3408
+ align: "grow",
3409
+ size: "large",
3410
+ type: status === 'failed' ? 'error' : status === 'success' ? 'success' : undefined
3411
+ }, React__default.createElement(SwapContainer$1, null, React__default.createElement(StepDetail, {
3412
+ logo: firstStep.fromLogo,
3413
+ symbol: firstStep.fromSymbol,
3414
+ chainLogo: firstStep.fromBlockchainLogo,
3415
+ blockchain: firstStep.fromBlockchain,
3416
+ amount: swap.inputAmount
3417
+ }), React__default.createElement(Arrow, null, React__default.createElement(Dot$1, null), React__default.createElement(Line$1, null), React__default.createElement(ArrowRight$1, null)), React__default.createElement(StepDetail, {
3418
+ logo: lastStep.fromLogo,
3419
+ symbol: lastStep.fromSymbol,
3420
+ chainLogo: lastStep.fromBlockchainLogo,
3421
+ blockchain: lastStep.fromBlockchain,
3422
+ amount: lastStep.outputAmount
3423
+ })))), React__default.createElement(StatusContainer, null, status === 'running' ? React__default.createElement(TryAgainIcon, {
3424
+ size: 16
3425
+ }) : status === 'failed' ? React__default.createElement(InfoCircleIcon, {
3426
+ size: 18,
3427
+ color: "error"
3428
+ }) : React__default.createElement(CheckCircleIcon, {
3429
+ size: 18,
3430
+ color: "success"
3431
+ })));
3432
+ }
3433
+
3434
+ function VirtualizedList(props) {
3435
+ var itemCount = props.itemCount,
3436
+ hasNextPage = props.hasNextPage,
3437
+ isNextPageLoading = props.isNextPageLoading,
3438
+ loadNextPage = props.loadNextPage,
3439
+ Item = props.Item,
3440
+ innerElementType = props.innerElementType,
3441
+ size = props.size;
3442
+ var listRef = React.useRef(null);
3443
+ var isItemLoaded = function isItemLoaded(index) {
3444
+ return !hasNextPage || index < itemCount;
3445
+ };
3446
+ return React__default.createElement(InfiniteLoader, {
3447
+ isItemLoaded: isItemLoaded,
3448
+ itemCount: hasNextPage ? itemCount + 1 : itemCount,
3449
+ loadMoreItems: isNextPageLoading ? function () {
3450
+ // do nothing
3451
+ } : loadNextPage,
3452
+ threshold: 1
3453
+ }, function (_ref) {
3454
+ var onItemsRendered = _ref.onItemsRendered;
3455
+ return React__default.createElement(AutoSizer, null, function (_ref2) {
3456
+ var width = _ref2.width,
3457
+ height = _ref2.height;
3458
+ return React__default.createElement(reactWindow.VariableSizeList, {
3459
+ innerElementType: innerElementType,
3460
+ ref: listRef,
3461
+ itemSize: function itemSize() {
3462
+ return size;
3463
+ },
3464
+ itemCount: itemCount,
3465
+ height: height,
3466
+ width: width,
3467
+ onItemsRendered: onItemsRendered
3468
+ }, function (_ref3) {
3469
+ var index = _ref3.index,
3470
+ style = _ref3.style;
3471
+ return isItemLoaded(index) ? React__default.createElement(Item, {
3472
+ index: index,
3473
+ style: style
3474
+ }) : null;
3475
+ });
3476
+ });
3477
+ });
3478
+ }
3479
+
3480
+ var _excluded$D = ["style"];
3481
+ var PAGE_SIZE = 20;
3482
+ var TokenImage = /*#__PURE__*/styled('img', {
3483
+ width: '$32',
3484
+ maxHeight: '$32',
3485
+ marginRight: '$16'
3486
+ });
3487
+ var TokenNameContainer = /*#__PURE__*/styled('div', {
3488
+ display: 'flex',
3489
+ flexDirection: 'column'
3490
+ });
3491
+ var TokenAmountContainer = /*#__PURE__*/styled('div', {
3492
+ display: 'flex',
3493
+ flexDirection: 'column',
3494
+ alignItems: 'flex-end'
3495
+ });
3496
+ var filterTokens = function filterTokens(list, searchedText, outputCount) {
3497
+ if (searchedText) return list.filter(function (token) {
3498
+ return containsText$1(token.symbol, searchedText) || containsText$1(token.address || '', searchedText) || containsText$1(token.name || '', searchedText);
3499
+ }).slice(0, outputCount);else return list.slice(0, outputCount);
3500
+ };
3501
+ function TokenList(props) {
3502
+ var list = props.list,
3503
+ searchedText = props.searchedText,
3504
+ onChange = props.onChange;
3505
+ var _useState = React.useState(props.selected),
3506
+ selected = _useState[0],
3507
+ setSelected = _useState[1];
3508
+ var changeSelected = function changeSelected(token) {
3509
+ setSelected(token);
3510
+ onChange(token);
3511
+ };
3512
+ var Token = function Token(_ref) {
3513
+ var _currentToken$balance;
3514
+ var filteredTokens = _ref.filteredTokens,
3515
+ index = _ref.index,
3516
+ style = _ref.style;
3517
+ var currentToken = filteredTokens[index];
3518
+ return React__default.createElement("div", {
3519
+ style: _extends({
3520
+ display: 'flex',
3521
+ alignItems: 'center',
3522
+ width: '100%'
3523
+ }, style, {
3524
+ height: '48px',
3525
+ top: parseFloat(style == null ? void 0 : style.top) + 0 + "px"
3526
+ })
3527
+ }, React__default.createElement(Button, {
3528
+ variant: "outlined",
3529
+ size: "large",
3530
+ align: "start",
3531
+ onClick: changeSelected.bind(null, currentToken),
3532
+ type: (selected == null ? void 0 : selected.symbol) === currentToken.symbol && (selected == null ? void 0 : selected.address) === currentToken.address ? 'primary' : undefined,
3533
+ prefix: React__default.createElement(TokenImage, {
3534
+ src: currentToken.image
3535
+ }),
3536
+ suffix: ((_currentToken$balance = currentToken.balance) == null ? void 0 : _currentToken$balance.amount) && React__default.createElement(TokenAmountContainer, null, React__default.createElement(Typography, {
3537
+ variant: "body2"
3538
+ }, currentToken.balance.amount), React__default.createElement(Typography, {
3539
+ variant: "caption"
3540
+ }, currentToken.balance.usdValue + "$"))
3541
+ }, React__default.createElement(TokenNameContainer, null, React__default.createElement(Typography, {
3542
+ variant: "body1"
3543
+ }, currentToken.symbol), React__default.createElement(Typography, {
3544
+ variant: "body2"
3545
+ }, currentToken.name))));
3546
+ };
3547
+ var _useState2 = React.useState(true),
3548
+ hasNextPage = _useState2[0],
3549
+ setHasNextPage = _useState2[1];
3550
+ var _useState3 = React.useState(false),
3551
+ isNextPageLoading = _useState3[0],
3552
+ setIsNextPageLoading = _useState3[1];
3553
+ var _useState4 = React.useState(list),
3554
+ filteredTokens = _useState4[0],
3555
+ setFilteredTokens = _useState4[1];
3556
+ var loadNextPage = function loadNextPage() {
3557
+ setIsNextPageLoading(true);
3558
+ setTimeout(function () {
3559
+ setIsNextPageLoading(false);
3560
+ setFilteredTokens(filterTokens(list, searchedText, filteredTokens.length + PAGE_SIZE));
3561
+ }, 0);
3562
+ };
3563
+ React.useEffect(function () {
3564
+ setFilteredTokens(filterTokens(list, searchedText, PAGE_SIZE));
3565
+ }, [searchedText]);
3566
+ React.useEffect(function () {
3567
+ setHasNextPage(filterTokens(list, searchedText).length > filterTokens.length);
3568
+ }, [filteredTokens.length]);
3569
+ var innerElementType = React.forwardRef(function (_ref2, ref) {
3570
+ var style = _ref2.style,
3571
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded$D);
3572
+ return React__default.createElement("div", Object.assign({
3573
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3574
+ ref: ref,
3575
+ style: _extends({}, style, {
3576
+ // eslint-disable-next-line react/prop-types
3577
+ height: parseFloat(style == null ? void 0 : style.height) + 8 * 2 + "px"
3578
+ })
3579
+ }, rest));
3580
+ });
3581
+ return React__default.createElement("div", {
3582
+ style: {
3583
+ height: '450px'
3584
+ }
3585
+ }, React__default.createElement(VirtualizedList, {
3586
+ Item: function Item(_ref3) {
3587
+ var index = _ref3.index,
3588
+ style = _ref3.style;
3589
+ return React__default.createElement(Token, {
3590
+ filteredTokens: filteredTokens,
3591
+ style: style,
3592
+ index: index
3593
+ });
3594
+ },
3595
+ hasNextPage: hasNextPage,
3596
+ isNextPageLoading: isNextPageLoading,
3597
+ itemCount: filteredTokens.length,
3598
+ loadNextPage: loadNextPage,
3599
+ innerElementType: innerElementType,
3600
+ size: 56
3601
+ }));
3602
+ }
3603
+
3604
+ function TokenSelector(props) {
3605
+ var list = props.list,
3606
+ type = props.type,
3607
+ selected = props.selected,
3608
+ onChange = props.onChange,
3609
+ onBack = props.onBack,
3610
+ hasHeader = props.hasHeader;
3611
+ return React__default.createElement(SecondaryPage, {
3612
+ textField: true,
3613
+ textFieldPlaceholder: "Search Blockchain By Name",
3614
+ title: "Select " + type + " Token",
3615
+ hasHeader: hasHeader,
3616
+ onBack: onBack,
3617
+ Content: function Content(_ref) {
3618
+ var searchedFor = _ref.searchedFor;
3619
+ return React__default.createElement(TokenList, {
3620
+ searchedText: searchedFor,
3621
+ list: list,
3622
+ selected: selected,
3623
+ onChange: onChange
3624
+ });
3625
+ }
3626
+ });
3627
+ }
3628
+
3629
+ var TooltipTrigger = /*#__PURE__*/styled(RadixTooltip.Trigger, {
3630
+ border: 0,
3631
+ padding: 0,
3632
+ backgroundColor: 'transparent'
3633
+ });
3634
+ var TooltipContent = /*#__PURE__*/styled(RadixTooltip.Content, {
3635
+ borderRadius: '$5',
3636
+ padding: '$4 $8',
3637
+ fontSize: '$14',
3638
+ animationDuration: '400ms',
3639
+ animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',
3640
+ willChange: 'transform, opacity',
3641
+ variants: {
3642
+ color: {
3643
+ primary: {
3644
+ backgroundColor: '$primary',
3645
+ color: '$white'
3646
+ },
3647
+ error: {
3648
+ backgroundColor: '$error',
3649
+ color: '$white'
3650
+ },
3651
+ warning: {
3652
+ backgroundColor: '$warning',
3653
+ color: '$white'
3654
+ },
3655
+ success: {
3656
+ backgroundColor: '$success',
3657
+ color: '$white'
3658
+ },
3659
+ gray: {
3660
+ backgroundColor: '$neutrals300',
3661
+ color: '$black'
3662
+ },
3663
+ black: {
3664
+ backgroundColor: '$black',
3665
+ color: '$white'
3666
+ },
3667
+ white: {
3668
+ backgroundColor: '$white',
3669
+ color: '$black'
3670
+ }
3671
+ }
3672
+ }
3673
+ });
3674
+ var TooltipArrow = /*#__PURE__*/styled(RadixTooltip.Arrow, {
3675
+ variants: {
3676
+ color: {
3677
+ primary: {
3678
+ fill: '$primary'
3679
+ },
3680
+ error: {
3681
+ fill: '$error'
3682
+ },
3683
+ warning: {
3684
+ fill: '$warning'
3685
+ },
3686
+ success: {
3687
+ fill: '$success'
3688
+ },
3689
+ gray: {
3690
+ fill: '$neutrals300'
3691
+ },
3692
+ black: {
3693
+ fill: '$black'
3694
+ },
3695
+ white: {
3696
+ fill: '$white'
3697
+ }
3698
+ }
3699
+ }
3700
+ });
3701
+ function Tooltip(_ref) {
3702
+ var children = _ref.children,
3703
+ content = _ref.content,
3704
+ _ref$side = _ref.side,
3705
+ side = _ref$side === void 0 ? 'top' : _ref$side,
3706
+ _ref$color = _ref.color,
3707
+ color = _ref$color === void 0 ? 'gray' : _ref$color;
3708
+ return React__default.createElement(RadixTooltip.Provider, null, React__default.createElement(RadixTooltip.Root, null, React__default.createElement(TooltipTrigger, null, children), React__default.createElement(RadixTooltip.Portal, null, React__default.createElement(TooltipContent, {
3709
+ color: color,
3710
+ side: side,
3711
+ sideOffset: 5
3712
+ }, content, React__default.createElement(TooltipArrow, {
3713
+ color: color
3714
+ })))));
3715
+ }
3716
+
3717
+ var Line$2 = /*#__PURE__*/styled('div', {
3718
+ width: '0',
3719
+ marginLeft: '$12',
3720
+ height: '36px',
3721
+ border: '1px dashed $foreground',
3722
+ borderRadius: 'inherit'
3723
+ });
3724
+ var SwapperContainer$1 = /*#__PURE__*/styled('div', {
3725
+ display: 'flex',
3726
+ alignItems: 'center',
3727
+ marginLeft: '6px'
3728
+ });
3729
+ var Fee = /*#__PURE__*/styled('div', {
3730
+ display: 'flex',
3731
+ alignItems: 'center'
3732
+ });
3733
+ var SwapperLogo$1 = /*#__PURE__*/styled('img', {
3734
+ width: '$16',
3735
+ height: '$16'
3736
+ });
3737
+ var RelativeContainer$1 = /*#__PURE__*/styled('div', {
3738
+ position: 'relative'
3739
+ });
3740
+ var Footer = /*#__PURE__*/styled('div', {
3741
+ display: 'flex',
3742
+ alignItems: 'center'
3743
+ });
3744
+ var Dot$2 = /*#__PURE__*/styled('div', {
3745
+ width: '$8',
3746
+ height: '$8',
3747
+ backgroundColor: '$foreground',
3748
+ borderRadius: '4px',
3749
+ marginLeft: '$8'
3750
+ });
3751
+ var ArrowDown = /*#__PURE__*/styled('div', {
3752
+ width: '0px',
3753
+ height: '0px',
3754
+ borderLeft: '5px solid transparent',
3755
+ borderRight: '5px solid transparent',
3756
+ borderTop: '5px solid $foreground',
3757
+ marginLeft: '$8'
3758
+ });
3759
+ var Alerts = /*#__PURE__*/styled('div', {
3760
+ paddingBottom: '$16'
3761
+ });
3762
+ function ConfirmSwap(_ref) {
3763
+ var _bestRoute$result;
3764
+ var bestRoute = _ref.bestRoute,
3765
+ onBack = _ref.onBack,
3766
+ onConfirm = _ref.onConfirm,
3767
+ loading = _ref.loading,
3768
+ error = _ref.error,
3769
+ warning = _ref.warning;
3770
+ return React__default.createElement(SecondaryPage, {
3771
+ textField: false,
3772
+ title: "Swap",
3773
+ onBack: onBack,
3774
+ Footer: React__default.createElement(Footer, null, React__default.createElement(Button, {
3775
+ type: "primary",
3776
+ fullWidth: true,
3777
+ loading: loading,
3778
+ variant: "contained",
3779
+ onClick: onConfirm
3780
+ }, "Swap")),
3781
+ Content: bestRoute == null ? void 0 : (_bestRoute$result = bestRoute.result) == null ? void 0 : _bestRoute$result.swaps.map(function (swap, index) {
3782
+ var _bestRoute$result2;
3783
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Alerts, null, error && React__default.createElement(Alert, {
3784
+ description: error,
3785
+ type: "error"
3786
+ }), warning && React__default.createElement(Alert, {
3787
+ description: warning,
3788
+ type: "warning"
3789
+ })), index === 0 && React__default.createElement(RelativeContainer$1, null, React__default.createElement(StepDetail, {
3790
+ logo: swap.from.logo,
3791
+ symbol: swap.from.symbol,
3792
+ chainLogo: swap.from.blockchainLogo,
3793
+ blockchain: swap.from.blockchain,
3794
+ amount: swap.fromAmount
3795
+ }), React__default.createElement(Dot$2, null)), React__default.createElement(Line$2, null), React__default.createElement(SwapperContainer$1, null, React__default.createElement(SwapperLogo$1, {
3796
+ src: swap.swapperLogo,
3797
+ alt: swap.swapperId
3798
+ }), React__default.createElement("div", null, React__default.createElement(Typography, {
3799
+ ml: 4,
3800
+ variant: "caption"
3801
+ }, swap.swapperType, " from ", swap.from.symbol, " to ", swap.to.symbol, ' ', "via ", swap.swapperId, ' '), React__default.createElement(Fee, null, React__default.createElement(GasIcon, null), React__default.createElement(Typography, {
3802
+ ml: 4,
3803
+ variant: "caption"
3804
+ }, parseFloat(swap.fee[0].amount).toFixed(6), " estimated gas fee")))), React__default.createElement(Line$2, null), index + 1 === ((_bestRoute$result2 = bestRoute.result) == null ? void 0 : _bestRoute$result2.swaps.length) && React__default.createElement(ArrowDown, null), React__default.createElement(StepDetail, {
3805
+ logo: swap.to.logo,
3806
+ symbol: swap.to.symbol,
3807
+ chainLogo: swap.to.blockchainLogo,
3808
+ blockchain: swap.to.blockchain,
3809
+ amount: swap.toAmount
3810
+ }));
3811
+ })
3812
+ });
3813
+ }
3814
+
3815
+ var Footer$1 = /*#__PURE__*/styled('div', {
3816
+ display: 'flex',
3817
+ alignItems: 'center'
3818
+ });
3819
+ var AlertContainer = /*#__PURE__*/styled('div', {
3820
+ padding: '$16 0'
3821
+ });
3822
+ function ConfirmWallets(_ref) {
3823
+ var _swap$result, _swap$result2, _swap$result3;
3824
+ var onBack = _ref.onBack,
3825
+ loading = _ref.loading,
3826
+ onConfirm = _ref.onConfirm,
3827
+ swap = _ref.swap,
3828
+ requiredWallets = _ref.requiredWallets,
3829
+ selectableWallets = _ref.selectableWallets,
3830
+ onChange = _ref.onChange,
3831
+ confirmDisabled = _ref.confirmDisabled;
3832
+ var firstStep = (_swap$result = swap.result) == null ? void 0 : _swap$result.swaps[0];
3833
+ var lastStep = (_swap$result2 = swap.result) == null ? void 0 : _swap$result2.swaps[((_swap$result3 = swap.result) == null ? void 0 : _swap$result3.swaps.length) - 1];
3834
+ var fromAmount = decimalNumber(firstStep == null ? void 0 : firstStep.fromAmount, 3);
3835
+ var toAmount = decimalNumber(lastStep == null ? void 0 : lastStep.toAmount, 3);
3836
+ return React__default.createElement(SecondaryPage, {
3837
+ textField: false,
3838
+ title: "Swap",
3839
+ onBack: onBack,
3840
+ Footer: React__default.createElement(Footer$1, null, React__default.createElement(Button, {
3841
+ fullWidth: true,
3842
+ loading: loading,
3843
+ type: "primary",
3844
+ variant: "contained",
3845
+ onClick: onConfirm,
3846
+ disabled: confirmDisabled
3847
+ }, "Confirm")),
3848
+ Content: React__default.createElement(React__default.Fragment, null, React__default.createElement(Typography, {
3849
+ variant: "h6",
3850
+ mb: 12
3851
+ }, "Confirm swap ", fromAmount, " ", lastStep == null ? void 0 : lastStep.from.symbol, " (", firstStep == null ? void 0 : firstStep.from.blockchain, ") to ", toAmount, " ", lastStep == null ? void 0 : lastStep.to.symbol, ' ', "(on ", lastStep == null ? void 0 : lastStep.to.blockchain, ")"), requiredWallets.map(function (wallet, index) {
3852
+ var list = selectableWallets.filter(function (w) {
3853
+ return wallet === w.chain;
3854
+ });
3855
+ return React__default.createElement("div", {
3856
+ key: index
3857
+ }, React__default.createElement(Typography, {
3858
+ variant: "body2",
3859
+ mb: 12,
3860
+ mt: 12
3861
+ }, index + 1, ") Your ", wallet, " Wallet"), list.length === 0 && React__default.createElement(AlertContainer, null, React__default.createElement(Alert, {
3862
+ type: "error",
3863
+ description: "You should connect a " + wallet + " supported wallet"
3864
+ })), list.length != 0 && React__default.createElement(SelectableWalletList, {
3865
+ list: list,
3866
+ onChange: onChange
3867
+ }));
3868
+ }))
3869
+ });
3870
+ }
3871
+
3872
+ function groupingOfSwaps(list) {
3873
+ return list.reduce(function (acc, swap) {
3874
+ var categoryIndex = acc.findIndex(function (item) {
3875
+ return swap.status === 'running' && item.title == 'Active Swaps' || swap.status !== 'running' && item.title == 'Recent Swaps';
3876
+ });
3877
+ if (categoryIndex > -1) {
3878
+ acc[categoryIndex].swaps.push(swap);
3879
+ } else {
3880
+ acc.push({
3881
+ title: swap.status === 'running' ? 'Active Swaps' : 'Recent Swaps',
3882
+ swaps: [swap]
3883
+ });
3884
+ }
3885
+ return acc;
3886
+ }, []);
3887
+ }
3888
+
3889
+ var BodyError = /*#__PURE__*/styled('div', {
3890
+ height: '100%',
3891
+ display: 'flex',
3892
+ justifyContent: 'center',
3893
+ alignItems: 'center'
3894
+ });
3895
+ var ErrorMsg$1 = /*#__PURE__*/styled(Typography, {
3896
+ color: '$error'
3897
+ });
3898
+ var filteredHistory = function filteredHistory(list, searchedFor) {
3899
+ return list.filter(function (swap) {
3900
+ var firstStep = swap.steps[0];
3901
+ var lastStep = swap.steps[swap.steps.length - 1];
3902
+ return containsText(firstStep.fromBlockchain, searchedFor) || containsText(firstStep.fromSymbol, searchedFor) || containsText(lastStep.toBlockchain, searchedFor) || containsText(lastStep.toSymbol, searchedFor) || containsText(swap.requestId, searchedFor);
3903
+ });
3904
+ };
3905
+ var Group = /*#__PURE__*/styled('div', {
3906
+ marginBottom: '$24',
3907
+ paddingRight: '$8'
3908
+ });
3909
+ var GroupTitle = /*#__PURE__*/styled(Typography, {
3910
+ color: '$neutrals500'
3911
+ });
3912
+ var SwapsGroup = function SwapsGroup(props) {
3913
+ var list = props.list,
3914
+ onSwapClick = props.onSwapClick;
3915
+ var swapsInGroup = groupingOfSwaps(list);
3916
+ return React__default.createElement(React__default.Fragment, null, swapsInGroup.map(function (group) {
3917
+ return React__default.createElement(Group, null, React__default.createElement(GroupTitle, {
3918
+ variant: "body2"
3919
+ }, group.title), group.swaps.map(function (swap) {
3920
+ return React__default.createElement(SwapDetail, {
3921
+ swap: swap,
3922
+ status: swap.status,
3923
+ onClick: onSwapClick
3924
+ });
3925
+ }));
3926
+ }));
3927
+ };
3928
+ function History(_ref) {
3929
+ var _ref$list = _ref.list,
3930
+ list = _ref$list === void 0 ? [] : _ref$list,
3931
+ onBack = _ref.onBack,
3932
+ onSwapClick = _ref.onSwapClick;
3933
+ return React__default.createElement(SecondaryPage, {
3934
+ onBack: onBack,
3935
+ textField: true,
3936
+ textFieldPlaceholder: "Search By Blockchain Or Token",
3937
+ title: "History",
3938
+ Content: function Content(_ref2) {
3939
+ var searchedFor = _ref2.searchedFor;
3940
+ var filterSwaps = filteredHistory(list, searchedFor);
3941
+ return filterSwaps.length ? React__default.createElement(SwapsGroup, {
3942
+ list: filterSwaps,
3943
+ onSwapClick: onSwapClick
3944
+ }) : React__default.createElement(BodyError, null, React__default.createElement(ErrorMsg$1, {
3945
+ variant: "caption"
3946
+ }, "Not Found"));
3947
+ }
3948
+ });
3949
+ }
3950
+
3951
+ var StyledAnchor = /*#__PURE__*/styled('a', {
3952
+ color: '$primary',
3953
+ fontWeight: '$600',
3954
+ marginLeft: '$12'
3955
+ });
3956
+ var InternalDetailsContainer = /*#__PURE__*/styled('div', {
3957
+ display: 'flex'
3958
+ });
3959
+ var InternalDetail = /*#__PURE__*/styled('div', {
3960
+ display: 'flex',
3961
+ padding: '$10'
3962
+ });
3963
+ var DescriptionContainer = /*#__PURE__*/styled('div', {
3964
+ display: 'flex',
3965
+ alignItems: 'center'
3966
+ });
3967
+ var Description = /*#__PURE__*/styled(Typography, {
3968
+ color: '$success',
3969
+ marginLeft: '$8'
3970
+ });
3971
+ var Error = /*#__PURE__*/styled(Description, {
3972
+ color: '$error'
3973
+ });
3974
+ var Line$3 = /*#__PURE__*/styled('div', {
3975
+ width: '0',
3976
+ marginLeft: '$12',
3977
+ border: '1px dashed $foreground',
3978
+ borderRadius: 'inherit'
3979
+ });
3980
+ function SwapHistory(props) {
3981
+ var pendingSwap = props.pendingSwap,
3982
+ onBack = props.onBack;
3983
+ return React__default.createElement(SecondaryPage, {
3984
+ title: "History",
3985
+ textField: false,
3986
+ onBack: onBack,
3987
+ Content: React__default.createElement(React__default.Fragment, null, pendingSwap == null ? void 0 : pendingSwap.steps.map(function (step, index) {
3988
+ return React__default.createElement(React__default.Fragment, null, index === 0 && React__default.createElement(RelativeContainer$1, null, React__default.createElement(StepDetail, {
3989
+ logo: step.fromLogo,
3990
+ symbol: step.fromSymbol,
3991
+ chainLogo: step.fromBlockchainLogo,
3992
+ blockchain: step.fromBlockchain,
3993
+ amount: pendingSwap.inputAmount
3994
+ }), React__default.createElement(Dot$2, null)), React__default.createElement(Line$3, null), React__default.createElement(SwapperContainer$1, null, React__default.createElement(SwapperLogo$1, {
3995
+ src: step.swapperLogo,
3996
+ alt: step.swapperId
3997
+ }), React__default.createElement("div", null, React__default.createElement(Typography, {
3998
+ ml: 4,
3999
+ variant: "caption"
4000
+ }, step.swapperType, " from ", step.fromSymbol, " to ", step.toSymbol, "via ", step.swapperId), React__default.createElement(Fee, null, React__default.createElement(GasIcon, null), React__default.createElement(Typography, {
4001
+ ml: 4,
4002
+ variant: "caption"
4003
+ }, "fee")))), React__default.createElement("div", {
4004
+ style: {
4005
+ display: 'flex'
4006
+ }
4007
+ }, React__default.createElement(InternalDetailsContainer, null, React__default.createElement(Line$3, null), !!step.explorerUrl && React__default.createElement("div", null, step.explorerUrl.map(function (item, index) {
4008
+ return React__default.createElement(InternalDetail, null, React__default.createElement(DescriptionContainer, null, React__default.createElement(CheckCircleIcon, {
4009
+ color: "success"
4010
+ }), React__default.createElement(Description, {
4011
+ variant: "body2"
4012
+ }, !item.description ? React__default.createElement("b", null, "View transaction") : React__default.createElement("b", null, item.description.substring(0, 1).toUpperCase(), item.description.substring(1)))), React__default.createElement(StyledAnchor, {
4013
+ href: item.url,
4014
+ target: "_blank",
4015
+ rel: "noreferrer",
4016
+ key: index
4017
+ }, "TX-Link"));
4018
+ }), step.status === 'failed' && React__default.createElement(InternalDetail, null, React__default.createElement(DescriptionContainer, null, React__default.createElement(InfoCircleIcon, {
4019
+ color: "error"
4020
+ }), React__default.createElement(Error, {
4021
+ variant: "body2"
4022
+ }, "Step failed")))))), index + 1 === pendingSwap.steps.length && React__default.createElement(ArrowDown, null), React__default.createElement(StepDetail, {
4023
+ logo: step.toLogo,
4024
+ symbol: step.toSymbol,
4025
+ chainLogo: step.toBlockchainLogo,
4026
+ blockchain: step.toBlockchain,
4027
+ amount: step.outputAmount
4028
+ }));
4029
+ }))
4030
+ });
4031
+ }
4032
+
4033
+ exports.AddCircleIcon = AddCircleIcon;
4034
+ exports.AddIcon = AddIcon;
4035
+ exports.AddWalletIcon = AddWalletIcon;
4036
+ exports.Alert = Alert;
4037
+ exports.AngleDownIcon = AngleDownIcon;
4038
+ exports.AngleLeftIcon = AngleLeftIcon;
4039
+ exports.AngleRightIcon = AngleRightIcon;
4040
+ exports.AngleUpIcon = AngleUpIcon;
4041
+ exports.BagIcon = BagIcon;
4042
+ exports.BanIcon = BanIcon;
4043
+ exports.BestRoute = BestRoute;
4044
+ exports.BlockchainSelector = BlockchainSelector;
4045
+ exports.Button = Button;
4046
+ exports.CheckCircleIcon = CheckCircleIcon;
4047
+ exports.CheckIcon = CheckIcon;
4048
+ exports.CheckSquareIcon = CheckSquareIcon;
4049
+ exports.CheckWalletIcon = CheckWalletIcon;
4050
+ exports.Checkbox = Checkbox;
4051
+ exports.Chip = Chip;
4052
+ exports.CloseIcon = CloseIcon;
4053
+ exports.ConfirmSwap = ConfirmSwap;
4054
+ exports.ConfirmWallets = ConfirmWallets;
4055
+ exports.ConnectWalletsModal = ConnectWalletsModal;
4056
+ exports.DeleteCircleIcon = DeleteCircleIcon;
4057
+ exports.DeleteWalletIcon = DeleteWalletIcon;
4058
+ exports.DownloadIcon = DownloadIcon;
4059
+ exports.GasIcon = GasIcon;
4060
+ exports.History = History;
4061
+ exports.HistoryIcon = HistoryIcon;
4062
+ exports.HorizontalSwapIcon = HorizontalSwapIcon;
4063
+ exports.InfoCircleIcon = InfoCircleIcon;
4064
+ exports.LiquiditySourcesSelector = LiquiditySourcesSelector;
4065
+ exports.MinusCircleIcon = MinusCircleIcon;
4066
+ exports.Modal = Modal;
4067
+ exports.RetryIcon = RetryIcon;
4068
+ exports.RetryLeftIcon = RetryLeftIcon;
4069
+ exports.RetryRightIcon = RetryRightIcon;
4070
+ exports.SearchIcon = SearchIcon;
4071
+ exports.SearchMinusIcon = SearchMinusIcon;
4072
+ exports.SecondaryPage = SecondaryPage;
4073
+ exports.SelectableWalletList = SelectableWalletList;
4074
+ exports.Settings = Settings;
4075
+ exports.SettingsIcon = SettingsIcon;
4076
+ exports.SignatureIcon = SignatureIcon;
4077
+ exports.Spacer = Spacer;
4078
+ exports.Spinner = Spinner;
4079
+ exports.StepDetail = StepDetail;
4080
+ exports.SwapContainer = SwapContainer;
4081
+ exports.SwapDetail = SwapDetail;
4082
+ exports.SwapHistory = SwapHistory;
4083
+ exports.SwapWalletIcon = SwapWalletIcon;
4084
+ exports.Switch = Switch;
4085
+ exports.TextField = TextField;
4086
+ exports.TimeIcon = TimeIcon;
4087
+ exports.TokenSelector = TokenSelector;
4088
+ exports.Tooltip = Tooltip;
4089
+ exports.TrashIcon = TrashIcon;
4090
+ exports.TryAgainIcon = TryAgainIcon;
4091
+ exports.Typography = Typography;
4092
+ exports.VerticalSwapIcon = VerticalSwapIcon;
4093
+ exports.Wallet = Wallet;
4094
+ exports.WalletIcon = WalletIcon;
4095
+ exports.WarningIcon = WarningIcon;
4096
+ exports.createTheme = createTheme;
4097
+ exports.css = css;
4098
+ exports.darkTheme = darkTheme;
4099
+ exports.globalCss = globalCss;
4100
+ exports.keyframes = keyframes;
4101
+ exports.lightTheme = lightTheme;
4102
+ exports.styled = styled;
4103
+ //# sourceMappingURL=ui.cjs.development.js.map