@rango-dev/ui 0.1.10-next.102

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 (367) hide show
  1. package/README.md +181 -0
  2. package/dist/components/Alert/Alert.d.ts +7 -0
  3. package/dist/components/Alert/Alert.stories.d.ts +5 -0
  4. package/dist/components/Alert/LoadingFailedAlert.d.ts +2 -0
  5. package/dist/components/Alert/NotFoundAlert.d.ts +7 -0
  6. package/dist/components/Alert/index.d.ts +2 -0
  7. package/dist/components/BestRoute/BestRoute.d.ts +12 -0
  8. package/dist/components/BestRoute/BestRoute.stories.d.ts +8 -0
  9. package/dist/components/BestRoute/index.d.ts +1 -0
  10. package/dist/components/BestRoute/mock.d.ts +4 -0
  11. package/dist/components/BlockchainSelector/BlockchainSelector.d.ts +17 -0
  12. package/dist/components/BlockchainSelector/BlockchainSelector.stories.d.ts +5 -0
  13. package/dist/components/BlockchainSelector/index.d.ts +1 -0
  14. package/dist/components/BlockchainsList/BlockchainsList.d.ts +10 -0
  15. package/dist/components/BlockchainsList/BlockchainsList.stories.d.ts +5 -0
  16. package/dist/components/BlockchainsList/index.d.ts +1 -0
  17. package/dist/components/BlockchainsList/mockData.d.ts +2 -0
  18. package/dist/components/Button/Button.d.ts +17 -0
  19. package/dist/components/Button/Button.stories.d.ts +8 -0
  20. package/dist/components/Button/index.d.ts +1 -0
  21. package/dist/components/Checkbox/Checkbox.d.ts +11 -0
  22. package/dist/components/Checkbox/Checkbox.stories.d.ts +5 -0
  23. package/dist/components/Checkbox/index.d.ts +1 -0
  24. package/dist/components/Chip/Chip.d.ts +12 -0
  25. package/dist/components/Chip/Chip.stories.d.ts +7 -0
  26. package/dist/components/Chip/index.d.ts +1 -0
  27. package/dist/components/ColorPicker/ColorPicker.d.ts +9 -0
  28. package/dist/components/ColorPicker/ColorPicker.stories.d.ts +5 -0
  29. package/dist/components/ColorPicker/index.d.ts +1 -0
  30. package/dist/components/ConnectWalletsModal/ConnectWallets.stories.d.ts +5 -0
  31. package/dist/components/ConnectWalletsModal/ConnectWalletsModal.d.ts +11 -0
  32. package/dist/components/ConnectWalletsModal/index.d.ts +1 -0
  33. package/dist/components/ConnectWalletsModal/mockData.d.ts +2 -0
  34. package/dist/components/Divider/Divider.d.ts +6 -0
  35. package/dist/components/Divider/index.d.ts +1 -0
  36. package/dist/components/Drawer/Drawer.d.ts +13 -0
  37. package/dist/components/Drawer/Drawer.stories.d.ts +8 -0
  38. package/dist/components/Drawer/index.d.ts +1 -0
  39. package/dist/components/Header/Header.d.ts +9 -0
  40. package/dist/components/Header/index.d.ts +1 -0
  41. package/dist/components/Icon/AddCircleIcon.d.ts +3 -0
  42. package/dist/components/Icon/AddIcon.d.ts +3 -0
  43. package/dist/components/Icon/AddWalletIcon.d.ts +3 -0
  44. package/dist/components/Icon/AngleDownIcon.d.ts +3 -0
  45. package/dist/components/Icon/AngleLeftIcon.d.ts +3 -0
  46. package/dist/components/Icon/AngleRightIcon.d.ts +3 -0
  47. package/dist/components/Icon/AngleUpIcon.d.ts +3 -0
  48. package/dist/components/Icon/ArrowRightIcon.d.ts +3 -0
  49. package/dist/components/Icon/BagIcon.d.ts +3 -0
  50. package/dist/components/Icon/BanIcon.d.ts +3 -0
  51. package/dist/components/Icon/CheckCircleIcon.d.ts +3 -0
  52. package/dist/components/Icon/CheckIcon.d.ts +3 -0
  53. package/dist/components/Icon/CheckSquareIcon.d.ts +3 -0
  54. package/dist/components/Icon/CheckWalletIcon.d.ts +3 -0
  55. package/dist/components/Icon/ChevronRightIcon.d.ts +3 -0
  56. package/dist/components/Icon/CloseIcon.d.ts +1 -0
  57. package/dist/components/Icon/CopyIcon.d.ts +3 -0
  58. package/dist/components/Icon/DeleteCircleIcon.d.ts +3 -0
  59. package/dist/components/Icon/DeleteWalletIcon.d.ts +3 -0
  60. package/dist/components/Icon/DisconnectIcon.d.ts +3 -0
  61. package/dist/components/Icon/DownloadIcon.d.ts +3 -0
  62. package/dist/components/Icon/GasIcon.d.ts +3 -0
  63. package/dist/components/Icon/HistoryIcon.d.ts +3 -0
  64. package/dist/components/Icon/HorizontalSwapIcon.d.ts +3 -0
  65. package/dist/components/Icon/Icons.stories.d.ts +5 -0
  66. package/dist/components/Icon/InfoCircleIcon.d.ts +3 -0
  67. package/dist/components/Icon/MinusCircleIcon.d.ts +3 -0
  68. package/dist/components/Icon/RetryIcon.d.ts +3 -0
  69. package/dist/components/Icon/RetryLeftIcon.d.ts +3 -0
  70. package/dist/components/Icon/RetryRightIcon.d.ts +3 -0
  71. package/dist/components/Icon/SearchIcon.d.ts +3 -0
  72. package/dist/components/Icon/SearchMinusIcon.d.ts +3 -0
  73. package/dist/components/Icon/SettingIcon.d.ts +3 -0
  74. package/dist/components/Icon/SignatureIcon.d.ts +3 -0
  75. package/dist/components/Icon/SwapWalletIcon.d.ts +3 -0
  76. package/dist/components/Icon/TimeIcon.d.ts +3 -0
  77. package/dist/components/Icon/TrashIcon.d.ts +3 -0
  78. package/dist/components/Icon/TryAgainIcon.d.ts +3 -0
  79. package/dist/components/Icon/VerticalSwapIcon.d.ts +3 -0
  80. package/dist/components/Icon/WalletIconIcon.d.ts +3 -0
  81. package/dist/components/Icon/WarningIcon.d.ts +3 -0
  82. package/dist/components/Icon/common.d.ts +2 -0
  83. package/dist/components/Icon/index.d.ts +40 -0
  84. package/dist/components/Icon/types.d.ts +6 -0
  85. package/dist/components/LiquiditySourceList/LiquiditySource.stories.d.ts +5 -0
  86. package/dist/components/LiquiditySourceList/LiquiditySourceList.d.ts +11 -0
  87. package/dist/components/LiquiditySourceList/index.d.ts +1 -0
  88. package/dist/components/LiquiditySourceList/mockData.d.ts +2 -0
  89. package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.d.ts +13 -0
  90. package/dist/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.d.ts +5 -0
  91. package/dist/components/LiquiditySourcesSelector/index.d.ts +1 -0
  92. package/dist/components/Modal/Modal.d.ts +12 -0
  93. package/dist/components/Modal/Modal.stories.d.ts +5 -0
  94. package/dist/components/Modal/index.d.ts +1 -0
  95. package/dist/components/Radio/Radio.d.ts +13 -0
  96. package/dist/components/Radio/Radio.stories.d.ts +5 -0
  97. package/dist/components/Radio/index.d.ts +1 -0
  98. package/dist/components/SecondaryPage/SecondaryPage.d.ts +16 -0
  99. package/dist/components/SecondaryPage/SecondaryPage.stories.d.ts +2 -0
  100. package/dist/components/SecondaryPage/index.d.ts +1 -0
  101. package/dist/components/SelectableWalletList/SelectableWalletList.d.ts +7 -0
  102. package/dist/components/SelectableWalletList/SelectableWalletList.stories.d.ts +5 -0
  103. package/dist/components/SelectableWalletList/index.d.ts +1 -0
  104. package/dist/components/SelectableWalletList/mock.d.ts +2 -0
  105. package/dist/components/Settings/Settings.d.ts +23 -0
  106. package/dist/components/Settings/Settings.stories.d.ts +5 -0
  107. package/dist/components/Settings/index.d.ts +1 -0
  108. package/dist/components/Skeleton/Skeleton.d.ts +6 -0
  109. package/dist/components/Skeleton/Skeleton.stories.d.ts +5 -0
  110. package/dist/components/Skeleton/index.d.ts +1 -0
  111. package/dist/components/Spacer/Spacer.d.ts +6 -0
  112. package/dist/components/Spacer/Spacer.stories.d.ts +5 -0
  113. package/dist/components/Spacer/index.d.ts +1 -0
  114. package/dist/components/Spinner/Spinner.d.ts +6 -0
  115. package/dist/components/Spinner/Spinner.stories.d.ts +5 -0
  116. package/dist/components/Spinner/index.d.ts +1 -0
  117. package/dist/components/StatusDrawer/StatusDrawer.d.ts +11 -0
  118. package/dist/components/StatusDrawer/StatusDrawer.stories.d.ts +5 -0
  119. package/dist/components/StatusDrawer/index.d.ts +1 -0
  120. package/dist/components/StepDetail/StepDetail.d.ts +10 -0
  121. package/dist/components/StepDetail/StepDetail.stories.d.ts +5 -0
  122. package/dist/components/StepDetail/index.d.ts +1 -0
  123. package/dist/components/SwapContainer/SwapContainer.d.ts +7 -0
  124. package/dist/components/SwapContainer/SwapContainer.stories.d.ts +5 -0
  125. package/dist/components/SwapContainer/index.d.ts +1 -0
  126. package/dist/components/SwapDetail/SwapDetail.d.ts +8 -0
  127. package/dist/components/SwapDetail/SwapDetail.stories.d.ts +5 -0
  128. package/dist/components/SwapDetail/Token.d.ts +16 -0
  129. package/dist/components/SwapDetail/index.d.ts +1 -0
  130. package/dist/components/SwapDetail/mock.d.ts +2 -0
  131. package/dist/components/Switch/Switch.d.ts +6 -0
  132. package/dist/components/Switch/Switch.stories.d.ts +5 -0
  133. package/dist/components/Switch/index.d.ts +1 -0
  134. package/dist/components/TextField/TextField.d.ts +10 -0
  135. package/dist/components/TextField/TextField.stories.d.ts +7 -0
  136. package/dist/components/TextField/index.d.ts +1 -0
  137. package/dist/components/TokenList/TokenItem.d.ts +11 -0
  138. package/dist/components/TokenList/TokenList.d.ts +17 -0
  139. package/dist/components/TokenList/TokenList.stories.d.ts +5 -0
  140. package/dist/components/TokenList/index.d.ts +1 -0
  141. package/dist/components/TokenList/mockData.d.ts +2 -0
  142. package/dist/components/TokenSelector/TokenSelector.d.ts +16 -0
  143. package/dist/components/TokenSelector/TokenSelector.stories.d.ts +5 -0
  144. package/dist/components/TokenSelector/index.d.ts +1 -0
  145. package/dist/components/Tooltip/Tooltip.d.ts +7 -0
  146. package/dist/components/Tooltip/Tooltip.stories.d.ts +5 -0
  147. package/dist/components/Tooltip/index.d.ts +1 -0
  148. package/dist/components/Typography/Typography.d.ts +18 -0
  149. package/dist/components/Typography/Typography.stories.d.ts +5 -0
  150. package/dist/components/Typography/index.d.ts +1 -0
  151. package/dist/components/VirtualizedList/VirtualizedList.d.ts +17 -0
  152. package/dist/components/Wallet/State.d.ts +7 -0
  153. package/dist/components/Wallet/Wallet.d.ts +7 -0
  154. package/dist/components/Wallet/Wallet.stories.d.ts +5 -0
  155. package/dist/components/Wallet/index.d.ts +1 -0
  156. package/dist/components/common/FilledCircle.d.ts +1 -0
  157. package/dist/components/common/index.d.ts +1 -0
  158. package/dist/components/index.d.ts +31 -0
  159. package/dist/containers/ConfirmSwap/ConfirmSwap.d.ts +20 -0
  160. package/dist/containers/ConfirmSwap/ConfirmSwap.stories.d.ts +6 -0
  161. package/dist/containers/ConfirmSwap/index.d.ts +1 -0
  162. package/dist/containers/ConfirmSwap/mock.d.ts +5 -0
  163. package/dist/containers/History/History.d.ts +13 -0
  164. package/dist/containers/History/History.stories.d.ts +5 -0
  165. package/dist/containers/History/index.d.ts +1 -0
  166. package/dist/containers/History/mock.d.ts +2 -0
  167. package/dist/containers/History/types.d.ts +39 -0
  168. package/dist/containers/SwapHistory/SwapHistory.d.ts +24 -0
  169. package/dist/containers/SwapHistory/SwapHistory.stories.d.ts +5 -0
  170. package/dist/containers/SwapHistory/SwapMessages.d.ts +17 -0
  171. package/dist/containers/SwapHistory/index.d.ts +1 -0
  172. package/dist/containers/SwapHistory/mock.d.ts +2 -0
  173. package/dist/containers/index.d.ts +3 -0
  174. package/dist/helper/index.d.ts +2 -0
  175. package/dist/index.d.ts +4 -0
  176. package/dist/index.js +8 -0
  177. package/dist/theme.d.ts +8 -0
  178. package/dist/types/index.d.ts +2 -0
  179. package/dist/types/meta.d.ts +23 -0
  180. package/dist/types/swaps.d.ts +29 -0
  181. package/dist/types/wallet.d.ts +23 -0
  182. package/dist/ui.cjs.development.js +4956 -0
  183. package/dist/ui.cjs.development.js.map +1 -0
  184. package/dist/ui.cjs.production.min.js +2 -0
  185. package/dist/ui.cjs.production.min.js.map +1 -0
  186. package/dist/ui.esm.js +4870 -0
  187. package/dist/ui.esm.js.map +1 -0
  188. package/package.json +88 -0
  189. package/src/components/Alert/Alert.stories.tsx +22 -0
  190. package/src/components/Alert/Alert.tsx +102 -0
  191. package/src/components/Alert/LoadingFailedAlert.tsx +11 -0
  192. package/src/components/Alert/NotFoundAlert.tsx +19 -0
  193. package/src/components/Alert/index.ts +2 -0
  194. package/src/components/BestRoute/BestRoute.stories.tsx +31 -0
  195. package/src/components/BestRoute/BestRoute.tsx +232 -0
  196. package/src/components/BestRoute/index.ts +1 -0
  197. package/src/components/BestRoute/mock.ts +554 -0
  198. package/src/components/BlockchainSelector/BlockchainSelector.stories.tsx +25 -0
  199. package/src/components/BlockchainSelector/BlockchainSelector.tsx +93 -0
  200. package/src/components/BlockchainSelector/index.ts +1 -0
  201. package/src/components/BlockchainsList/BlockchainsList.stories.tsx +25 -0
  202. package/src/components/BlockchainsList/BlockchainsList.tsx +70 -0
  203. package/src/components/BlockchainsList/index.ts +1 -0
  204. package/src/components/BlockchainsList/mockData.ts +2972 -0
  205. package/src/components/Button/Button.stories.tsx +59 -0
  206. package/src/components/Button/Button.tsx +421 -0
  207. package/src/components/Button/index.ts +1 -0
  208. package/src/components/Checkbox/Checkbox.stories.tsx +22 -0
  209. package/src/components/Checkbox/Checkbox.tsx +56 -0
  210. package/src/components/Checkbox/index.ts +1 -0
  211. package/src/components/Chip/Chip.stories.tsx +37 -0
  212. package/src/components/Chip/Chip.tsx +48 -0
  213. package/src/components/Chip/index.ts +1 -0
  214. package/src/components/ColorPicker/ColorPicker.stories.tsx +36 -0
  215. package/src/components/ColorPicker/ColorPicker.tsx +85 -0
  216. package/src/components/ColorPicker/index.ts +1 -0
  217. package/src/components/ConnectWalletsModal/ConnectWallets.stories.tsx +13 -0
  218. package/src/components/ConnectWalletsModal/ConnectWalletsModal.tsx +42 -0
  219. package/src/components/ConnectWalletsModal/index.ts +1 -0
  220. package/src/components/ConnectWalletsModal/mockData.ts +134 -0
  221. package/src/components/Divider/Divider.tsx +41 -0
  222. package/src/components/Divider/index.ts +1 -0
  223. package/src/components/Drawer/Drawer.stories.tsx +86 -0
  224. package/src/components/Drawer/Drawer.tsx +124 -0
  225. package/src/components/Drawer/index.ts +1 -0
  226. package/src/components/Header/Header.tsx +39 -0
  227. package/src/components/Header/index.ts +1 -0
  228. package/src/components/Icon/AddCircleIcon.tsx +31 -0
  229. package/src/components/Icon/AddIcon.tsx +31 -0
  230. package/src/components/Icon/AddWalletIcon.tsx +50 -0
  231. package/src/components/Icon/AngleDownIcon.tsx +30 -0
  232. package/src/components/Icon/AngleLeftIcon.tsx +33 -0
  233. package/src/components/Icon/AngleRightIcon.tsx +32 -0
  234. package/src/components/Icon/AngleUpIcon.tsx +32 -0
  235. package/src/components/Icon/ArrowRightIcon.tsx +31 -0
  236. package/src/components/Icon/BagIcon.tsx +39 -0
  237. package/src/components/Icon/BanIcon.tsx +32 -0
  238. package/src/components/Icon/CheckCircleIcon.tsx +39 -0
  239. package/src/components/Icon/CheckIcon.tsx +30 -0
  240. package/src/components/Icon/CheckSquareIcon.tsx +37 -0
  241. package/src/components/Icon/CheckWalletIcon.tsx +45 -0
  242. package/src/components/Icon/ChevronRightIcon.tsx +29 -0
  243. package/src/components/Icon/CloseIcon.tsx +9 -0
  244. package/src/components/Icon/CopyIcon.tsx +59 -0
  245. package/src/components/Icon/DeleteCircleIcon.tsx +31 -0
  246. package/src/components/Icon/DeleteWalletIcon.tsx +50 -0
  247. package/src/components/Icon/DisconnectIcon.tsx +31 -0
  248. package/src/components/Icon/DownloadIcon.tsx +37 -0
  249. package/src/components/Icon/GasIcon.tsx +37 -0
  250. package/src/components/Icon/HistoryIcon.tsx +34 -0
  251. package/src/components/Icon/HorizontalSwapIcon.tsx +38 -0
  252. package/src/components/Icon/Icons.stories.tsx +44 -0
  253. package/src/components/Icon/InfoCircleIcon.tsx +39 -0
  254. package/src/components/Icon/MinusCircleIcon.tsx +31 -0
  255. package/src/components/Icon/RetryIcon.tsx +30 -0
  256. package/src/components/Icon/RetryLeftIcon.tsx +31 -0
  257. package/src/components/Icon/RetryRightIcon.tsx +31 -0
  258. package/src/components/Icon/SearchIcon.tsx +31 -0
  259. package/src/components/Icon/SearchMinusIcon.tsx +31 -0
  260. package/src/components/Icon/SettingIcon.tsx +31 -0
  261. package/src/components/Icon/SignatureIcon.tsx +32 -0
  262. package/src/components/Icon/SwapWalletIcon.tsx +50 -0
  263. package/src/components/Icon/TimeIcon.tsx +29 -0
  264. package/src/components/Icon/TrashIcon.tsx +31 -0
  265. package/src/components/Icon/TryAgainIcon.tsx +31 -0
  266. package/src/components/Icon/VerticalSwapIcon.tsx +38 -0
  267. package/src/components/Icon/WalletIconIcon.tsx +40 -0
  268. package/src/components/Icon/WarningIcon.tsx +37 -0
  269. package/src/components/Icon/common.ts +69 -0
  270. package/src/components/Icon/index.ts +48 -0
  271. package/src/components/Icon/types.tsx +45 -0
  272. package/src/components/LiquiditySourceList/LiquiditySource.stories.tsx +13 -0
  273. package/src/components/LiquiditySourceList/LiquiditySourceList.tsx +195 -0
  274. package/src/components/LiquiditySourceList/index.ts +1 -0
  275. package/src/components/LiquiditySourceList/mockData.ts +316 -0
  276. package/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.tsx +16 -0
  277. package/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx +61 -0
  278. package/src/components/LiquiditySourcesSelector/index.ts +1 -0
  279. package/src/components/Modal/Modal.stories.tsx +22 -0
  280. package/src/components/Modal/Modal.tsx +93 -0
  281. package/src/components/Modal/index.ts +1 -0
  282. package/src/components/Radio/Radio.stories.tsx +23 -0
  283. package/src/components/Radio/Radio.tsx +100 -0
  284. package/src/components/Radio/index.ts +1 -0
  285. package/src/components/SecondaryPage/SecondaryPage.stories.tsx +7 -0
  286. package/src/components/SecondaryPage/SecondaryPage.tsx +68 -0
  287. package/src/components/SecondaryPage/index.ts +1 -0
  288. package/src/components/SelectableWalletList/SelectableWalletList.stories.tsx +14 -0
  289. package/src/components/SelectableWalletList/SelectableWalletList.tsx +118 -0
  290. package/src/components/SelectableWalletList/index.ts +1 -0
  291. package/src/components/SelectableWalletList/mock.ts +13 -0
  292. package/src/components/Settings/Settings.stories.tsx +34 -0
  293. package/src/components/Settings/Settings.tsx +208 -0
  294. package/src/components/Settings/index.ts +1 -0
  295. package/src/components/Skeleton/Skeleton.stories.tsx +24 -0
  296. package/src/components/Skeleton/Skeleton.tsx +66 -0
  297. package/src/components/Skeleton/index.ts +1 -0
  298. package/src/components/Spacer/Spacer.stories.tsx +31 -0
  299. package/src/components/Spacer/Spacer.tsx +128 -0
  300. package/src/components/Spacer/index.ts +1 -0
  301. package/src/components/Spinner/Spinner.stories.tsx +25 -0
  302. package/src/components/Spinner/Spinner.tsx +61 -0
  303. package/src/components/Spinner/index.ts +1 -0
  304. package/src/components/StatusDrawer/StatusDrawer.stories.tsx +38 -0
  305. package/src/components/StatusDrawer/StatusDrawer.tsx +82 -0
  306. package/src/components/StatusDrawer/index.ts +1 -0
  307. package/src/components/StepDetail/StepDetail.stories.tsx +37 -0
  308. package/src/components/StepDetail/StepDetail.tsx +109 -0
  309. package/src/components/StepDetail/index.ts +1 -0
  310. package/src/components/SwapContainer/SwapContainer.stories.tsx +13 -0
  311. package/src/components/SwapContainer/SwapContainer.tsx +43 -0
  312. package/src/components/SwapContainer/index.ts +1 -0
  313. package/src/components/SwapDetail/SwapDetail.stories.tsx +19 -0
  314. package/src/components/SwapDetail/SwapDetail.tsx +112 -0
  315. package/src/components/SwapDetail/Token.tsx +68 -0
  316. package/src/components/SwapDetail/index.ts +1 -0
  317. package/src/components/SwapDetail/mock.ts +276 -0
  318. package/src/components/Switch/Switch.stories.tsx +9 -0
  319. package/src/components/Switch/Switch.tsx +55 -0
  320. package/src/components/Switch/index.ts +1 -0
  321. package/src/components/TextField/TextField.stories.tsx +31 -0
  322. package/src/components/TextField/TextField.tsx +141 -0
  323. package/src/components/TextField/index.ts +1 -0
  324. package/src/components/TokenList/TokenItem.tsx +73 -0
  325. package/src/components/TokenList/TokenList.stories.tsx +18 -0
  326. package/src/components/TokenList/TokenList.tsx +95 -0
  327. package/src/components/TokenList/index.ts +1 -0
  328. package/src/components/TokenList/mockData.ts +1721 -0
  329. package/src/components/TokenSelector/TokenSelector.stories.tsx +18 -0
  330. package/src/components/TokenSelector/TokenSelector.tsx +95 -0
  331. package/src/components/TokenSelector/index.ts +1 -0
  332. package/src/components/Tooltip/Tooltip.stories.tsx +52 -0
  333. package/src/components/Tooltip/Tooltip.tsx +116 -0
  334. package/src/components/Tooltip/index.ts +1 -0
  335. package/src/components/Typography/Typography.stories.tsx +72 -0
  336. package/src/components/Typography/Typography.tsx +216 -0
  337. package/src/components/Typography/index.ts +1 -0
  338. package/src/components/VirtualizedList/VirtualizedList.tsx +62 -0
  339. package/src/components/Wallet/State.tsx +34 -0
  340. package/src/components/Wallet/Wallet.stories.tsx +36 -0
  341. package/src/components/Wallet/Wallet.tsx +69 -0
  342. package/src/components/Wallet/index.ts +1 -0
  343. package/src/components/common/FilledCircle.tsx +8 -0
  344. package/src/components/common/index.ts +1 -0
  345. package/src/components/index.ts +31 -0
  346. package/src/containers/ConfirmSwap/ConfirmSwap.stories.tsx +22 -0
  347. package/src/containers/ConfirmSwap/ConfirmSwap.tsx +180 -0
  348. package/src/containers/ConfirmSwap/index.ts +1 -0
  349. package/src/containers/ConfirmSwap/mock.ts +223 -0
  350. package/src/containers/History/History.stories.tsx +14 -0
  351. package/src/containers/History/History.tsx +115 -0
  352. package/src/containers/History/index.ts +1 -0
  353. package/src/containers/History/mock.ts +826 -0
  354. package/src/containers/History/types.tsx +47 -0
  355. package/src/containers/SwapHistory/SwapHistory.stories.tsx +13 -0
  356. package/src/containers/SwapHistory/SwapHistory.tsx +442 -0
  357. package/src/containers/SwapHistory/SwapMessages.tsx +116 -0
  358. package/src/containers/SwapHistory/index.ts +1 -0
  359. package/src/containers/SwapHistory/mock.ts +276 -0
  360. package/src/containers/index.ts +3 -0
  361. package/src/helper/index.ts +16 -0
  362. package/src/index.ts +4 -0
  363. package/src/theme.ts +163 -0
  364. package/src/types/index.ts +3 -0
  365. package/src/types/meta.ts +22 -0
  366. package/src/types/swaps.ts +44 -0
  367. package/src/types/wallet.ts +30 -0
@@ -0,0 +1,4956 @@
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 RadixTooltip = require('@radix-ui/react-tooltip');
10
+ var reactWindow = require('react-window');
11
+ var InfiniteLoader = _interopDefault(require('react-window-infinite-loader'));
12
+ var AutoSizer = _interopDefault(require('react-virtualized-auto-sizer'));
13
+ var RadixCheckbox = require('@radix-ui/react-checkbox');
14
+ var reactDom = require('react-dom');
15
+ var walletsShared = require('@rango-dev/wallets-shared');
16
+ var RadixSwitch = require('@radix-ui/react-switch');
17
+ var RadioGroup = require('@radix-ui/react-radio-group');
18
+ var reactColor = require('react-color');
19
+
20
+ function _extends() {
21
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
22
+ for (var i = 1; i < arguments.length; i++) {
23
+ var source = arguments[i];
24
+ for (var key in source) {
25
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
26
+ target[key] = source[key];
27
+ }
28
+ }
29
+ }
30
+ return target;
31
+ };
32
+ return _extends.apply(this, arguments);
33
+ }
34
+ function _objectWithoutPropertiesLoose(source, excluded) {
35
+ if (source == null) return {};
36
+ var target = {};
37
+ var sourceKeys = Object.keys(source);
38
+ var key, i;
39
+ for (i = 0; i < sourceKeys.length; i++) {
40
+ key = sourceKeys[i];
41
+ if (excluded.indexOf(key) >= 0) continue;
42
+ target[key] = source[key];
43
+ }
44
+ return target;
45
+ }
46
+
47
+ // TSDX + stiches doesn't work with import statement and has a bug.
48
+ // Solution: (https://github.com/stitchesjs/stitches/issues/833#issuecomment-950707025)
49
+ var _require = /*#__PURE__*/require('@stitches/react'),
50
+ createStitches = _require.createStitches;
51
+ /* ----------------------- Values ----------------------- */
52
+ var theme = {
53
+ colors: {
54
+ primary: '#5FA425',
55
+ primary100: '#9FC87C',
56
+ primary200: '#8FBF66',
57
+ primary300: '#7FB651',
58
+ primary400: '#6FAD3B',
59
+ primary500: '#5FA425',
60
+ primary600: '#4C831E',
61
+ primary700: '#396216',
62
+ primary800: '#26420F',
63
+ primary900: '#132107',
64
+ neutrals200: '#FAFAFA',
65
+ neutrals300: '#EAEAEA',
66
+ neutrals400: '#999999',
67
+ neutrals500: '#888888',
68
+ neutrals600: '#666666',
69
+ neutrals700: '#444444',
70
+ neutrals800: '#333333',
71
+ neutrals900: '#111111',
72
+ background: '#fff',
73
+ foreground: '#000',
74
+ success: '#0070F3',
75
+ success100: '#D3E5FF',
76
+ success300: '#3291FF',
77
+ success500: '#0070F3',
78
+ success700: '#0761D1',
79
+ warning: '#F5A623',
80
+ warning100: '#FFEFCF',
81
+ warning300: '#F7B955',
82
+ warning500: '#F5A623',
83
+ warning700: '#AB570A',
84
+ error: '#FF0000',
85
+ error100: '#F7D4D6',
86
+ error300: '#FF3333',
87
+ error500: '#FF0000',
88
+ error700: '#E60000',
89
+ // Only use this color when you are going to use white for both dark and light theme.
90
+ white: '#fff'
91
+ },
92
+ space: {
93
+ 2: '2px',
94
+ 4: '4px',
95
+ 6: '6px',
96
+ 8: '8px',
97
+ 10: '10px',
98
+ 12: '12px',
99
+ 16: '16px',
100
+ 20: '20px',
101
+ 24: '24px',
102
+ 28: '28px',
103
+ 30: '30px',
104
+ 32: '32px'
105
+ },
106
+ fontSizes: {
107
+ 10: '10px',
108
+ 12: '12px',
109
+ 14: '14px',
110
+ 16: '16px',
111
+ 18: '18px',
112
+ 20: '20px',
113
+ 24: '24px',
114
+ 32: '32px',
115
+ 36: '36px',
116
+ 40: '40px',
117
+ 48: '48px'
118
+ },
119
+ fonts: {},
120
+ fontWeights: {
121
+ 400: '400',
122
+ 500: '500',
123
+ 600: '600',
124
+ 700: '700'
125
+ },
126
+ lineHeights: {},
127
+ letterSpacings: {},
128
+ sizes: {
129
+ 4: '4px',
130
+ 6: '6px',
131
+ 8: '8px',
132
+ 12: '12px',
133
+ 16: '16px',
134
+ 20: '20px',
135
+ 24: '24px',
136
+ 28: '28px',
137
+ 32: '32px',
138
+ 36: '36px',
139
+ 40: '40px',
140
+ 48: '48px'
141
+ },
142
+ borderWidths: {},
143
+ borderStyles: {},
144
+ radii: {
145
+ 5: '8px',
146
+ 10: '12px'
147
+ },
148
+ shadows: {
149
+ s: '0px 3px 5px 3px #f0f2f5, 0px 6px 10px 3px #f0f2f5, 0px 1px 18px 3px #f0f2f5'
150
+ },
151
+ zIndices: {},
152
+ transitions: {}
153
+ };
154
+ var media = {
155
+ sm: '(min-width: 640px)',
156
+ md: '(min-width: 768px)',
157
+ lg: '(min-width: 1024px)'
158
+ };
159
+ var utils = {
160
+ bc: function bc(value) {
161
+ return {
162
+ backgroundColor: value
163
+ };
164
+ }
165
+ };
166
+ /* ----------------------- End of Values ----------------------- */
167
+ var typedCreateStiches = createStitches;
168
+ // Note: it seems there is a bug on tsdx and when it compiles the code, it goes through an error
169
+ // We can directly check it with `tsc` to see if the error is correct or not.
170
+ // We `ignore` it for now, to get safety check on VSCode.
171
+ // @ts-ignore
172
+ var _typedCreateStiches = /*#__PURE__*/typedCreateStiches({
173
+ media: media,
174
+ theme: theme,
175
+ utils: utils
176
+ }),
177
+ styled = _typedCreateStiches.styled,
178
+ css = _typedCreateStiches.css,
179
+ createTheme = _typedCreateStiches.createTheme,
180
+ keyframes = _typedCreateStiches.keyframes,
181
+ globalCss = _typedCreateStiches.globalCss;
182
+ var lightTheme = /*#__PURE__*/createTheme({});
183
+ var darkTheme = /*#__PURE__*/createTheme({
184
+ colors: {
185
+ neutrals200: '#111111',
186
+ neutrals300: '#333333',
187
+ neutrals400: '#444444',
188
+ neutrals500: '#666666',
189
+ neutrals600: '#888888',
190
+ neutrals700: '#999999',
191
+ neutrals800: '#EAEAEA',
192
+ neutrals900: '#FAFAFA',
193
+ foreground: '#fff',
194
+ background: '#000'
195
+ },
196
+ shadows: {
197
+ s: '0px 3px 5px 3px #222, 0px 6px 10px 3px #222, 0px 1px 18px 3px #222'
198
+ }
199
+ });
200
+
201
+ var _black, _white, _black2, _white2;
202
+ var SvgWithStrokeColor = /*#__PURE__*/styled('svg', {
203
+ stroke: '$foreground',
204
+ variants: {
205
+ color: {
206
+ primary: {
207
+ stroke: '$primary'
208
+ },
209
+ error: {
210
+ stroke: '$error'
211
+ },
212
+ warning: {
213
+ stroke: '$warning'
214
+ },
215
+ success: {
216
+ stroke: '$success'
217
+ },
218
+ black: (_black = {
219
+ $$color: '$colors$foreground'
220
+ }, _black["." + darkTheme + " &"] = {
221
+ $$color: '$colors$background'
222
+ }, _black.stroke = '$$color', _black),
223
+ white: (_white = {
224
+ $$color: '$colors$background'
225
+ }, _white["." + darkTheme + " &"] = {
226
+ $$color: '$colors$foreground'
227
+ }, _white.stroke = '$$color', _white)
228
+ }
229
+ }
230
+ });
231
+ var SvgWithFillColor = /*#__PURE__*/styled('svg', {
232
+ fill: '$foreground',
233
+ variants: {
234
+ color: {
235
+ primary: {
236
+ fill: '$primary'
237
+ },
238
+ error: {
239
+ fill: '$error'
240
+ },
241
+ warning: {
242
+ fill: '$warning'
243
+ },
244
+ success: {
245
+ fill: '$success'
246
+ },
247
+ black: (_black2 = {
248
+ $$color: '$colors$foreground'
249
+ }, _black2["." + darkTheme + " &"] = {
250
+ $$color: '$colors$background'
251
+ }, _black2.fill = '$$color', _black2),
252
+ white: (_white2 = {
253
+ $$color: '$colors$background'
254
+ }, _white2["." + darkTheme + " &"] = {
255
+ $$color: '$colors$foreground'
256
+ }, _white2.fill = '$$color', _white2)
257
+ }
258
+ }
259
+ });
260
+
261
+ var _excluded = ["size", "color"];
262
+ var DeleteCircleIcon = function DeleteCircleIcon(_ref) {
263
+ var _ref$size = _ref.size,
264
+ size = _ref$size === void 0 ? 16 : _ref$size,
265
+ color = _ref.color,
266
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
267
+ return React.createElement(SvgWithStrokeColor, Object.assign({
268
+ width: size,
269
+ height: size,
270
+ viewBox: "0 0 24 24",
271
+ color: color,
272
+ fill: "none",
273
+ xmlns: "http://www.w3.org/2000/svg",
274
+ className: "_icon"
275
+ }, props), React.createElement("path", {
276
+ 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",
277
+ strokeWidth: 1.5,
278
+ strokeLinecap: "round",
279
+ strokeLinejoin: "round"
280
+ }));
281
+ };
282
+ DeleteCircleIcon.toString = function () {
283
+ return '._icon';
284
+ };
285
+
286
+ var _excluded$1 = ["size", "color"];
287
+ var CheckSquareIcon = function CheckSquareIcon(_ref) {
288
+ var _ref$size = _ref.size,
289
+ size = _ref$size === void 0 ? 16 : _ref$size,
290
+ color = _ref.color,
291
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
292
+ return React.createElement(SvgWithStrokeColor, Object.assign({
293
+ width: size,
294
+ height: size,
295
+ viewBox: "0 0 24 24",
296
+ color: color,
297
+ fill: "none",
298
+ xmlns: "http://www.w3.org/2000/svg",
299
+ className: "_icon"
300
+ }, props), React.createElement("path", {
301
+ d: "M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z",
302
+ strokeWidth: 1.5,
303
+ strokeLinecap: "round",
304
+ strokeLinejoin: "round"
305
+ }), React.createElement("path", {
306
+ d: "m7.75 12 2.83 2.83 5.67-5.66",
307
+ strokeWidth: 1.5,
308
+ strokeLinecap: "round",
309
+ strokeLinejoin: "round"
310
+ }));
311
+ };
312
+ CheckSquareIcon.toString = function () {
313
+ return '._icon';
314
+ };
315
+
316
+ var _excluded$2 = ["size", "color"];
317
+ var AddIcon = function AddIcon(_ref) {
318
+ var _ref$size = _ref.size,
319
+ size = _ref$size === void 0 ? 16 : _ref$size,
320
+ color = _ref.color,
321
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
322
+ return React.createElement(SvgWithStrokeColor, Object.assign({
323
+ width: size,
324
+ height: size,
325
+ viewBox: "0 0 24 24",
326
+ color: color,
327
+ fill: "none",
328
+ xmlns: "http://www.w3.org/2000/svg",
329
+ className: "_icon"
330
+ }, props), React.createElement("path", {
331
+ d: "M6 12h12M12 18V6",
332
+ strokeWidth: 1.5,
333
+ strokeLinecap: "round",
334
+ strokeLinejoin: "round"
335
+ }));
336
+ };
337
+ AddIcon.toString = function () {
338
+ return '._icon';
339
+ };
340
+
341
+ var _excluded$3 = ["size", "color"];
342
+ var InfoCircleIcon = function InfoCircleIcon(_ref) {
343
+ var _ref$size = _ref.size,
344
+ size = _ref$size === void 0 ? 16 : _ref$size,
345
+ color = _ref.color,
346
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
347
+ return React.createElement(SvgWithFillColor, Object.assign({
348
+ width: size,
349
+ height: size,
350
+ viewBox: "0 0 24 24",
351
+ color: color,
352
+ fill: "none",
353
+ xmlns: "http://www.w3.org/2000/svg",
354
+ className: "_icon"
355
+ }, props), React.createElement("path", {
356
+ d: "M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM12 8v5",
357
+ strokeWidth: 2,
358
+ strokeLinecap: "round",
359
+ strokeLinejoin: "round",
360
+ stroke: "#fff"
361
+ }), React.createElement("path", {
362
+ d: "M11.994 16h.01",
363
+ strokeWidth: 2,
364
+ strokeLinecap: "round",
365
+ strokeLinejoin: "round",
366
+ stroke: "#fff"
367
+ }));
368
+ };
369
+ InfoCircleIcon.toString = function () {
370
+ return '._icon';
371
+ };
372
+
373
+ var _excluded$4 = ["size", "color"];
374
+ var AddCircleIcon = function AddCircleIcon(_ref) {
375
+ var _ref$size = _ref.size,
376
+ size = _ref$size === void 0 ? 16 : _ref$size,
377
+ color = _ref.color,
378
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
379
+ return React.createElement(SvgWithStrokeColor, Object.assign({
380
+ width: size,
381
+ height: size,
382
+ viewBox: "0 0 24 24",
383
+ color: color,
384
+ fill: "none",
385
+ xmlns: "http://www.w3.org/2000/svg",
386
+ className: "_icon"
387
+ }, props), React.createElement("path", {
388
+ 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",
389
+ strokeWidth: 1.5,
390
+ strokeLinecap: "round",
391
+ strokeLinejoin: "round"
392
+ }));
393
+ };
394
+ AddCircleIcon.toString = function () {
395
+ return '._icon';
396
+ };
397
+
398
+ var _excluded$5 = ["size", "color"];
399
+ var MinusCircleIcon = function MinusCircleIcon(_ref) {
400
+ var _ref$size = _ref.size,
401
+ size = _ref$size === void 0 ? 16 : _ref$size,
402
+ color = _ref.color,
403
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
404
+ return React.createElement(SvgWithStrokeColor, Object.assign({
405
+ width: size,
406
+ height: size,
407
+ viewBox: "0 0 24 24",
408
+ color: color,
409
+ fill: "none",
410
+ xmlns: "http://www.w3.org/2000/svg",
411
+ className: "_icon"
412
+ }, props), React.createElement("path", {
413
+ 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",
414
+ strokeWidth: 1.5,
415
+ strokeLinecap: "round",
416
+ strokeLinejoin: "round"
417
+ }));
418
+ };
419
+ MinusCircleIcon.toString = function () {
420
+ return '._icon';
421
+ };
422
+
423
+ var _excluded$6 = ["size", "color"];
424
+ var CheckCircleIcon = function CheckCircleIcon(_ref) {
425
+ var _ref$size = _ref.size,
426
+ size = _ref$size === void 0 ? 16 : _ref$size,
427
+ color = _ref.color,
428
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
429
+ return React.createElement(SvgWithFillColor, Object.assign({
430
+ width: size,
431
+ height: size,
432
+ viewBox: "0 0 24 24",
433
+ color: color,
434
+ fill: "none",
435
+ xmlns: "http://www.w3.org/2000/svg",
436
+ className: "_icon"
437
+ }, props), React.createElement("path", {
438
+ d: "M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10Z",
439
+ strokeWidth: 1.5,
440
+ strokeLinecap: "round",
441
+ strokeLinejoin: "round",
442
+ stroke: "#fff"
443
+ }), React.createElement("path", {
444
+ d: "m7.75 12 2.83 2.83 5.67-5.66",
445
+ strokeWidth: 1.5,
446
+ strokeLinecap: "round",
447
+ strokeLinejoin: "round",
448
+ stroke: "#fff"
449
+ }));
450
+ };
451
+ CheckCircleIcon.toString = function () {
452
+ return '._icon';
453
+ };
454
+
455
+ var _excluded$7 = ["size", "color"];
456
+ var CheckIcon = function CheckIcon(_ref) {
457
+ var _ref$size = _ref.size,
458
+ size = _ref$size === void 0 ? 16 : _ref$size,
459
+ color = _ref.color,
460
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
461
+ return React.createElement(SvgWithFillColor, Object.assign({
462
+ width: size,
463
+ height: size,
464
+ viewBox: "0 0 15 15",
465
+ fill: "none",
466
+ xmlns: "http://www.w3.org/2000/svg",
467
+ color: color,
468
+ className: "_icon"
469
+ }, props), React.createElement("path", {
470
+ 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",
471
+ fillRule: "evenodd",
472
+ clipRule: "evenodd"
473
+ }));
474
+ };
475
+ CheckIcon.toString = function () {
476
+ return '._icon';
477
+ };
478
+
479
+ var _excluded$8 = ["size", "color"];
480
+ var BanIcon = function BanIcon(_ref) {
481
+ var _ref$size = _ref.size,
482
+ size = _ref$size === void 0 ? 16 : _ref$size,
483
+ color = _ref.color,
484
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
485
+ return React.createElement(SvgWithStrokeColor, Object.assign({
486
+ width: size,
487
+ height: size,
488
+ viewBox: "0 0 24 24",
489
+ color: color,
490
+ fill: "none",
491
+ xmlns: "http://www.w3.org/2000/svg",
492
+ className: "_icon"
493
+ }, props), React.createElement("path", {
494
+ 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",
495
+ strokeWidth: 1.5,
496
+ strokeMiterlimit: 10,
497
+ strokeLinecap: "round",
498
+ strokeLinejoin: "round"
499
+ }));
500
+ };
501
+ BanIcon.toString = function () {
502
+ return '._icon';
503
+ };
504
+
505
+ var _excluded$9 = ["size", "color"];
506
+ var WarningIcon = function WarningIcon(_ref) {
507
+ var _ref$size = _ref.size,
508
+ size = _ref$size === void 0 ? 16 : _ref$size,
509
+ color = _ref.color,
510
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
511
+ return React.createElement(SvgWithStrokeColor, Object.assign({
512
+ width: size,
513
+ height: size,
514
+ viewBox: "0 0 24 24",
515
+ color: color,
516
+ fill: "none",
517
+ xmlns: "http://www.w3.org/2000/svg",
518
+ className: "_icon"
519
+ }, props), React.createElement("path", {
520
+ 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",
521
+ strokeWidth: 1.5,
522
+ strokeLinecap: "round",
523
+ strokeLinejoin: "round"
524
+ }), React.createElement("path", {
525
+ d: "M11.994 17h.01",
526
+ strokeWidth: 2,
527
+ strokeLinecap: "round",
528
+ strokeLinejoin: "round"
529
+ }));
530
+ };
531
+ WarningIcon.toString = function () {
532
+ return '._icon';
533
+ };
534
+
535
+ var _excluded$a = ["size", "color"];
536
+ var HistoryIcon = function HistoryIcon(_ref) {
537
+ var _ref$size = _ref.size,
538
+ size = _ref$size === void 0 ? 16 : _ref$size,
539
+ color = _ref.color,
540
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
541
+ return React.createElement(SvgWithStrokeColor, Object.assign({
542
+ width: size,
543
+ height: size,
544
+ viewBox: "0 0 24 24",
545
+ color: color,
546
+ fill: "none",
547
+ stroke: "currentColor",
548
+ "stroke-width": "2",
549
+ "stroke-linecap": "round",
550
+ "stroke-linejoin": "round",
551
+ xmlns: "http://www.w3.org/2000/svg",
552
+ className: "_icon"
553
+ }, props), React.createElement("path", {
554
+ d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"
555
+ }), React.createElement("polyline", {
556
+ points: "14 2 14 8 20 8"
557
+ }), React.createElement("line", {
558
+ x1: "16",
559
+ y1: "13",
560
+ x2: "8",
561
+ y2: "13"
562
+ }), React.createElement("line", {
563
+ x1: "16",
564
+ y1: "17",
565
+ x2: "8",
566
+ y2: "17"
567
+ }), React.createElement("polyline", {
568
+ points: "10 9 9 9 8 9"
569
+ }));
570
+ };
571
+ HistoryIcon.toString = function () {
572
+ return '._icon';
573
+ };
574
+
575
+ var _excluded$b = ["size", "color"];
576
+ var GasIcon = function GasIcon(_ref) {
577
+ var _ref$size = _ref.size,
578
+ size = _ref$size === void 0 ? 16 : _ref$size,
579
+ color = _ref.color,
580
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$b);
581
+ return React.createElement(SvgWithStrokeColor, Object.assign({
582
+ width: size,
583
+ height: size,
584
+ viewBox: "0 0 24 24",
585
+ color: color,
586
+ fill: "none",
587
+ xmlns: "http://www.w3.org/2000/svg",
588
+ className: "_icon"
589
+ }, props), React.createElement("path", {
590
+ d: "M4 22V5c0-2 1.34-3 3-3h8c1.66 0 3 1 3 3v17H4ZM2.5 22h17",
591
+ strokeWidth: 1.5,
592
+ strokeLinecap: "round",
593
+ strokeLinejoin: "round"
594
+ }), React.createElement("path", {
595
+ 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",
596
+ strokeWidth: 1.5,
597
+ strokeLinecap: "round",
598
+ strokeLinejoin: "round"
599
+ }));
600
+ };
601
+ GasIcon.toString = function () {
602
+ return '._icon';
603
+ };
604
+
605
+ var _excluded$c = ["size", "color"];
606
+ var SettingsIcon = function SettingsIcon(_ref) {
607
+ var _ref$size = _ref.size,
608
+ size = _ref$size === void 0 ? 16 : _ref$size,
609
+ color = _ref.color,
610
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
611
+ return React.createElement(SvgWithStrokeColor, Object.assign({
612
+ width: size,
613
+ height: size,
614
+ viewBox: "0 0 24 24",
615
+ color: color,
616
+ stroke: "currentColor",
617
+ "stroke-width": "2",
618
+ "stroke-linecap": "round",
619
+ "stroke-linejoin": "round",
620
+ fill: "none",
621
+ xmlns: "http://www.w3.org/2000/svg",
622
+ className: "_icon"
623
+ }, props), React.createElement("circle", {
624
+ cx: "12",
625
+ cy: "12",
626
+ r: "3"
627
+ }), React.createElement("path", {
628
+ d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"
629
+ }));
630
+ };
631
+ SettingsIcon.toString = function () {
632
+ return '._icon';
633
+ };
634
+
635
+ var _excluded$d = ["size", "color"];
636
+ var TrashIcon = function TrashIcon(_ref) {
637
+ var _ref$size = _ref.size,
638
+ size = _ref$size === void 0 ? 16 : _ref$size,
639
+ color = _ref.color,
640
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
641
+ return React.createElement(SvgWithStrokeColor, Object.assign({
642
+ width: size,
643
+ height: size,
644
+ viewBox: "0 0 24 24",
645
+ color: color,
646
+ fill: "none",
647
+ xmlns: "http://www.w3.org/2000/svg",
648
+ className: "_icon"
649
+ }, props), React.createElement("path", {
650
+ 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",
651
+ strokeWidth: 1.5,
652
+ strokeLinecap: "round",
653
+ strokeLinejoin: "round"
654
+ }));
655
+ };
656
+ TrashIcon.toString = function () {
657
+ return '._icon';
658
+ };
659
+
660
+ var _excluded$e = ["size", "color"];
661
+ var SearchMinusIcon = function SearchMinusIcon(_ref) {
662
+ var _ref$size = _ref.size,
663
+ size = _ref$size === void 0 ? 16 : _ref$size,
664
+ color = _ref.color,
665
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
666
+ return React.createElement(SvgWithStrokeColor, Object.assign({
667
+ width: size,
668
+ height: size,
669
+ viewBox: "0 0 24 24",
670
+ color: color,
671
+ fill: "none",
672
+ xmlns: "http://www.w3.org/2000/svg",
673
+ className: "_icon"
674
+ }, props), React.createElement("path", {
675
+ 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",
676
+ strokeWidth: 1.5,
677
+ strokeLinecap: "round",
678
+ strokeLinejoin: "round"
679
+ }));
680
+ };
681
+ SearchMinusIcon.toString = function () {
682
+ return '._icon';
683
+ };
684
+
685
+ var _excluded$f = ["size", "color"];
686
+ var SearchIcon = function SearchIcon(_ref) {
687
+ var _ref$size = _ref.size,
688
+ size = _ref$size === void 0 ? 16 : _ref$size,
689
+ color = _ref.color,
690
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$f);
691
+ return React.createElement(SvgWithStrokeColor, Object.assign({
692
+ width: size,
693
+ height: size,
694
+ viewBox: "0 0 24 24",
695
+ color: color,
696
+ fill: "none",
697
+ xmlns: "http://www.w3.org/2000/svg",
698
+ className: "_icon"
699
+ }, props), React.createElement("path", {
700
+ d: "M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2",
701
+ strokeWidth: 1.5,
702
+ strokeLinecap: "round",
703
+ strokeLinejoin: "round"
704
+ }));
705
+ };
706
+ SearchIcon.toString = function () {
707
+ return '._icon';
708
+ };
709
+
710
+ var _excluded$g = ["size", "color"];
711
+ var AngleRightIcon = function AngleRightIcon(_ref) {
712
+ var _ref$size = _ref.size,
713
+ size = _ref$size === void 0 ? 16 : _ref$size,
714
+ color = _ref.color,
715
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$g);
716
+ return React.createElement(SvgWithStrokeColor, Object.assign({
717
+ width: size,
718
+ height: size,
719
+ fill: "none",
720
+ xmlns: "http://www.w3.org/2000/svg",
721
+ viewBox: "0 0 24 24",
722
+ color: color,
723
+ className: "_icon"
724
+ }, props), React.createElement("path", {
725
+ d: "m8.91 19.92 6.52-6.52c.77-.77.77-2.03 0-2.8L8.91 4.08",
726
+ strokeWidth: 1.5,
727
+ strokeMiterlimit: 10,
728
+ strokeLinecap: "round",
729
+ strokeLinejoin: "round"
730
+ }));
731
+ };
732
+ AngleRightIcon.toString = function () {
733
+ return '._icon';
734
+ };
735
+
736
+ var _excluded$h = ["size", "color"];
737
+ var AngleUpIcon = function AngleUpIcon(_ref) {
738
+ var _ref$size = _ref.size,
739
+ size = _ref$size === void 0 ? 16 : _ref$size,
740
+ color = _ref.color,
741
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
742
+ return React.createElement(SvgWithStrokeColor, Object.assign({
743
+ width: size,
744
+ height: size,
745
+ fill: "none",
746
+ xmlns: "http://www.w3.org/2000/svg",
747
+ viewBox: "0 0 24 24",
748
+ color: color,
749
+ className: "_icon"
750
+ }, props), React.createElement("path", {
751
+ d: "M19.92 15.05 13.4 8.53c-.77-.77-2.03-.77-2.8 0l-6.52 6.52",
752
+ strokeWidth: 1.5,
753
+ strokeMiterlimit: 10,
754
+ strokeLinecap: "round",
755
+ strokeLinejoin: "round"
756
+ }));
757
+ };
758
+ AngleUpIcon.toString = function () {
759
+ return '._icon';
760
+ };
761
+
762
+ var _excluded$i = ["size", "color"];
763
+ var AngleDownIcon = function AngleDownIcon(_ref) {
764
+ var _ref$size = _ref.size,
765
+ size = _ref$size === void 0 ? 16 : _ref$size,
766
+ color = _ref.color,
767
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
768
+ return React__default.createElement(SvgWithStrokeColor, Object.assign({
769
+ width: size,
770
+ height: size,
771
+ viewBox: "0 0 24 24",
772
+ color: color,
773
+ fill: "none",
774
+ xmlns: "http://www.w3.org/2000/svg",
775
+ className: "_icon"
776
+ }, props), React__default.createElement("path", {
777
+ d: "m19.92 8.95-6.52 6.52c-.77.77-2.03.77-2.8 0L4.08 8.95",
778
+ strokeWidth: 1.5,
779
+ strokeMiterlimit: 10,
780
+ strokeLinecap: "round",
781
+ strokeLinejoin: "round"
782
+ }));
783
+ };
784
+ AngleDownIcon.toString = function () {
785
+ return '._icon';
786
+ };
787
+
788
+ var _excluded$j = ["size", "color"];
789
+ var AngleLeftIcon = function AngleLeftIcon(_ref) {
790
+ var _ref$size = _ref.size,
791
+ size = _ref$size === void 0 ? 16 : _ref$size,
792
+ color = _ref.color,
793
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$j);
794
+ return React.createElement(SvgWithStrokeColor, Object.assign({
795
+ width: size,
796
+ height: size,
797
+ fill: "none",
798
+ viewBox: "0 0 24 24",
799
+ color: color,
800
+ xmlns: "http://www.w3.org/2000/svg",
801
+ className: "_icon"
802
+ }, props), React.createElement("path", {
803
+ d: "M15 19.92 8.48 13.4c-.77-.77-.77-2.03 0-2.8L15 4.08",
804
+ strokeWidth: 1.5,
805
+ strokeMiterlimit: 10,
806
+ strokeLinecap: "round",
807
+ strokeLinejoin: "round"
808
+ }));
809
+ };
810
+ AngleDownIcon.toString = function () {
811
+ return '._icon';
812
+ };
813
+
814
+ var _excluded$k = ["size", "color"];
815
+ var DownloadIcon = function DownloadIcon(_ref) {
816
+ var _ref$size = _ref.size,
817
+ size = _ref$size === void 0 ? 16 : _ref$size,
818
+ color = _ref.color,
819
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$k);
820
+ return React.createElement(SvgWithStrokeColor, Object.assign({
821
+ width: size,
822
+ height: size,
823
+ viewBox: "0 0 24 24",
824
+ color: color,
825
+ fill: "none",
826
+ xmlns: "http://www.w3.org/2000/svg",
827
+ className: "_icon"
828
+ }, props), React.createElement("path", {
829
+ 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",
830
+ strokeWidth: 1.5,
831
+ strokeLinecap: "round",
832
+ strokeLinejoin: "round"
833
+ }), React.createElement("path", {
834
+ d: "M15.35 12.65 12 16l-3.35-3.35",
835
+ strokeWidth: 1.5,
836
+ strokeLinecap: "round",
837
+ strokeLinejoin: "round"
838
+ }));
839
+ };
840
+ DownloadIcon.toString = function () {
841
+ return '._icon';
842
+ };
843
+
844
+ var _excluded$l = ["color", "size"];
845
+ var ChevronRightIcon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
846
+ var _ref$color = _ref.color,
847
+ color = _ref$color === void 0 ? 'black' : _ref$color,
848
+ _ref$size = _ref.size,
849
+ size = _ref$size === void 0 ? 16 : _ref$size,
850
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$l);
851
+ return React.createElement(SvgWithStrokeColor, Object.assign({
852
+ xmlns: "http://www.w3.org/2000/svg",
853
+ width: size,
854
+ height: size,
855
+ color: color,
856
+ viewBox: "0 0 24 24",
857
+ fill: "none",
858
+ stroke: "currentColor",
859
+ "stroke-width": "2",
860
+ "stroke-linecap": "round",
861
+ "stroke-linejoin": "round",
862
+ className: "_icon"
863
+ }, props, {
864
+ ref: forwardedRef
865
+ }), React.createElement("polyline", {
866
+ points: "9 18 15 12 9 6"
867
+ }));
868
+ });
869
+ ChevronRightIcon.toString = function () {
870
+ return '._icon';
871
+ };
872
+
873
+ var _excluded$m = ["size", "color"];
874
+ var ArrowRightIcon = function ArrowRightIcon(_ref) {
875
+ var _ref$size = _ref.size,
876
+ size = _ref$size === void 0 ? 16 : _ref$size,
877
+ color = _ref.color,
878
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$m);
879
+ return React.createElement(SvgWithStrokeColor, Object.assign({
880
+ width: size,
881
+ height: size,
882
+ viewBox: "0 0 24 24",
883
+ color: color,
884
+ fill: "none",
885
+ stroke: "currentColor",
886
+ "stroke-width": "2",
887
+ "stroke-linecap": "round",
888
+ "stroke-linejoin": "round",
889
+ xmlns: "http://www.w3.org/2000/svg",
890
+ className: "_icon"
891
+ }, props), React.createElement("line", {
892
+ x1: "5",
893
+ y1: "12",
894
+ x2: "19",
895
+ y2: "12"
896
+ }), React.createElement("polyline", {
897
+ points: "12 5 19 12 12 19"
898
+ }));
899
+ };
900
+ ArrowRightIcon.toString = function () {
901
+ return '._icon';
902
+ };
903
+
904
+ var _excluded$n = ["size", "color"];
905
+ var RetryRightIcon = function RetryRightIcon(_ref) {
906
+ var _ref$size = _ref.size,
907
+ size = _ref$size === void 0 ? 16 : _ref$size,
908
+ color = _ref.color,
909
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
910
+ return React.createElement(SvgWithStrokeColor, Object.assign({
911
+ width: size,
912
+ height: size,
913
+ viewBox: "0 0 24 24",
914
+ color: color,
915
+ fill: "none",
916
+ xmlns: "http://www.w3.org/2000/svg",
917
+ className: "_icon"
918
+ }, props), React.createElement("path", {
919
+ 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",
920
+ strokeWidth: 1.5,
921
+ strokeLinecap: "round",
922
+ strokeLinejoin: "round"
923
+ }));
924
+ };
925
+ RetryRightIcon.toString = function () {
926
+ return '._icon';
927
+ };
928
+
929
+ var _excluded$o = ["size", "color"];
930
+ var RetryLeftIcon = function RetryLeftIcon(_ref) {
931
+ var _ref$size = _ref.size,
932
+ size = _ref$size === void 0 ? 16 : _ref$size,
933
+ color = _ref.color,
934
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$o);
935
+ return React.createElement(SvgWithStrokeColor, Object.assign({
936
+ width: size,
937
+ height: size,
938
+ viewBox: "0 0 24 24",
939
+ color: color,
940
+ fill: "none",
941
+ xmlns: "http://www.w3.org/2000/svg",
942
+ className: "_icon"
943
+ }, props), React.createElement("path", {
944
+ 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",
945
+ strokeWidth: 1.5,
946
+ strokeLinecap: "round",
947
+ strokeLinejoin: "round"
948
+ }));
949
+ };
950
+ RetryLeftIcon.toString = function () {
951
+ return '._icon';
952
+ };
953
+
954
+ var _excluded$p = ["size", "color"];
955
+ var TryAgainIcon = function TryAgainIcon(_ref) {
956
+ var _ref$size = _ref.size,
957
+ size = _ref$size === void 0 ? 16 : _ref$size,
958
+ color = _ref.color,
959
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$p);
960
+ return React.createElement(SvgWithStrokeColor, Object.assign({
961
+ width: size,
962
+ height: size,
963
+ viewBox: "0 0 24 24",
964
+ color: color,
965
+ fill: "none",
966
+ xmlns: "http://www.w3.org/2000/svg",
967
+ className: "_icon"
968
+ }, props), React.createElement("path", {
969
+ 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",
970
+ strokeWidth: 1.5,
971
+ strokeLinecap: "round",
972
+ strokeLinejoin: "round"
973
+ }));
974
+ };
975
+ TryAgainIcon.toString = function () {
976
+ return '._icon';
977
+ };
978
+
979
+ var _excluded$q = ["size", "color"];
980
+ var VerticalSwapIcon = function VerticalSwapIcon(_ref) {
981
+ var _ref$size = _ref.size,
982
+ size = _ref$size === void 0 ? 16 : _ref$size,
983
+ color = _ref.color,
984
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$q);
985
+ return React.createElement(SvgWithStrokeColor, Object.assign({
986
+ width: size,
987
+ height: size,
988
+ viewBox: "0 0 24 24",
989
+ color: color,
990
+ fill: "none",
991
+ xmlns: "http://www.w3.org/2000/svg",
992
+ className: "_icon"
993
+ }, props), React.createElement("path", {
994
+ d: "m13.82 6.85 3.04 3.04M13.82 17.15V6.85M10.18 17.15l-3.04-3.04M10.18 6.85v10.3",
995
+ strokeWidth: 1.5,
996
+ strokeMiterlimit: 10,
997
+ strokeLinecap: "round",
998
+ strokeLinejoin: "round"
999
+ }), React.createElement("path", {
1000
+ d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z",
1001
+ strokeWidth: 1.5,
1002
+ strokeLinecap: "round",
1003
+ strokeLinejoin: "round"
1004
+ }));
1005
+ };
1006
+ VerticalSwapIcon.toString = function () {
1007
+ return '._icon';
1008
+ };
1009
+
1010
+ var _excluded$r = ["size", "color"];
1011
+ var HorizontalSwapIcon = function HorizontalSwapIcon(_ref) {
1012
+ var _ref$size = _ref.size,
1013
+ size = _ref$size === void 0 ? 16 : _ref$size,
1014
+ color = _ref.color,
1015
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$r);
1016
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1017
+ width: size,
1018
+ height: size,
1019
+ viewBox: "0 0 24 24",
1020
+ color: color,
1021
+ fill: "none",
1022
+ xmlns: "http://www.w3.org/2000/svg",
1023
+ className: "_icon"
1024
+ }, props), React.createElement("path", {
1025
+ d: "m17.15 13.82-3.04 3.04M6.85 13.82h10.3M6.85 10.18l3.04-3.04M17.15 10.18H6.85",
1026
+ strokeWidth: 1.5,
1027
+ strokeMiterlimit: 10,
1028
+ strokeLinecap: "round",
1029
+ strokeLinejoin: "round"
1030
+ }), React.createElement("path", {
1031
+ d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z",
1032
+ strokeWidth: 1.5,
1033
+ strokeLinecap: "round",
1034
+ strokeLinejoin: "round"
1035
+ }));
1036
+ };
1037
+ HorizontalSwapIcon.toString = function () {
1038
+ return '._icon';
1039
+ };
1040
+
1041
+ var _excluded$s = ["color", "size"];
1042
+ var RetryIcon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
1043
+ var _ref$color = _ref.color,
1044
+ color = _ref$color === void 0 ? 'black' : _ref$color,
1045
+ _ref$size = _ref.size,
1046
+ size = _ref$size === void 0 ? 16 : _ref$size,
1047
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$s);
1048
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1049
+ xmlns: "http://www.w3.org/2000/svg",
1050
+ width: size,
1051
+ height: size,
1052
+ color: color,
1053
+ viewBox: "0 0 24 24",
1054
+ fill: "none",
1055
+ stroke: "currentColor",
1056
+ "stroke-width": "2",
1057
+ "stroke-linecap": "round",
1058
+ "stroke-linejoin": "round",
1059
+ className: "_icon"
1060
+ }, props, {
1061
+ ref: forwardedRef
1062
+ }), React.createElement("polyline", {
1063
+ points: "23 4 23 10 17 10"
1064
+ }), React.createElement("path", {
1065
+ d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10"
1066
+ }));
1067
+ });
1068
+ RetryIcon.toString = function () {
1069
+ return '._icon';
1070
+ };
1071
+
1072
+ var _excluded$t = ["size", "color"];
1073
+ var WalletIcon = function WalletIcon(_ref) {
1074
+ var _ref$size = _ref.size,
1075
+ size = _ref$size === void 0 ? 16 : _ref$size,
1076
+ color = _ref.color,
1077
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$t);
1078
+ return React.createElement(SvgWithFillColor, Object.assign({
1079
+ width: size,
1080
+ height: size,
1081
+ viewBox: "0 0 24 24",
1082
+ color: color,
1083
+ fill: "none",
1084
+ xmlns: "http://www.w3.org/2000/svg",
1085
+ className: "_icon"
1086
+ }, props), React.createElement("path", {
1087
+ fillRule: "evenodd",
1088
+ clipRule: "evenodd",
1089
+ 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"
1090
+ }), React.createElement("path", {
1091
+ fillRule: "evenodd",
1092
+ clipRule: "evenodd",
1093
+ 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"
1094
+ }), React.createElement("path", {
1095
+ fillRule: "evenodd",
1096
+ clipRule: "evenodd",
1097
+ 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"
1098
+ }));
1099
+ };
1100
+ WalletIcon.toString = function () {
1101
+ return '._icon';
1102
+ };
1103
+
1104
+ var _excluded$u = ["size", "color"];
1105
+ var AddWalletIcon = function AddWalletIcon(_ref) {
1106
+ var _ref$size = _ref.size,
1107
+ size = _ref$size === void 0 ? 16 : _ref$size,
1108
+ color = _ref.color,
1109
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$u);
1110
+ return React.createElement(SvgWithFillColor, Object.assign({
1111
+ width: size,
1112
+ height: size,
1113
+ viewBox: "0 0 24 24",
1114
+ color: color,
1115
+ fill: "none",
1116
+ xmlns: "http://www.w3.org/2000/svg",
1117
+ className: "_icon"
1118
+ }, props), React.createElement("path", {
1119
+ fillRule: "evenodd",
1120
+ clipRule: "evenodd",
1121
+ 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"
1122
+ }), React.createElement("path", {
1123
+ fillRule: "evenodd",
1124
+ clipRule: "evenodd",
1125
+ 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"
1126
+ }), React.createElement("path", {
1127
+ fillRule: "evenodd",
1128
+ clipRule: "evenodd",
1129
+ 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"
1130
+ }), React.createElement("path", {
1131
+ fillRule: "evenodd",
1132
+ clipRule: "evenodd",
1133
+ 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"
1134
+ }), React.createElement("path", {
1135
+ fillRule: "evenodd",
1136
+ clipRule: "evenodd",
1137
+ 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"
1138
+ }));
1139
+ };
1140
+ AddWalletIcon.toString = function () {
1141
+ return '._icon';
1142
+ };
1143
+
1144
+ var _excluded$v = ["size", "color"];
1145
+ var DeleteWalletIcon = function DeleteWalletIcon(_ref) {
1146
+ var _ref$size = _ref.size,
1147
+ size = _ref$size === void 0 ? 16 : _ref$size,
1148
+ color = _ref.color,
1149
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$v);
1150
+ return React.createElement(SvgWithFillColor, Object.assign({
1151
+ width: size,
1152
+ height: size,
1153
+ viewBox: "0 0 24 24",
1154
+ color: color,
1155
+ fill: "none",
1156
+ xmlns: "http://www.w3.org/2000/svg",
1157
+ className: "_icon"
1158
+ }, props), React.createElement("path", {
1159
+ fillRule: "evenodd",
1160
+ clipRule: "evenodd",
1161
+ 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"
1162
+ }), React.createElement("path", {
1163
+ fillRule: "evenodd",
1164
+ clipRule: "evenodd",
1165
+ 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"
1166
+ }), React.createElement("path", {
1167
+ fillRule: "evenodd",
1168
+ clipRule: "evenodd",
1169
+ 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"
1170
+ }), React.createElement("path", {
1171
+ fillRule: "evenodd",
1172
+ clipRule: "evenodd",
1173
+ 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"
1174
+ }), React.createElement("path", {
1175
+ fillRule: "evenodd",
1176
+ clipRule: "evenodd",
1177
+ 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"
1178
+ }));
1179
+ };
1180
+ DeleteWalletIcon.toString = function () {
1181
+ return '._icon';
1182
+ };
1183
+
1184
+ var _excluded$w = ["size", "color"];
1185
+ var CheckWalletIcon = function CheckWalletIcon(_ref) {
1186
+ var _ref$size = _ref.size,
1187
+ size = _ref$size === void 0 ? 16 : _ref$size,
1188
+ color = _ref.color,
1189
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$w);
1190
+ return React.createElement(SvgWithFillColor, Object.assign({
1191
+ width: size,
1192
+ height: size,
1193
+ viewBox: "0 0 24 24",
1194
+ color: color,
1195
+ fill: "none",
1196
+ xmlns: "http://www.w3.org/2000/svg",
1197
+ className: "_icon"
1198
+ }, props), React.createElement("path", {
1199
+ fillRule: "evenodd",
1200
+ clipRule: "evenodd",
1201
+ 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"
1202
+ }), React.createElement("path", {
1203
+ fillRule: "evenodd",
1204
+ clipRule: "evenodd",
1205
+ 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"
1206
+ }), React.createElement("path", {
1207
+ fillRule: "evenodd",
1208
+ clipRule: "evenodd",
1209
+ 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"
1210
+ }), React.createElement("path", {
1211
+ fillRule: "evenodd",
1212
+ clipRule: "evenodd",
1213
+ 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"
1214
+ }));
1215
+ };
1216
+ CheckWalletIcon.toString = function () {
1217
+ return '._icon';
1218
+ };
1219
+
1220
+ var _excluded$x = ["size", "color"];
1221
+ var SwapWalletIcon = function SwapWalletIcon(_ref) {
1222
+ var _ref$size = _ref.size,
1223
+ size = _ref$size === void 0 ? 16 : _ref$size,
1224
+ color = _ref.color,
1225
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$x);
1226
+ return React.createElement(SvgWithFillColor, Object.assign({
1227
+ width: size,
1228
+ height: size,
1229
+ viewBox: "0 0 24 24",
1230
+ color: color,
1231
+ fill: "none",
1232
+ xmlns: "http://www.w3.org/2000/svg",
1233
+ className: "_icon"
1234
+ }, props), React.createElement("path", {
1235
+ fillRule: "evenodd",
1236
+ clipRule: "evenodd",
1237
+ 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"
1238
+ }), React.createElement("path", {
1239
+ fillRule: "evenodd",
1240
+ clipRule: "evenodd",
1241
+ 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"
1242
+ }), React.createElement("path", {
1243
+ fillRule: "evenodd",
1244
+ clipRule: "evenodd",
1245
+ 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"
1246
+ }), React.createElement("path", {
1247
+ fillRule: "evenodd",
1248
+ clipRule: "evenodd",
1249
+ 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"
1250
+ }), React.createElement("path", {
1251
+ fillRule: "evenodd",
1252
+ clipRule: "evenodd",
1253
+ 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"
1254
+ }));
1255
+ };
1256
+ SwapWalletIcon.toString = function () {
1257
+ return '._icon';
1258
+ };
1259
+
1260
+ var _excluded$y = ["color", "size"];
1261
+ var DisconnectIcon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
1262
+ var _ref$color = _ref.color,
1263
+ color = _ref$color === void 0 ? 'black' : _ref$color,
1264
+ _ref$size = _ref.size,
1265
+ size = _ref$size === void 0 ? 16 : _ref$size,
1266
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$y);
1267
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1268
+ xmlns: "http://www.w3.org/2000/svg",
1269
+ width: size,
1270
+ height: size,
1271
+ color: color,
1272
+ viewBox: "0 0 24 24",
1273
+ fill: "none",
1274
+ stroke: "currentColor",
1275
+ "stroke-width": "2",
1276
+ "stroke-linecap": "round",
1277
+ "stroke-linejoin": "round",
1278
+ className: "_icon"
1279
+ }, props, {
1280
+ ref: forwardedRef
1281
+ }), React.createElement("path", {
1282
+ d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"
1283
+ }), React.createElement("polyline", {
1284
+ points: "16 17 21 12 16 7"
1285
+ }), React.createElement("line", {
1286
+ x1: "21",
1287
+ y1: "12",
1288
+ x2: "9",
1289
+ y2: "12"
1290
+ }));
1291
+ });
1292
+ DisconnectIcon.toString = function () {
1293
+ return '._icon';
1294
+ };
1295
+
1296
+ var _excluded$z = ["size", "color"];
1297
+ var BagIcon = function BagIcon(_ref) {
1298
+ var _ref$size = _ref.size,
1299
+ size = _ref$size === void 0 ? 16 : _ref$size,
1300
+ color = _ref.color,
1301
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$z);
1302
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1303
+ width: size,
1304
+ height: size,
1305
+ viewBox: "0 0 32 32",
1306
+ color: color,
1307
+ fill: "none",
1308
+ xmlns: "http://www.w3.org/2000/svg",
1309
+ className: "_icon"
1310
+ }, props), React.createElement("g", {
1311
+ clipPath: "url(#a)",
1312
+ strokeWidth: 1.5
1313
+ }, React.createElement("path", {
1314
+ 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"
1315
+ }), React.createElement("path", {
1316
+ d: "M22 18.666a.667.667 0 1 1 0-1.334.667.667 0 0 1 0 1.334Z",
1317
+ fill: color,
1318
+ strokeLinecap: "round",
1319
+ strokeLinejoin: "round"
1320
+ })), React.createElement("defs", null, React.createElement("clipPath", {
1321
+ id: "a"
1322
+ }, React.createElement("path", {
1323
+ fill: color,
1324
+ d: "M0 0h32v32H0z"
1325
+ }))));
1326
+ };
1327
+ BagIcon.toString = function () {
1328
+ return '._icon';
1329
+ };
1330
+
1331
+ var _excluded$A = ["size"];
1332
+ var TimeIcon = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
1333
+ var _ref$size = _ref.size,
1334
+ size = _ref$size === void 0 ? 16 : _ref$size,
1335
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$A);
1336
+ return React.createElement(SvgWithStrokeColor, Object.assign({
1337
+ width: size,
1338
+ height: size,
1339
+ viewBox: "0 0 20 20",
1340
+ fill: "none",
1341
+ xmlns: "http://www.w3.org/2000/svg",
1342
+ className: "_icon"
1343
+ }, props, {
1344
+ ref: forwardedRef
1345
+ }), React.createElement("circle", {
1346
+ cx: 10,
1347
+ cy: 10,
1348
+ r: 7.25,
1349
+ strokeWidth: 1.5
1350
+ }), React.createElement("path", {
1351
+ fillRule: "evenodd",
1352
+ clipRule: "evenodd",
1353
+ 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"
1354
+ }));
1355
+ });
1356
+ TimeIcon.toString = function () {
1357
+ return '._icon';
1358
+ };
1359
+
1360
+ var CloseIcon = /*#__PURE__*/styled(AddIcon, {
1361
+ transform: 'rotate(45deg)',
1362
+ cursor: 'pointer'
1363
+ });
1364
+ CloseIcon.toString = function () {
1365
+ return '._icon';
1366
+ };
1367
+
1368
+ var _excluded$B = ["size", "color"];
1369
+ var SignatureIcon = function SignatureIcon(_ref) {
1370
+ var _ref$size = _ref.size,
1371
+ size = _ref$size === void 0 ? 16 : _ref$size,
1372
+ color = _ref.color,
1373
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$B);
1374
+ return React.createElement(SvgWithFillColor, Object.assign({
1375
+ width: size,
1376
+ height: size,
1377
+ color: color,
1378
+ xmlns: "http://www.w3.org/2000/svg",
1379
+ viewBox: "0 0 122.88 107.95",
1380
+ xmlSpace: "preserve",
1381
+ className: "_icon"
1382
+ }, props), React.createElement("path", {
1383
+ 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",
1384
+ style: {
1385
+ fillRule: 'evenodd',
1386
+ clipRule: 'evenodd'
1387
+ }
1388
+ }));
1389
+ };
1390
+ SignatureIcon.toString = function () {
1391
+ return '._icon';
1392
+ };
1393
+
1394
+ var _excluded$C = ["size", "color"];
1395
+ var CopyIcon = function CopyIcon(_ref) {
1396
+ var _ref$size = _ref.size,
1397
+ size = _ref$size === void 0 ? 16 : _ref$size,
1398
+ color = _ref.color,
1399
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$C);
1400
+ return React.createElement(SvgWithFillColor, Object.assign({
1401
+ width: size,
1402
+ height: size,
1403
+ viewBox: "0 0 64 64",
1404
+ color: color,
1405
+ xmlns: "http://www.w3.org/2000/svg",
1406
+ className: "_icon"
1407
+ }, props), React.createElement("g", {
1408
+ id: "Text-files"
1409
+ }, React.createElement("path", {
1410
+ d: "M53.9791489,9.1429005H50.010849c-0.0826988,0-0.1562004,0.0283995-0.2331009,0.0469999V5.0228\n\t\tC49.7777481,2.253,47.4731483,0,44.6398468,0h-34.422596C7.3839517,0,5.0793519,2.253,5.0793519,5.0228v46.8432999\n\t\tc0,2.7697983,2.3045998,5.0228004,5.1378999,5.0228004h6.0367002v2.2678986C16.253952,61.8274002,18.4702511,64,21.1954517,64\n\t\th32.783699c2.7252007,0,4.9414978-2.1725998,4.9414978-4.8432007V13.9861002\n\t\tC58.9206467,11.3155003,56.7043495,9.1429005,53.9791489,9.1429005z M7.1110516,51.8661003V5.0228\n\t\tc0-1.6487999,1.3938999-2.9909999,3.1062002-2.9909999h34.422596c1.7123032,0,3.1062012,1.3422,3.1062012,2.9909999v46.8432999\n\t\tc0,1.6487999-1.393898,2.9911003-3.1062012,2.9911003h-34.422596C8.5049515,54.8572006,7.1110516,53.5149002,7.1110516,51.8661003z\n\t\t M56.8888474,59.1567993c0,1.550602-1.3055,2.8115005-2.9096985,2.8115005h-32.783699\n\t\tc-1.6042004,0-2.9097996-1.2608986-2.9097996-2.8115005v-2.2678986h26.3541946\n\t\tc2.8333015,0,5.1379013-2.2530022,5.1379013-5.0228004V11.1275997c0.0769005,0.0186005,0.1504021,0.0469999,0.2331009,0.0469999\n\t\th3.9682999c1.6041985,0,2.9096985,1.2609005,2.9096985,2.8115005V59.1567993z"
1411
+ }), React.createElement("path", {
1412
+ d: "M38.6031494,13.2063999H16.253952c-0.5615005,0-1.0159006,0.4542999-1.0159006,1.0158005\n\t\tc0,0.5615997,0.4544001,1.0158997,1.0159006,1.0158997h22.3491974c0.5615005,0,1.0158997-0.4542999,1.0158997-1.0158997\n\t\tC39.6190491,13.6606998,39.16465,13.2063999,38.6031494,13.2063999z"
1413
+ }), React.createElement("path", {
1414
+ d: "M38.6031494,21.3334007H16.253952c-0.5615005,0-1.0159006,0.4542999-1.0159006,1.0157986\n\t\tc0,0.5615005,0.4544001,1.0159016,1.0159006,1.0159016h22.3491974c0.5615005,0,1.0158997-0.454401,1.0158997-1.0159016\n\t\tC39.6190491,21.7877007,39.16465,21.3334007,38.6031494,21.3334007z"
1415
+ }), React.createElement("path", {
1416
+ d: "M38.6031494,29.4603004H16.253952c-0.5615005,0-1.0159006,0.4543991-1.0159006,1.0158997\n\t\ts0.4544001,1.0158997,1.0159006,1.0158997h22.3491974c0.5615005,0,1.0158997-0.4543991,1.0158997-1.0158997\n\t\tS39.16465,29.4603004,38.6031494,29.4603004z"
1417
+ }), React.createElement("path", {
1418
+ d: "M28.4444485,37.5872993H16.253952c-0.5615005,0-1.0159006,0.4543991-1.0159006,1.0158997\n\t\ts0.4544001,1.0158997,1.0159006,1.0158997h12.1904964c0.5615025,0,1.0158005-0.4543991,1.0158005-1.0158997\n\t\tS29.0059509,37.5872993,28.4444485,37.5872993z"
1419
+ })));
1420
+ };
1421
+ CopyIcon.toString = function () {
1422
+ return '._icon';
1423
+ };
1424
+
1425
+ var _excluded$D = ["children", "className", "color"];
1426
+ var TypographyContainer = /*#__PURE__*/styled('span', {
1427
+ margin: 0,
1428
+ display: 'inline-block',
1429
+ variants: {
1430
+ variant: {
1431
+ h1: {
1432
+ fontSize: '$36',
1433
+ fontWeight: '$700',
1434
+ '@md': {
1435
+ fontSize: '$40'
1436
+ },
1437
+ '@lg': {
1438
+ fontSize: '$48'
1439
+ }
1440
+ },
1441
+ h2: {
1442
+ fontSize: '$32',
1443
+ fontWeight: '$700',
1444
+ '@md': {
1445
+ fontSize: '$36'
1446
+ },
1447
+ '@lg': {
1448
+ fontSize: '$40'
1449
+ }
1450
+ },
1451
+ h3: {
1452
+ fontSize: '$20',
1453
+ fontWeight: '$700',
1454
+ '@md': {
1455
+ fontSize: '$24'
1456
+ },
1457
+ '@lg': {
1458
+ fontSize: '$32'
1459
+ }
1460
+ },
1461
+ h4: {
1462
+ fontSize: '$18',
1463
+ fontWeight: '$600',
1464
+ '@md': {
1465
+ fontSize: '$20'
1466
+ },
1467
+ '@lg': {
1468
+ fontSize: '$24'
1469
+ }
1470
+ },
1471
+ h5: {
1472
+ fontSize: '$16',
1473
+ fontWeight: '$600'
1474
+ },
1475
+ h6: {
1476
+ fontSize: '$14',
1477
+ fontWeight: '$500',
1478
+ '@md': {
1479
+ fontSize: '$16'
1480
+ },
1481
+ '@lg': {
1482
+ fontSize: '$18'
1483
+ }
1484
+ },
1485
+ body1: {
1486
+ fontSize: '$14',
1487
+ fontWeight: '$400',
1488
+ '@md': {
1489
+ fontSize: '$16'
1490
+ },
1491
+ '@lg': {
1492
+ fontSize: '$18'
1493
+ }
1494
+ },
1495
+ body2: {
1496
+ fontSize: '$14',
1497
+ fontWeight: '$400',
1498
+ '@lg': {
1499
+ fontSize: '$16'
1500
+ }
1501
+ },
1502
+ body3: {
1503
+ fontSize: '$12',
1504
+ fontWeight: '$400'
1505
+ },
1506
+ caption: {
1507
+ fontSize: '$10',
1508
+ fontWeight: '$400',
1509
+ '@lg': {
1510
+ fontSize: '$12'
1511
+ }
1512
+ }
1513
+ },
1514
+ align: {
1515
+ center: {
1516
+ textAlign: 'center'
1517
+ },
1518
+ left: {
1519
+ textAlign: 'left'
1520
+ },
1521
+ right: {
1522
+ textAlign: 'right'
1523
+ }
1524
+ },
1525
+ noWrap: {
1526
+ "true": {
1527
+ whiteSpace: 'nowrap'
1528
+ }
1529
+ },
1530
+ ml: {
1531
+ 2: {
1532
+ marginLeft: '$2'
1533
+ },
1534
+ 4: {
1535
+ marginLeft: '$4'
1536
+ },
1537
+ 8: {
1538
+ marginLeft: '$8'
1539
+ },
1540
+ 12: {
1541
+ marginLeft: '$12'
1542
+ }
1543
+ },
1544
+ mt: {
1545
+ 2: {
1546
+ marginTop: '$2'
1547
+ },
1548
+ 4: {
1549
+ marginTop: '$4'
1550
+ },
1551
+ 8: {
1552
+ marginTop: '$8'
1553
+ },
1554
+ 12: {
1555
+ marginTop: '$12'
1556
+ }
1557
+ },
1558
+ mr: {
1559
+ 2: {
1560
+ marginRight: '$2'
1561
+ },
1562
+ 4: {
1563
+ marginRight: '$4'
1564
+ },
1565
+ 8: {
1566
+ marginRight: '$8'
1567
+ },
1568
+ 12: {
1569
+ marginRight: '$12'
1570
+ }
1571
+ },
1572
+ mb: {
1573
+ 2: {
1574
+ marginBottom: '$2'
1575
+ },
1576
+ 4: {
1577
+ marginBottom: '$4'
1578
+ },
1579
+ 8: {
1580
+ marginBottom: '$8'
1581
+ },
1582
+ 12: {
1583
+ marginBottom: '$12'
1584
+ }
1585
+ }
1586
+ }
1587
+ });
1588
+ function Typography(_ref) {
1589
+ var children = _ref.children,
1590
+ className = _ref.className,
1591
+ color = _ref.color,
1592
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$D);
1593
+ var customCss = color ? {
1594
+ color: color.startsWith('$') ? color : "$" + color
1595
+ } : {
1596
+ color: '$foreground'
1597
+ };
1598
+ return React__default.createElement(TypographyContainer, Object.assign({
1599
+ className: "_typography _text " + (className || ''),
1600
+ css: customCss
1601
+ }, props), children);
1602
+ }
1603
+ Typography.toString = function () {
1604
+ return '._typography';
1605
+ };
1606
+
1607
+ var StepLogoContainer = /*#__PURE__*/styled('div', {
1608
+ position: 'relative',
1609
+ width: '$28',
1610
+ height: '$28',
1611
+ variants: {
1612
+ direction: {
1613
+ vertical: {
1614
+ margin: 'auto'
1615
+ },
1616
+ horizontal: {}
1617
+ }
1618
+ }
1619
+ });
1620
+ var Logo = /*#__PURE__*/styled('img', {
1621
+ width: '$28',
1622
+ height: '$28',
1623
+ borderRadius: '50%'
1624
+ });
1625
+ var ChainLogo = /*#__PURE__*/styled('div', {
1626
+ position: 'absolute',
1627
+ right: -4,
1628
+ bottom: -4,
1629
+ width: '$16',
1630
+ height: '$16',
1631
+ padding: '$2',
1632
+ borderRadius: '50%',
1633
+ backgroundColor: '$background',
1634
+ border: '1px solid $neutrals400',
1635
+ img: {
1636
+ width: '100%',
1637
+ display: 'block'
1638
+ }
1639
+ });
1640
+ var StepContainer = /*#__PURE__*/styled('div', {
1641
+ display: 'flex',
1642
+ variants: {
1643
+ direction: {
1644
+ horizontal: {
1645
+ alignItems: 'center'
1646
+ },
1647
+ vertical: {
1648
+ flexDirection: 'column',
1649
+ textAlign: 'center',
1650
+ justifyContent: 'center'
1651
+ }
1652
+ }
1653
+ }
1654
+ });
1655
+ var Detail = /*#__PURE__*/styled('div', {
1656
+ variants: {
1657
+ pl: {
1658
+ "true": {
1659
+ paddingLeft: '$4',
1660
+ '@lg': {
1661
+ paddingLeft: '$8'
1662
+ }
1663
+ },
1664
+ "false": {
1665
+ paddingTop: '$8'
1666
+ }
1667
+ }
1668
+ }
1669
+ });
1670
+ var SubTitle = /*#__PURE__*/styled(Typography, {
1671
+ color: '$neutrals600',
1672
+ display: 'block'
1673
+ });
1674
+ function StepDetail(_ref) {
1675
+ var logo = _ref.logo,
1676
+ chainLogo = _ref.chainLogo,
1677
+ amount = _ref.amount,
1678
+ symbol = _ref.symbol,
1679
+ blockchain = _ref.blockchain,
1680
+ _ref$direction = _ref.direction,
1681
+ direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
1682
+ return React__default.createElement(StepContainer, {
1683
+ direction: direction
1684
+ }, React__default.createElement(StepLogoContainer, {
1685
+ direction: direction
1686
+ }, React__default.createElement(Logo, {
1687
+ src: logo,
1688
+ alt: symbol
1689
+ }), React__default.createElement(ChainLogo, null, React__default.createElement("img", {
1690
+ src: chainLogo,
1691
+ alt: blockchain
1692
+ }))), React__default.createElement(Detail, {
1693
+ pl: direction === 'horizontal'
1694
+ }, React__default.createElement(Typography, {
1695
+ noWrap: true,
1696
+ variant: direction === 'vertical' ? 'body2' : 'h6'
1697
+ }, amount ? parseFloat(amount).toFixed(2) : '?', " ", symbol), React__default.createElement(SubTitle, {
1698
+ noWrap: true,
1699
+ variant: "caption",
1700
+ color: "neutrals800"
1701
+ }, "on ", blockchain)));
1702
+ }
1703
+
1704
+ var waveSquares = /*#__PURE__*/keyframes({
1705
+ '0%': {
1706
+ backgroundPosition: '-468px 0'
1707
+ },
1708
+ '100%': {
1709
+ backgroundPosition: '468px 0'
1710
+ }
1711
+ });
1712
+ var SkeletonContainer = /*#__PURE__*/styled('div', {
1713
+ borderRadius: '$5',
1714
+ backgroundColor: '$neutrals300',
1715
+ 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%)",
1716
+ backgroundSize: '800px 100px',
1717
+ animation: waveSquares + " 2s infinite ease-out",
1718
+ variants: {
1719
+ width: {
1720
+ 16: {
1721
+ width: '$16'
1722
+ },
1723
+ 20: {
1724
+ width: '$20'
1725
+ },
1726
+ 24: {
1727
+ width: '$24'
1728
+ },
1729
+ 36: {
1730
+ width: '$36'
1731
+ },
1732
+ 48: {
1733
+ width: '$48'
1734
+ }
1735
+ },
1736
+ height: {
1737
+ 16: {
1738
+ height: '$16'
1739
+ },
1740
+ 20: {
1741
+ height: '$20'
1742
+ },
1743
+ 24: {
1744
+ height: '$24'
1745
+ },
1746
+ 36: {
1747
+ height: '$36'
1748
+ },
1749
+ 48: {
1750
+ height: '$48'
1751
+ },
1752
+ 94: {
1753
+ height: 94
1754
+ }
1755
+ }
1756
+ }
1757
+ });
1758
+ function Skeleton(_ref) {
1759
+ var _ref$width = _ref.width,
1760
+ width = _ref$width === void 0 ? 20 : _ref$width,
1761
+ _ref$height = _ref.height,
1762
+ height = _ref$height === void 0 ? 20 : _ref$height;
1763
+ return React__default.createElement(SkeletonContainer, {
1764
+ width: width,
1765
+ height: height
1766
+ });
1767
+ }
1768
+
1769
+ var spin = /*#__PURE__*/keyframes({
1770
+ '100%': {
1771
+ transform: 'rotate(360deg)'
1772
+ }
1773
+ });
1774
+ var SpinnerContainer = /*#__PURE__*/styled('div', {
1775
+ borderRadius: '50%',
1776
+ position: 'relative',
1777
+ border: "2px solid $neutrals300",
1778
+ borderRight: "2px solid",
1779
+ animation: spin + " 1.5s linear infinite",
1780
+ margin: "0px $8",
1781
+ variants: {
1782
+ color: {
1783
+ primary: {
1784
+ borderRightColor: '$primary'
1785
+ },
1786
+ error: {
1787
+ borderRightColor: '$error'
1788
+ },
1789
+ warning: {
1790
+ borderRightColor: '$warning'
1791
+ },
1792
+ success: {
1793
+ borderRightColor: '$success'
1794
+ },
1795
+ black: {
1796
+ borderRightColor: '$black'
1797
+ },
1798
+ white: {
1799
+ borderRightColor: '$white'
1800
+ }
1801
+ },
1802
+ size: {
1803
+ 16: {
1804
+ width: '$16',
1805
+ height: '$16'
1806
+ },
1807
+ 20: {
1808
+ width: '$20',
1809
+ height: '$20'
1810
+ },
1811
+ 24: {
1812
+ width: '$24',
1813
+ height: '$24'
1814
+ }
1815
+ }
1816
+ }
1817
+ });
1818
+ function Spinner(_ref) {
1819
+ var _ref$size = _ref.size,
1820
+ size = _ref$size === void 0 ? 16 : _ref$size,
1821
+ _ref$color = _ref.color,
1822
+ color = _ref$color === void 0 ? 'primary' : _ref$color;
1823
+ return React__default.createElement(SpinnerContainer, {
1824
+ size: size,
1825
+ color: color
1826
+ });
1827
+ }
1828
+
1829
+ var TooltipTrigger = /*#__PURE__*/styled(RadixTooltip.Trigger, {
1830
+ border: 0,
1831
+ padding: 0,
1832
+ backgroundColor: 'transparent'
1833
+ });
1834
+ var TooltipContent = /*#__PURE__*/styled(RadixTooltip.Content, {
1835
+ borderRadius: '$5',
1836
+ padding: '$4 $8',
1837
+ fontSize: '$14',
1838
+ animationDuration: '400ms',
1839
+ animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',
1840
+ willChange: 'transform, opacity',
1841
+ variants: {
1842
+ color: {
1843
+ primary: {
1844
+ backgroundColor: '$primary',
1845
+ color: '$white'
1846
+ },
1847
+ error: {
1848
+ backgroundColor: '$error',
1849
+ color: '$white'
1850
+ },
1851
+ warning: {
1852
+ backgroundColor: '$warning',
1853
+ color: '$white'
1854
+ },
1855
+ success: {
1856
+ backgroundColor: '$success',
1857
+ color: '$white'
1858
+ },
1859
+ gray: {
1860
+ backgroundColor: '$neutrals300',
1861
+ color: '$black'
1862
+ },
1863
+ black: {
1864
+ backgroundColor: '$black',
1865
+ color: '$white'
1866
+ },
1867
+ white: {
1868
+ backgroundColor: '$white',
1869
+ color: '$black'
1870
+ }
1871
+ }
1872
+ }
1873
+ });
1874
+ var TooltipArrow = /*#__PURE__*/styled(RadixTooltip.Arrow, {
1875
+ variants: {
1876
+ color: {
1877
+ primary: {
1878
+ fill: '$primary'
1879
+ },
1880
+ error: {
1881
+ fill: '$error'
1882
+ },
1883
+ warning: {
1884
+ fill: '$warning'
1885
+ },
1886
+ success: {
1887
+ fill: '$success'
1888
+ },
1889
+ gray: {
1890
+ fill: '$neutrals300'
1891
+ },
1892
+ black: {
1893
+ fill: '$black'
1894
+ },
1895
+ white: {
1896
+ fill: '$white'
1897
+ }
1898
+ }
1899
+ }
1900
+ });
1901
+ var ChildrenWrapper = /*#__PURE__*/styled('div', {
1902
+ display: 'inline-block'
1903
+ });
1904
+ function Tooltip(_ref) {
1905
+ var children = _ref.children,
1906
+ content = _ref.content,
1907
+ _ref$side = _ref.side,
1908
+ side = _ref$side === void 0 ? 'top' : _ref$side,
1909
+ _ref$color = _ref.color,
1910
+ color = _ref$color === void 0 ? 'gray' : _ref$color;
1911
+ return React__default.createElement(RadixTooltip.Provider, null, React__default.createElement(RadixTooltip.Root, null, React__default.createElement(TooltipTrigger, {
1912
+ asChild: true
1913
+ }, React__default.createElement(ChildrenWrapper, null, children)), React__default.createElement(RadixTooltip.Portal, null, React__default.createElement(TooltipContent, {
1914
+ color: color,
1915
+ side: side,
1916
+ sideOffset: 5
1917
+ }, content, React__default.createElement(TooltipArrow, {
1918
+ color: color
1919
+ })))));
1920
+ }
1921
+
1922
+ var Container = /*#__PURE__*/styled('div', {
1923
+ borderRadius: '$5',
1924
+ border: '1px solid $neutrals300',
1925
+ display: 'flex',
1926
+ alignItems: 'center',
1927
+ minHeight: 126,
1928
+ justifyContent: 'space-between'
1929
+ });
1930
+ var ErrorMsg = /*#__PURE__*/styled(Typography, {
1931
+ color: '$error'
1932
+ });
1933
+ var BestRouteContainer = /*#__PURE__*/styled('div', {
1934
+ display: 'flex',
1935
+ alignItems: 'center',
1936
+ margin: '0 auto',
1937
+ overflowX: 'auto',
1938
+ overflowY: 'hidden',
1939
+ alignSelf: 'stretch',
1940
+ padding: '$4',
1941
+ '@md': {
1942
+ padding: '$8'
1943
+ }
1944
+ });
1945
+ var Line = /*#__PURE__*/styled('div', {
1946
+ height: '0',
1947
+ width: '$20',
1948
+ border: '1px dashed $foreground',
1949
+ borderRadius: 'inherit',
1950
+ '@lg': {
1951
+ width: '$32'
1952
+ }
1953
+ });
1954
+ var HR = /*#__PURE__*/styled('hr', {
1955
+ width: '100%',
1956
+ border: '1px solid $neutrals400',
1957
+ margin: '$8 0'
1958
+ });
1959
+ var SwapperLogo = /*#__PURE__*/styled('img', {
1960
+ width: '$16',
1961
+ height: '$16'
1962
+ });
1963
+ var RelativeContainer = /*#__PURE__*/styled('div', {
1964
+ position: 'relative'
1965
+ });
1966
+ var Dot = /*#__PURE__*/styled('div', {
1967
+ width: '$6',
1968
+ height: '$6',
1969
+ backgroundColor: '$foreground',
1970
+ position: 'absolute',
1971
+ top: '45%',
1972
+ right: -5,
1973
+ marginLeft: '$8',
1974
+ borderRadius: '50%',
1975
+ '@md': {
1976
+ width: '$8',
1977
+ height: '$8',
1978
+ right: -8,
1979
+ top: '45%'
1980
+ }
1981
+ });
1982
+ var ArrowRight = /*#__PURE__*/styled('div', {
1983
+ width: '0px',
1984
+ height: '0px',
1985
+ borderTop: '5px solid transparent',
1986
+ borderBottom: '5px solid transparent',
1987
+ borderLeft: '5px solid $foreground'
1988
+ });
1989
+ var pulse = /*#__PURE__*/keyframes({
1990
+ '0%': {
1991
+ opacity: 1
1992
+ },
1993
+ '50%': {
1994
+ opacity: 0.3
1995
+ },
1996
+ '100%': {
1997
+ opacity: 1
1998
+ }
1999
+ });
2000
+ var GasContainer = /*#__PURE__*/styled('div', {
2001
+ backgroundColor: '$neutrals300',
2002
+ borderRadius: '5px',
2003
+ margin: '$4',
2004
+ display: 'flex',
2005
+ flexDirection: 'column',
2006
+ justifyContent: 'center',
2007
+ alignItems: 'center',
2008
+ padding: '$4',
2009
+ '@md': {
2010
+ padding: '$8',
2011
+ margin: '$8'
2012
+ }
2013
+ });
2014
+ var CostContainer = /*#__PURE__*/styled('div', {
2015
+ display: 'flex',
2016
+ flexDirection: 'column',
2017
+ alignItems: 'center',
2018
+ variants: {
2019
+ warning: {
2020
+ "true": {
2021
+ animation: pulse + " 2s ease-in-out infinite"
2022
+ }
2023
+ }
2024
+ }
2025
+ });
2026
+ var TotalFee = /*#__PURE__*/styled(Typography, {
2027
+ variants: {
2028
+ warning: {
2029
+ "true": {
2030
+ color: '$warning300'
2031
+ }
2032
+ }
2033
+ }
2034
+ });
2035
+ var SkeletonContainer$1 = /*#__PURE__*/styled('div', {
2036
+ padding: '$4',
2037
+ '@md': {
2038
+ padding: '$8'
2039
+ }
2040
+ });
2041
+ var SwapperContainer = /*#__PURE__*/styled('div', {
2042
+ display: 'flex',
2043
+ justifyContent: 'center',
2044
+ alignItems: 'center'
2045
+ });
2046
+ function BestRoute(props) {
2047
+ var _data$result;
2048
+ var data = props.data,
2049
+ loading = props.loading,
2050
+ error = props.error,
2051
+ totalFee = props.totalFee,
2052
+ feeWarning = props.feeWarning,
2053
+ totalTime = props.totalTime;
2054
+ return React__default.createElement(Container, null, loading ? React__default.createElement(SkeletonContainer$1, null, React__default.createElement(Skeleton, {
2055
+ width: 48,
2056
+ height: 94
2057
+ })) : React__default.createElement(GasContainer, null, React__default.createElement(Tooltip, {
2058
+ content: "Transaction cost (fee)"
2059
+ }, React__default.createElement(CostContainer, {
2060
+ warning: feeWarning
2061
+ }, React__default.createElement(GasIcon, {
2062
+ size: 20,
2063
+ color: feeWarning ? 'warning' : undefined
2064
+ }), React__default.createElement(TotalFee, {
2065
+ mt: 4,
2066
+ align: "center",
2067
+ variant: "caption",
2068
+ warning: feeWarning
2069
+ }, error && '-', !!data && "$" + totalFee))), React__default.createElement(HR, null), React__default.createElement(Tooltip, {
2070
+ content: "Time estimate"
2071
+ }, React__default.createElement(CostContainer, {
2072
+ warning: feeWarning
2073
+ }, React__default.createElement(TimeIcon, {
2074
+ size: 20
2075
+ }), React__default.createElement(Typography, {
2076
+ mt: 4,
2077
+ align: "center",
2078
+ variant: "caption"
2079
+ }, error && '-', !!data && "~" + totalTime + "m")))), React__default.createElement(BestRouteContainer, null, loading && React__default.createElement(Spinner, {
2080
+ color: "primary"
2081
+ }), error && React__default.createElement(ErrorMsg, {
2082
+ variant: "caption"
2083
+ }, error), !!data && ((_data$result = data.result) == null ? void 0 : _data$result.swaps.map(function (swap, index) {
2084
+ var _data$result2;
2085
+ return React__default.createElement(React.Fragment, {
2086
+ key: index
2087
+ }, index === 0 && React__default.createElement(RelativeContainer, null, React__default.createElement(StepDetail, {
2088
+ direction: "vertical",
2089
+ logo: swap.from.logo,
2090
+ symbol: swap.from.symbol,
2091
+ chainLogo: swap.from.blockchainLogo,
2092
+ blockchain: swap.from.blockchain,
2093
+ amount: swap.fromAmount
2094
+ }), React__default.createElement(Dot, null)), React__default.createElement(SwapperContainer, null, React__default.createElement(Line, null), React__default.createElement(SwapperLogo, {
2095
+ src: swap.swapperLogo,
2096
+ alt: swap.swapperId
2097
+ }), 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, {
2098
+ direction: "vertical",
2099
+ logo: swap.to.logo,
2100
+ symbol: swap.to.symbol,
2101
+ chainLogo: swap.to.blockchainLogo,
2102
+ blockchain: swap.to.blockchain,
2103
+ amount: swap.toAmount
2104
+ }));
2105
+ })), !!data && !(data != null && data.result) && React__default.createElement(Typography, {
2106
+ variant: "body2"
2107
+ }, "No routes found")));
2108
+ }
2109
+
2110
+ var _excluded$E = ["children", "loading", "disabled", "prefix", "suffix", "align", "flexContent"];
2111
+ var _ghost, _css, _css2, _css3;
2112
+ var ButtonContainer = /*#__PURE__*/styled('button', {
2113
+ borderRadius: '$5',
2114
+ fontSize: '$16',
2115
+ fontWeight: '$400',
2116
+ cursor: 'pointer',
2117
+ padding: '0 $12',
2118
+ display: 'flex',
2119
+ alignItems: 'center',
2120
+ justifyContent: 'center',
2121
+ transition: 'all 0.35s',
2122
+ border: '0',
2123
+ '&:active': {
2124
+ transform: 'scale(0.95)'
2125
+ },
2126
+ variants: {
2127
+ align: {
2128
+ start: {
2129
+ display: 'flex',
2130
+ width: '100%'
2131
+ },
2132
+ grow: {
2133
+ display: 'flex',
2134
+ width: '100%'
2135
+ }
2136
+ },
2137
+ size: {
2138
+ compact: {},
2139
+ free: {},
2140
+ small: {
2141
+ height: '$32'
2142
+ },
2143
+ medium: {
2144
+ height: '$40'
2145
+ },
2146
+ large: {
2147
+ height: '$48'
2148
+ }
2149
+ },
2150
+ variant: {
2151
+ contained: {
2152
+ backgroundColor: '$neutrals300',
2153
+ color: '$foreground',
2154
+ border: 0,
2155
+ '&:hover': {
2156
+ backgroundColor: '$neutrals200'
2157
+ },
2158
+ '&:disabled': {
2159
+ background: '$neutrals400'
2160
+ },
2161
+ '&:disabled:hover': {
2162
+ background: '$neutrals400',
2163
+ transform: 'unset'
2164
+ }
2165
+ },
2166
+ outlined: {
2167
+ backgroundColor: '$background',
2168
+ border: 1,
2169
+ borderStyle: 'solid',
2170
+ borderColor: '$neutrals400',
2171
+ color: '$foreground',
2172
+ '&:hover': {
2173
+ borderColor: '$neutrals600'
2174
+ },
2175
+ '&:disabled': {
2176
+ borderColor: '$neutrals300',
2177
+ color: '$neutrals400'
2178
+ }
2179
+ },
2180
+ ghost: (_ghost = {
2181
+ color: '$foreground',
2182
+ '&:hover': {
2183
+ backgroundColor: '$neutrals200'
2184
+ },
2185
+ '&:disabled': {
2186
+ color: '$neutrals400 !important'
2187
+ },
2188
+ background: 'transparent',
2189
+ border: 0
2190
+ }, _ghost["& " + Typography] = {
2191
+ color: 'inherit'
2192
+ }, _ghost)
2193
+ },
2194
+ fullWidth: {
2195
+ "true": {
2196
+ width: '100%'
2197
+ }
2198
+ },
2199
+ loading: {
2200
+ "true": {}
2201
+ },
2202
+ type: {
2203
+ primary: {},
2204
+ error: {},
2205
+ warning: {},
2206
+ success: {}
2207
+ }
2208
+ },
2209
+ compoundVariants: [{
2210
+ type: 'primary',
2211
+ variant: 'contained',
2212
+ css: {
2213
+ background: '$primary',
2214
+ color: '$white',
2215
+ '&:hover': {
2216
+ background: '$primary700'
2217
+ },
2218
+ '&:visited': {
2219
+ background: '$primary900'
2220
+ },
2221
+ '&:focus': {
2222
+ background: '$primary600'
2223
+ }
2224
+ }
2225
+ }, {
2226
+ type: 'primary',
2227
+ variant: 'outlined',
2228
+ css: {
2229
+ color: '$primary !important',
2230
+ borderColor: '$primary',
2231
+ '&:hover': {
2232
+ color: '$primary700 !important',
2233
+ borderColor: '$primary700 !important'
2234
+ },
2235
+ '&:visited': {
2236
+ color: '$primary900 !important',
2237
+ borderColor: '$primary900 !important'
2238
+ },
2239
+ '&:focus': {
2240
+ color: '$primary600 !important',
2241
+ borderColor: '$primary600 !important'
2242
+ }
2243
+ }
2244
+ }, {
2245
+ type: 'primary',
2246
+ variant: 'ghost',
2247
+ css: {
2248
+ color: '$primary',
2249
+ '&:hover': {
2250
+ color: '$primary700'
2251
+ },
2252
+ '&:visited': {
2253
+ color: '$primary900'
2254
+ },
2255
+ '&:focus': {
2256
+ color: '$primary600'
2257
+ }
2258
+ }
2259
+ }, {
2260
+ type: 'error',
2261
+ variant: 'contained',
2262
+ css: (_css = {
2263
+ background: '$error',
2264
+ $$color: '$colors$background'
2265
+ }, _css["." + darkTheme + " &"] = {
2266
+ $$color: '$colors$foreground'
2267
+ }, _css.color = '$$color !important', _css['&:hover'] = {
2268
+ background: '$error300'
2269
+ }, _css['&:visited'] = {
2270
+ background: '$error700'
2271
+ }, _css['&:focus'] = {
2272
+ background: '$error700'
2273
+ }, _css)
2274
+ }, {
2275
+ type: 'error',
2276
+ variant: 'outlined',
2277
+ css: {
2278
+ color: '$error !important',
2279
+ borderColor: '$error',
2280
+ '&:hover': {
2281
+ color: '$error300 !important',
2282
+ borderColor: '$error300 !important'
2283
+ },
2284
+ '&:visited': {
2285
+ color: '$error700 !important',
2286
+ borderColor: '$error700 !important'
2287
+ },
2288
+ '&:focus': {
2289
+ color: '$error700 !important',
2290
+ borderColor: '$error700 !important'
2291
+ }
2292
+ }
2293
+ }, {
2294
+ type: 'error',
2295
+ variant: 'ghost',
2296
+ css: {
2297
+ color: '$error',
2298
+ '&:hover': {
2299
+ color: '$error300'
2300
+ },
2301
+ '&:visited': {
2302
+ color: '$error700'
2303
+ },
2304
+ '&:focus': {
2305
+ color: '$error700'
2306
+ }
2307
+ }
2308
+ }, {
2309
+ type: 'warning',
2310
+ variant: 'contained',
2311
+ css: (_css2 = {
2312
+ background: '$warning',
2313
+ $$color: '$colors$background'
2314
+ }, _css2["." + darkTheme + " &"] = {
2315
+ $$color: '$colors$foreground'
2316
+ }, _css2.color = '$$color !important', _css2['&:hover'] = {
2317
+ background: '$warning300'
2318
+ }, _css2['&:visited'] = {
2319
+ background: '$warning700'
2320
+ }, _css2['&:focus'] = {
2321
+ background: '$warning700'
2322
+ }, _css2)
2323
+ }, {
2324
+ type: 'warning',
2325
+ variant: 'outlined',
2326
+ css: {
2327
+ color: '$warning !important',
2328
+ borderColor: '$warning',
2329
+ '&:hover': {
2330
+ color: '$warning300 !important',
2331
+ borderColor: '$warning300 !important'
2332
+ },
2333
+ '&:visited': {
2334
+ color: '$warning700 !important',
2335
+ borderColor: '$warning700 !important'
2336
+ },
2337
+ '&:focus': {
2338
+ color: '$warning700 !important',
2339
+ borderColor: '$warning700 !important'
2340
+ }
2341
+ }
2342
+ }, {
2343
+ type: 'warning',
2344
+ variant: 'ghost',
2345
+ css: {
2346
+ color: '$warning',
2347
+ '&:hover': {
2348
+ color: '$warning300'
2349
+ },
2350
+ '&:visited': {
2351
+ color: '$warning700'
2352
+ },
2353
+ '&:focus': {
2354
+ color: '$warning700'
2355
+ }
2356
+ }
2357
+ }, {
2358
+ type: 'success',
2359
+ variant: 'contained',
2360
+ css: (_css3 = {
2361
+ background: '$success',
2362
+ $$color: '$colors$background'
2363
+ }, _css3["." + darkTheme + " &"] = {
2364
+ $$color: '$colors$foreground'
2365
+ }, _css3.color = '$$color !important', _css3['&:hover'] = {
2366
+ background: '$success300'
2367
+ }, _css3['&:visited'] = {
2368
+ background: '$success700'
2369
+ }, _css3['&:focus'] = {
2370
+ background: '$success700'
2371
+ }, _css3)
2372
+ }, {
2373
+ type: 'success',
2374
+ variant: 'outlined',
2375
+ css: {
2376
+ color: '$success !important',
2377
+ borderColor: '$success',
2378
+ '&:hover': {
2379
+ color: '$success300 !important',
2380
+ borderColor: '$success300 !important'
2381
+ },
2382
+ '&:visited': {
2383
+ color: '$success700 !important',
2384
+ borderColor: '$success700 !important'
2385
+ },
2386
+ '&:focus': {
2387
+ color: '$success700 !important',
2388
+ borderColor: '$success700 !important'
2389
+ }
2390
+ }
2391
+ }, {
2392
+ type: 'success',
2393
+ variant: 'ghost',
2394
+ css: {
2395
+ color: '$success',
2396
+ '&:hover': {
2397
+ color: '$success300'
2398
+ },
2399
+ '&:visited': {
2400
+ color: '$success700'
2401
+ },
2402
+ '&:focus': {
2403
+ color: '$success700'
2404
+ }
2405
+ }
2406
+ }, {
2407
+ size: 'compact',
2408
+ css: {
2409
+ padding: '$2 $4',
2410
+ fontSize: '$12'
2411
+ }
2412
+ }],
2413
+ defaultVariants: {
2414
+ size: 'medium',
2415
+ variant: 'contained'
2416
+ }
2417
+ });
2418
+ var Content = /*#__PURE__*/styled('div', {
2419
+ flex: 1,
2420
+ variants: {
2421
+ align: {
2422
+ start: {
2423
+ textAlign: 'left'
2424
+ },
2425
+ grow: {
2426
+ textAlign: 'center'
2427
+ }
2428
+ },
2429
+ ml: {
2430
+ "true": {
2431
+ marginLeft: '$8'
2432
+ }
2433
+ },
2434
+ mr: {
2435
+ "true": {
2436
+ marginRight: '$8'
2437
+ }
2438
+ },
2439
+ flexContent: {
2440
+ "true": {
2441
+ display: 'flex',
2442
+ alignItems: 'center'
2443
+ }
2444
+ }
2445
+ }
2446
+ });
2447
+ function Button(_ref) {
2448
+ var children = _ref.children,
2449
+ loading = _ref.loading,
2450
+ disabled = _ref.disabled,
2451
+ prefix = _ref.prefix,
2452
+ suffix = _ref.suffix,
2453
+ align = _ref.align,
2454
+ flexContent = _ref.flexContent,
2455
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$E);
2456
+ var isDisabled = loading || disabled;
2457
+ return React__default.createElement(ButtonContainer, Object.assign({
2458
+ disabled: isDisabled
2459
+ }, props, {
2460
+ align: align
2461
+ }), prefix, children && React__default.createElement(Content, {
2462
+ align: align,
2463
+ ml: !!prefix,
2464
+ mr: !!suffix && !loading,
2465
+ flexContent: flexContent,
2466
+ className: "_text"
2467
+ }, children), loading && React__default.createElement(Spinner, {
2468
+ size: 16,
2469
+ color: props.type
2470
+ }), suffix);
2471
+ }
2472
+
2473
+ var FilledCircle = /*#__PURE__*/styled('span', {
2474
+ width: '10px',
2475
+ height: '10px',
2476
+ backgroundColor: '$primary',
2477
+ borderRadius: '99999px'
2478
+ });
2479
+
2480
+ var ListContainer = /*#__PURE__*/styled('div', {
2481
+ display: 'grid',
2482
+ gap: '.5rem',
2483
+ gridTemplateColumns: ' repeat(2, minmax(0, 1fr))',
2484
+ alignContent: 'baseline',
2485
+ width: '100%',
2486
+ height: '100%'
2487
+ });
2488
+ var Image = /*#__PURE__*/styled('img', {
2489
+ width: '1.5rem',
2490
+ maxHeight: '1.5rem',
2491
+ marginRight: '$4'
2492
+ });
2493
+ function BlockchainsList(props) {
2494
+ var list = props.list,
2495
+ onChange = props.onChange,
2496
+ multiSelect = props.multiSelect,
2497
+ selectedList = props.selectedList;
2498
+ var _useState = React.useState(props.selected),
2499
+ selected = _useState[0],
2500
+ setSelected = _useState[1];
2501
+ var changeSelectedBlockchain = function changeSelectedBlockchain(blockchain) {
2502
+ setSelected(blockchain);
2503
+ onChange(blockchain);
2504
+ };
2505
+ var isSelect = function isSelect(name) {
2506
+ if (multiSelect && selectedList) {
2507
+ return selectedList === 'all' || selectedList.findIndex(function (item) {
2508
+ return name === item.name;
2509
+ }) > -1;
2510
+ }
2511
+ return name === (selected == null ? void 0 : selected.name);
2512
+ };
2513
+ return React__default.createElement(ListContainer, null, list.map(function (blockchain, index) {
2514
+ return React__default.createElement(Button, {
2515
+ type: isSelect(blockchain.name) ? 'primary' : undefined,
2516
+ variant: "outlined",
2517
+ size: "large",
2518
+ prefix: React__default.createElement(Image, {
2519
+ src: blockchain.logo
2520
+ }),
2521
+ suffix: isSelect(blockchain.name) ? React__default.createElement(FilledCircle, null) : undefined,
2522
+ align: "start",
2523
+ onClick: changeSelectedBlockchain.bind(null, blockchain),
2524
+ key: index
2525
+ }, React__default.createElement(Typography, {
2526
+ variant: "body2"
2527
+ }, blockchain.displayName));
2528
+ }));
2529
+ }
2530
+
2531
+ var DividerContainer = /*#__PURE__*/styled('div', {
2532
+ variants: {
2533
+ size: {
2534
+ 4: {
2535
+ height: '$4'
2536
+ },
2537
+ 8: {
2538
+ height: '$8'
2539
+ },
2540
+ 12: {
2541
+ height: '$12'
2542
+ },
2543
+ 16: {
2544
+ height: '$16'
2545
+ },
2546
+ 18: {
2547
+ height: '$18'
2548
+ },
2549
+ 20: {
2550
+ height: '$20'
2551
+ },
2552
+ 24: {
2553
+ height: '$24'
2554
+ },
2555
+ 32: {
2556
+ height: '$32'
2557
+ }
2558
+ }
2559
+ }
2560
+ });
2561
+ function Divider(_ref) {
2562
+ var _ref$size = _ref.size,
2563
+ size = _ref$size === void 0 ? 12 : _ref$size;
2564
+ return React__default.createElement(DividerContainer, {
2565
+ size: size
2566
+ });
2567
+ }
2568
+
2569
+ var HeaderContainer = /*#__PURE__*/styled('div', {
2570
+ display: 'flex',
2571
+ justifyContent: 'space-between',
2572
+ alignItems: 'center',
2573
+ padding: '$8 0',
2574
+ position: 'relative'
2575
+ });
2576
+ var BackButton = /*#__PURE__*/styled(Button, {
2577
+ padding: '$8'
2578
+ });
2579
+ function Header(props) {
2580
+ return React__default.createElement(HeaderContainer, null, props.onBack ? React__default.createElement(BackButton, {
2581
+ variant: "ghost",
2582
+ size: "small",
2583
+ onClick: props.onBack
2584
+ }, React__default.createElement(AngleLeftIcon, {
2585
+ size: 24
2586
+ })) : null, props.prefix, React__default.createElement(Typography, {
2587
+ variant: "h4"
2588
+ }, props.title), props.suffix || React__default.createElement("div", null));
2589
+ }
2590
+
2591
+ var _excluded$F = ["label", "prefix", "suffix", "children", "size", "style"];
2592
+ var InputContainer = /*#__PURE__*/styled('div', {
2593
+ backgroundColor: '$background',
2594
+ padding: '1px',
2595
+ boxSizing: 'border-box',
2596
+ border: '1px solid $neutrals400',
2597
+ borderRadius: '$5',
2598
+ height: '$48',
2599
+ display: 'flex',
2600
+ flexGrow: 1,
2601
+ position: 'relative',
2602
+ alignItems: 'center',
2603
+ color: '$foreground',
2604
+ transition: 'border-color ease .3s',
2605
+ '&:focus-within': {
2606
+ borderColor: '$success',
2607
+ outline: '1px solid $success'
2608
+ },
2609
+ variants: {
2610
+ size: {
2611
+ small: {
2612
+ height: '$32'
2613
+ },
2614
+ medium: {
2615
+ height: '$40'
2616
+ },
2617
+ large: {
2618
+ height: '$48'
2619
+ }
2620
+ },
2621
+ disabled: {
2622
+ "true": {
2623
+ backgroundColor: '$neutrals300',
2624
+ cursor: 'not-allowed',
2625
+ filter: 'grayscale(100%)'
2626
+ }
2627
+ },
2628
+ prefix: {
2629
+ "true": {
2630
+ paddingLeft: '$16'
2631
+ },
2632
+ "false": {
2633
+ paddingLeft: '$0'
2634
+ }
2635
+ },
2636
+ suffix: {
2637
+ "true": {
2638
+ paddingRight: '$16'
2639
+ },
2640
+ "false": {
2641
+ paddingRight: '$0'
2642
+ }
2643
+ }
2644
+ },
2645
+ defaultVariants: {
2646
+ size: 'medium'
2647
+ }
2648
+ });
2649
+ var Input = /*#__PURE__*/styled('input', {
2650
+ color: '$foreground',
2651
+ paddingLeft: '$16',
2652
+ paddingRight: '$16',
2653
+ flexGrow: 1,
2654
+ width: '100%',
2655
+ border: 'none',
2656
+ borderRadius: '$5',
2657
+ outline: 'none',
2658
+ fontSize: '$l',
2659
+ backgroundColor: 'transparent',
2660
+ '-webkit-appearance': 'none',
2661
+ margin: 0,
2662
+ '&:disabled': {
2663
+ cursor: 'not-allowed'
2664
+ }
2665
+ });
2666
+ var Label = /*#__PURE__*/styled('label', {
2667
+ display: 'inline-block',
2668
+ fontSize: '$14',
2669
+ color: '$foreground',
2670
+ marginBottom: '$4'
2671
+ });
2672
+ var TextField = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
2673
+ var label = props.label,
2674
+ prefix = props.prefix,
2675
+ suffix = props.suffix,
2676
+ size = props.size,
2677
+ style = props.style,
2678
+ inputAttributes = _objectWithoutPropertiesLoose(props, _excluded$F);
2679
+ return React__default.createElement(React__default.Fragment, null, label && React__default.createElement(Label, Object.assign({
2680
+ className: "_text"
2681
+ }, inputAttributes.id && {
2682
+ htmlFor: inputAttributes.id
2683
+ }), label), React__default.createElement(InputContainer, {
2684
+ disabled: inputAttributes.disabled,
2685
+ prefix: !!prefix,
2686
+ suffix: !!suffix,
2687
+ size: size,
2688
+ style: style,
2689
+ className: "_text"
2690
+ }, prefix || null, React__default.createElement(Input, Object.assign({
2691
+ className: "_text"
2692
+ }, inputAttributes, {
2693
+ spellCheck: false,
2694
+ ref: ref
2695
+ })), suffix || null));
2696
+ });
2697
+
2698
+ var ContentContainer = /*#__PURE__*/styled('div', {
2699
+ overflow: 'hidden',
2700
+ display: 'flex',
2701
+ flexDirection: 'column',
2702
+ flex: '1',
2703
+ padding: '0 $4'
2704
+ });
2705
+ var TextFieldContainer = /*#__PURE__*/styled('div', {
2706
+ padding: '1px'
2707
+ });
2708
+ function SecondaryPage(props) {
2709
+ var title = props.title,
2710
+ Footer = props.Footer,
2711
+ TopButton = props.TopButton,
2712
+ onBack = props.onBack,
2713
+ _props$hasHeader = props.hasHeader,
2714
+ hasHeader = _props$hasHeader === void 0 ? true : _props$hasHeader;
2715
+ var _useState = React.useState(''),
2716
+ searchedFor = _useState[0],
2717
+ setSearchedFor = _useState[1];
2718
+ return React__default.createElement(React__default.Fragment, null, hasHeader && React__default.createElement(Header, {
2719
+ onBack: onBack,
2720
+ title: title || '',
2721
+ suffix: TopButton
2722
+ }), React__default.createElement(ContentContainer, null, props.textField && React__default.createElement(TextFieldContainer, null, React__default.createElement(TextField, {
2723
+ size: "large",
2724
+ prefix: React__default.createElement(SearchIcon, {
2725
+ size: 24
2726
+ }),
2727
+ placeholder: props.textFieldPlaceholder,
2728
+ onChange: function onChange(event) {
2729
+ return setSearchedFor(event.target.value);
2730
+ },
2731
+ value: searchedFor,
2732
+ autoFocus: true
2733
+ }), React__default.createElement(Divider, {
2734
+ size: 16
2735
+ })), props.textField && (props.children == null ? void 0 : props.children(searchedFor)), !props.textField && props.children), Footer);
2736
+ }
2737
+
2738
+ var containsText = function containsText(text, searchText) {
2739
+ return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;
2740
+ };
2741
+ var getConciseAddress = function getConciseAddress(address, maxChars, ellipsisLength) {
2742
+ if (maxChars === void 0) {
2743
+ maxChars = 8;
2744
+ }
2745
+ if (ellipsisLength === void 0) {
2746
+ ellipsisLength = 3;
2747
+ }
2748
+ if (!address) return null;
2749
+ if (address.length < 2 * maxChars + ellipsisLength) return address;
2750
+ var start = Math.ceil((address.length - maxChars) / 2);
2751
+ var end = address.length - maxChars;
2752
+ return "" + address.substr(start, maxChars) + '.'.repeat(ellipsisLength) + address.substr(end);
2753
+ };
2754
+
2755
+ var SpacerContainer = /*#__PURE__*/styled('div', {
2756
+ variants: {
2757
+ size: {
2758
+ 4: {},
2759
+ 8: {},
2760
+ 12: {},
2761
+ 16: {},
2762
+ 18: {},
2763
+ 20: {},
2764
+ 24: {}
2765
+ },
2766
+ direction: {
2767
+ vertical: {},
2768
+ horizontal: {}
2769
+ }
2770
+ },
2771
+ compoundVariants: [{
2772
+ size: 4,
2773
+ direction: 'horizontal',
2774
+ css: {
2775
+ width: '$4'
2776
+ }
2777
+ }, {
2778
+ size: 4,
2779
+ direction: 'vertical',
2780
+ css: {
2781
+ height: '$4'
2782
+ }
2783
+ }, {
2784
+ size: 8,
2785
+ direction: 'horizontal',
2786
+ css: {
2787
+ width: '$8'
2788
+ }
2789
+ }, {
2790
+ size: 8,
2791
+ direction: 'vertical',
2792
+ css: {
2793
+ height: '$8'
2794
+ }
2795
+ }, {
2796
+ size: 12,
2797
+ direction: 'horizontal',
2798
+ css: {
2799
+ width: '$12'
2800
+ }
2801
+ }, {
2802
+ size: 12,
2803
+ direction: 'vertical',
2804
+ css: {
2805
+ height: '$12'
2806
+ }
2807
+ }, {
2808
+ size: 16,
2809
+ direction: 'horizontal',
2810
+ css: {
2811
+ width: '$16'
2812
+ }
2813
+ }, {
2814
+ size: 16,
2815
+ direction: 'vertical',
2816
+ css: {
2817
+ height: '$16'
2818
+ }
2819
+ }, {
2820
+ size: 18,
2821
+ direction: 'horizontal',
2822
+ css: {
2823
+ width: '$18'
2824
+ }
2825
+ }, {
2826
+ size: 18,
2827
+ direction: 'vertical',
2828
+ css: {
2829
+ height: '$18'
2830
+ }
2831
+ }, {
2832
+ size: 20,
2833
+ direction: 'horizontal',
2834
+ css: {
2835
+ width: '$20'
2836
+ }
2837
+ }, {
2838
+ size: 20,
2839
+ direction: 'vertical',
2840
+ css: {
2841
+ height: '$20'
2842
+ }
2843
+ }, {
2844
+ size: 24,
2845
+ direction: 'horizontal',
2846
+ css: {
2847
+ width: '$24'
2848
+ }
2849
+ }, {
2850
+ size: 24,
2851
+ direction: 'vertical',
2852
+ css: {
2853
+ height: '$24'
2854
+ }
2855
+ }]
2856
+ });
2857
+ function Spacer(_ref) {
2858
+ var _ref$size = _ref.size,
2859
+ size = _ref$size === void 0 ? 12 : _ref$size,
2860
+ _ref$direction = _ref.direction,
2861
+ direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
2862
+ return React__default.createElement(SpacerContainer, {
2863
+ size: size,
2864
+ direction: direction
2865
+ });
2866
+ }
2867
+
2868
+ var MainContainer = /*#__PURE__*/styled('div', {
2869
+ width: '100%',
2870
+ padding: '$16',
2871
+ borderRadius: '$5',
2872
+ backgroundColor: '$neutrals300',
2873
+ color: '$neutrals800',
2874
+ '.main': {
2875
+ display: 'flex',
2876
+ alignItems: 'center'
2877
+ },
2878
+ '.footer': {
2879
+ paddingTop: '$8'
2880
+ },
2881
+ '&.hasIcon .footer': {
2882
+ paddingLeft: '$32'
2883
+ },
2884
+ variants: {
2885
+ type: {
2886
+ primary: {
2887
+ color: '$primary200'
2888
+ },
2889
+ secondary: {
2890
+ color: '$foreground'
2891
+ },
2892
+ success: {
2893
+ color: '$success300'
2894
+ },
2895
+ warning: {
2896
+ color: '$warning500'
2897
+ },
2898
+ error: {
2899
+ color: '$error300'
2900
+ }
2901
+ }
2902
+ }
2903
+ });
2904
+ function Alert(props) {
2905
+ var type = props.type,
2906
+ children = props.children,
2907
+ title = props.title;
2908
+ var showIcon = ['error', 'success', 'warning'].includes(type);
2909
+ return React__default.createElement(MainContainer, {
2910
+ type: type,
2911
+ className: showIcon ? 'hasIcon' : ''
2912
+ }, React__default.createElement("div", {
2913
+ className: "main"
2914
+ }, showIcon && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
2915
+ style: {
2916
+ width: '32px',
2917
+ display: 'flex',
2918
+ justifyContent: 'center',
2919
+ alignItems: 'center'
2920
+ }
2921
+ }, type === 'success' && React__default.createElement(CheckCircleIcon, {
2922
+ color: type,
2923
+ size: 24
2924
+ }), type === 'warning' && React__default.createElement(WarningIcon, {
2925
+ color: type,
2926
+ size: 24
2927
+ }), type === 'error' && React__default.createElement(InfoCircleIcon, {
2928
+ color: type,
2929
+ size: 24
2930
+ }), React__default.createElement(Spacer, {
2931
+ size: 8
2932
+ }))), React__default.createElement("div", {
2933
+ style: {
2934
+ display: 'flex',
2935
+ justifyContent: 'center',
2936
+ alignItems: 'start',
2937
+ flexDirection: 'column',
2938
+ width: '100%'
2939
+ }
2940
+ }, title && React__default.createElement(React__default.Fragment, null, React__default.createElement(Typography, {
2941
+ className: "title",
2942
+ variant: "h6",
2943
+ color: type
2944
+ }, title), !!children && React__default.createElement(Spacer, {
2945
+ size: 8,
2946
+ direction: "vertical"
2947
+ })), children)), props.footer ? React__default.createElement("div", {
2948
+ className: "footer"
2949
+ }, props.footer) : null);
2950
+ }
2951
+
2952
+ function LoadingFailedAlert() {
2953
+ return React__default.createElement(Alert, {
2954
+ type: "error",
2955
+ title: " Error connecting server, please reload the app and try again."
2956
+ });
2957
+ }
2958
+
2959
+ function NotFoundAlert(props) {
2960
+ var catergory = props.catergory,
2961
+ searchedFor = props.searchedFor;
2962
+ return React__default.createElement(Alert, {
2963
+ type: "secondary",
2964
+ title: catergory + " " + (searchedFor ? "'" + searchedFor + "'" : '') + " not found."
2965
+ });
2966
+ }
2967
+
2968
+ function VirtualizedList(props) {
2969
+ var itemCount = props.itemCount,
2970
+ hasNextPage = props.hasNextPage,
2971
+ loadNextPage = props.loadNextPage,
2972
+ Item = props.Item,
2973
+ innerElementType = props.innerElementType,
2974
+ size = props.size;
2975
+ var isItemLoaded = function isItemLoaded(index) {
2976
+ return !hasNextPage || index < itemCount;
2977
+ };
2978
+ return React__default.createElement(AutoSizer, null, function (_ref) {
2979
+ var width = _ref.width,
2980
+ height = _ref.height;
2981
+ return React__default.createElement(InfiniteLoader, {
2982
+ isItemLoaded: isItemLoaded,
2983
+ itemCount: hasNextPage ? itemCount + 1 : itemCount,
2984
+ loadMoreItems: loadNextPage,
2985
+ threshold: 1
2986
+ }, function (_ref2) {
2987
+ var onItemsRendered = _ref2.onItemsRendered,
2988
+ ref = _ref2.ref;
2989
+ return React__default.createElement(reactWindow.VariableSizeList, {
2990
+ innerElementType: innerElementType,
2991
+ ref: ref,
2992
+ itemSize: function itemSize() {
2993
+ return size;
2994
+ },
2995
+ itemCount: itemCount,
2996
+ height: height || 0,
2997
+ width: width || 0,
2998
+ onItemsRendered: onItemsRendered
2999
+ }, function (_ref3) {
3000
+ var index = _ref3.index,
3001
+ style = _ref3.style;
3002
+ return isItemLoaded(index) ? React__default.createElement(Item, {
3003
+ index: index,
3004
+ style: style
3005
+ }) : null;
3006
+ });
3007
+ });
3008
+ });
3009
+ }
3010
+
3011
+ var TokenImage = /*#__PURE__*/styled('img', {
3012
+ width: '$32',
3013
+ maxHeight: '$32',
3014
+ marginRight: '$16'
3015
+ });
3016
+ var TokenNameContainer = /*#__PURE__*/styled('div', {
3017
+ display: 'flex',
3018
+ flexDirection: 'column'
3019
+ });
3020
+ var TokenAmountContainer = /*#__PURE__*/styled('div', {
3021
+ display: 'flex',
3022
+ flexDirection: 'column',
3023
+ alignItems: 'flex-end'
3024
+ });
3025
+ function TokenItem(props) {
3026
+ var _token$balance;
3027
+ var token = props.token,
3028
+ style = props.style,
3029
+ onClick = props.onClick,
3030
+ selected = props.selected;
3031
+ return React__default.createElement("div", {
3032
+ style: _extends({
3033
+ display: 'flex',
3034
+ alignItems: 'center',
3035
+ width: '100%'
3036
+ }, style, {
3037
+ height: '48px',
3038
+ top: parseFloat(style == null ? void 0 : style.top) + 0 + "px",
3039
+ padding: '0 4px'
3040
+ })
3041
+ }, React__default.createElement(Button, {
3042
+ variant: "outlined",
3043
+ size: "large",
3044
+ align: "start",
3045
+ onClick: onClick.bind(null, token),
3046
+ type: selected ? 'primary' : undefined,
3047
+ prefix: React__default.createElement(TokenImage, {
3048
+ src: token.image
3049
+ }),
3050
+ suffix: ((_token$balance = token.balance) == null ? void 0 : _token$balance.amount) && React__default.createElement(TokenAmountContainer, null, React__default.createElement(Typography, {
3051
+ variant: "body2"
3052
+ }, token.balance.amount), React__default.createElement(Typography, {
3053
+ variant: "caption"
3054
+ }, token.balance.usdValue + "$"))
3055
+ }, React__default.createElement(TokenNameContainer, null, React__default.createElement(Typography, {
3056
+ variant: "body1"
3057
+ }, token.symbol), React__default.createElement(Typography, {
3058
+ variant: "caption",
3059
+ color: "neutrals600"
3060
+ }, token.name))));
3061
+ }
3062
+
3063
+ var _excluded$G = ["style"];
3064
+ var PAGE_SIZE = 20;
3065
+ function TokenList(props) {
3066
+ var list = props.list,
3067
+ searchedText = props.searchedText,
3068
+ onChange = props.onChange,
3069
+ multiSelect = props.multiSelect,
3070
+ selectedList = props.selectedList;
3071
+ var _useState = React.useState(props.selected),
3072
+ selected = _useState[0],
3073
+ setSelected = _useState[1];
3074
+ var changeSelected = function changeSelected(token) {
3075
+ setSelected(token);
3076
+ onChange(token);
3077
+ };
3078
+ var isSelected = function isSelected(token) {
3079
+ if (multiSelect && selectedList) {
3080
+ return selectedList === 'all' || selectedList.map(function (item) {
3081
+ return item.symbol + item.address;
3082
+ }).indexOf(token.symbol + token.address) > -1;
3083
+ }
3084
+ return (selected == null ? void 0 : selected.symbol) === token.symbol && (selected == null ? void 0 : selected.address) === token.address;
3085
+ };
3086
+ var _useState2 = React.useState(true),
3087
+ hasNextPage = _useState2[0],
3088
+ setHasNextPage = _useState2[1];
3089
+ var _useState3 = React.useState(list),
3090
+ tokens = _useState3[0],
3091
+ setTokens = _useState3[1];
3092
+ var loadNextPage = function loadNextPage() {
3093
+ setTokens(list.slice(0, tokens.length + PAGE_SIZE));
3094
+ };
3095
+ React.useEffect(function () {
3096
+ setTokens(list.slice(0, PAGE_SIZE));
3097
+ }, [searchedText, list]);
3098
+ React.useEffect(function () {
3099
+ setHasNextPage(list.length > tokens.length);
3100
+ }, [tokens.length]);
3101
+ var innerElementType = React.forwardRef(function (_ref, ref) {
3102
+ var style = _ref.style,
3103
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$G);
3104
+ return React__default.createElement("div", Object.assign({
3105
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3106
+ ref: ref,
3107
+ style: _extends({}, style, {
3108
+ height: parseFloat(style == null ? void 0 : style.height) + 8 * 2 + "px"
3109
+ })
3110
+ }, rest));
3111
+ });
3112
+ return React__default.createElement(VirtualizedList, {
3113
+ Item: function Item(_ref2) {
3114
+ var index = _ref2.index,
3115
+ style = _ref2.style;
3116
+ return React__default.createElement(TokenItem, {
3117
+ token: tokens[index],
3118
+ style: style,
3119
+ onClick: changeSelected,
3120
+ selected: isSelected(tokens[index])
3121
+ });
3122
+ },
3123
+ hasNextPage: hasNextPage,
3124
+ itemCount: tokens.length,
3125
+ loadNextPage: loadNextPage,
3126
+ innerElementType: innerElementType,
3127
+ size: 56
3128
+ });
3129
+ }
3130
+
3131
+ var Container$1 = /*#__PURE__*/styled('div', {
3132
+ flex: '1'
3133
+ });
3134
+ var LoaderContainer = /*#__PURE__*/styled('div', {
3135
+ display: 'flex',
3136
+ justifyContent: 'center',
3137
+ width: '100%',
3138
+ position: 'absolute',
3139
+ top: '50%'
3140
+ });
3141
+ var filterTokens = function filterTokens(list, searchedFor) {
3142
+ return list.filter(function (token) {
3143
+ return containsText(token.symbol, searchedFor) || containsText(token.address || '', searchedFor) || containsText(token.name || '', searchedFor);
3144
+ });
3145
+ };
3146
+ function TokenSelector(props) {
3147
+ var list = props.list,
3148
+ type = props.type,
3149
+ selected = props.selected,
3150
+ onChange = props.onChange,
3151
+ hasHeader = props.hasHeader,
3152
+ multiSelect = props.multiSelect,
3153
+ selectedList = props.selectedList,
3154
+ onBack = props.onBack,
3155
+ loadingStatus = props.loadingStatus;
3156
+ return React__default.createElement(SecondaryPage, {
3157
+ textField: true,
3158
+ textFieldPlaceholder: "Search Blockchain By Name",
3159
+ title: "Select " + type + " Token",
3160
+ hasHeader: hasHeader,
3161
+ onBack: onBack
3162
+ }, function (searchedFor) {
3163
+ var filteredTokens = filterTokens(list, searchedFor);
3164
+ return React__default.createElement(Container$1, null, loadingStatus === 'loading' && React__default.createElement(LoaderContainer, null, React__default.createElement(Spinner, {
3165
+ size: 24
3166
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, filteredTokens.length ? React__default.createElement(TokenList, {
3167
+ searchedText: searchedFor,
3168
+ list: filteredTokens,
3169
+ selected: selected,
3170
+ selectedList: selectedList,
3171
+ multiSelect: multiSelect,
3172
+ onChange: onChange
3173
+ }) : React__default.createElement(NotFoundAlert, {
3174
+ catergory: "Token",
3175
+ searchedFor: searchedFor
3176
+ })));
3177
+ });
3178
+ }
3179
+
3180
+ var ListContainer$1 = /*#__PURE__*/styled('div', {
3181
+ overflowY: 'auto'
3182
+ });
3183
+ var filterBlockchains = function filterBlockchains(list, searchedFor) {
3184
+ return list.filter(function (blockchain) {
3185
+ return containsText(blockchain.name, searchedFor) || containsText(blockchain.displayName, searchedFor);
3186
+ });
3187
+ };
3188
+ function BlockchainSelector(props) {
3189
+ var type = props.type,
3190
+ list = props.list,
3191
+ onChange = props.onChange,
3192
+ selected = props.selected,
3193
+ onBack = props.onBack,
3194
+ loadingStatus = props.loadingStatus,
3195
+ hasHeader = props.hasHeader,
3196
+ listContainerStyle = props.listContainerStyle,
3197
+ multiSelect = props.multiSelect,
3198
+ selectedList = props.selectedList;
3199
+ return React__default.createElement(SecondaryPage, {
3200
+ textField: true,
3201
+ hasHeader: hasHeader,
3202
+ textFieldPlaceholder: "Search Blockchain By Name",
3203
+ title: "Select " + type + " Network",
3204
+ onBack: onBack
3205
+ }, function (searchedFor) {
3206
+ var filteredBlockchains = filterBlockchains(list, searchedFor);
3207
+ return React__default.createElement(ListContainer$1, {
3208
+ style: listContainerStyle,
3209
+ key: "1"
3210
+ }, loadingStatus === 'loading' && React__default.createElement(LoaderContainer, null, React__default.createElement(Spinner, {
3211
+ size: 24
3212
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, filteredBlockchains.length ? React__default.createElement(BlockchainsList, {
3213
+ list: filteredBlockchains,
3214
+ selected: selected,
3215
+ multiSelect: multiSelect,
3216
+ selectedList: selectedList,
3217
+ onChange: onChange
3218
+ }) : React__default.createElement(NotFoundAlert, {
3219
+ catergory: "Blockchain",
3220
+ searchedFor: searchedFor
3221
+ })));
3222
+ });
3223
+ }
3224
+
3225
+ var _excluded$H = ["label", "id"];
3226
+ var CheckboxContainer = /*#__PURE__*/styled('div', {
3227
+ display: 'flex',
3228
+ alignItems: 'center'
3229
+ });
3230
+ var CheckboxRoot = /*#__PURE__*/styled(RadixCheckbox.Root, {
3231
+ borderRadius: '5px',
3232
+ width: 20,
3233
+ padding: 0,
3234
+ height: 20,
3235
+ border: '1px solid $foreground',
3236
+ display: 'flex',
3237
+ alignItems: 'center',
3238
+ justifyContent: 'center',
3239
+ marginRight: '$2',
3240
+ backgroundColor: '$neutral-100'
3241
+ });
3242
+ var Label$1 = /*#__PURE__*/styled('label', {
3243
+ color: '$foreground',
3244
+ fontSize: '$m',
3245
+ marginLeft: '$8'
3246
+ });
3247
+ function Checkbox(_ref) {
3248
+ var label = _ref.label,
3249
+ id = _ref.id,
3250
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
3251
+ return React__default.createElement(CheckboxContainer, null, React__default.createElement(CheckboxRoot, Object.assign({
3252
+ id: id
3253
+ }, props), React__default.createElement(RadixCheckbox.Indicator, null, React__default.createElement(CheckIcon, {
3254
+ size: 20
3255
+ }))), React__default.createElement(Label$1, {
3256
+ className: "_text",
3257
+ htmlFor: id
3258
+ }, label));
3259
+ }
3260
+
3261
+ var ChipCointainer = /*#__PURE__*/styled('div', {
3262
+ display: 'inline-flex',
3263
+ justifyContent: 'center',
3264
+ alignItems: 'center',
3265
+ borderRadius: '$5',
3266
+ padding: '$4 $8',
3267
+ height: '32',
3268
+ fontSize: '$14',
3269
+ cursor: 'pointer',
3270
+ transition: 'all 0.35s',
3271
+ color: '$foreground',
3272
+ '&:hover': {
3273
+ backgroundColor: '$success700',
3274
+ color: '$background'
3275
+ },
3276
+ variants: {
3277
+ selected: {
3278
+ "true": {
3279
+ backgroundColor: '$success',
3280
+ color: '$background'
3281
+ },
3282
+ "false": {
3283
+ backgroundColor: '$background'
3284
+ }
3285
+ }
3286
+ }
3287
+ });
3288
+ function Chip(props) {
3289
+ var label = props.label,
3290
+ selected = props.selected,
3291
+ prefix = props.prefix,
3292
+ suffix = props.suffix,
3293
+ onClick = props.onClick,
3294
+ style = props.style;
3295
+ return React__default.createElement(ChipCointainer, {
3296
+ selected: selected,
3297
+ onClick: onClick,
3298
+ style: style
3299
+ }, prefix || null, label, suffix || null);
3300
+ }
3301
+
3302
+ var BackDrop = /*#__PURE__*/styled('div', {
3303
+ position: 'fixed',
3304
+ display: 'flex',
3305
+ justifyContent: 'center',
3306
+ alignItems: 'center',
3307
+ top: '0',
3308
+ left: '0',
3309
+ width: '100vw',
3310
+ height: '100vh',
3311
+ backgroundColor: 'rgba(0,0,0,.1)'
3312
+ });
3313
+ var ModalContainer = /*#__PURE__*/styled('div', {
3314
+ backgroundColor: '$background',
3315
+ borderRadius: '$10',
3316
+ padding: '$16 $16',
3317
+ display: 'flex',
3318
+ flexDirection: 'column',
3319
+ boxShadow: '$s',
3320
+ zIndex: 10
3321
+ });
3322
+ var Row = /*#__PURE__*/styled('div', {
3323
+ display: 'flex',
3324
+ alignItems: 'center'
3325
+ });
3326
+ var ModalHeader = /*#__PURE__*/styled('div', {
3327
+ display: 'flex',
3328
+ justifyContent: 'space-between',
3329
+ alignItems: 'center',
3330
+ position: 'relative',
3331
+ marginBottom: '$16'
3332
+ });
3333
+ var ContentContainer$1 = /*#__PURE__*/styled('div', {});
3334
+ function Modal(props) {
3335
+ var title = props.title,
3336
+ content = props.content,
3337
+ open = props.open,
3338
+ onClose = props.onClose,
3339
+ containerStyle = props.containerStyle,
3340
+ action = props.action,
3341
+ contentStyle = props.contentStyle;
3342
+ var handleBackDropClick = function handleBackDropClick(event) {
3343
+ if (event.target === event.currentTarget) onClose();
3344
+ };
3345
+ React.useEffect(function () {
3346
+ if (open) document.body.style.overflow = 'hidden';else document.body.style.overflow = 'unset';
3347
+ }, [open]);
3348
+ return React__default.createElement(React__default.Fragment, null, open && reactDom.createPortal(React__default.createElement(BackDrop, {
3349
+ onClick: handleBackDropClick
3350
+ }, React__default.createElement(ModalContainer, {
3351
+ style: containerStyle
3352
+ }, React__default.createElement(ModalHeader, null, React__default.createElement(Typography, {
3353
+ variant: "h4"
3354
+ }, title), React__default.createElement(Row, null, action, React__default.createElement(CloseIcon, {
3355
+ size: 24,
3356
+ onClick: onClose
3357
+ }))), React__default.createElement(ContentContainer$1, {
3358
+ style: contentStyle
3359
+ }, content))), document.body));
3360
+ }
3361
+
3362
+ (function (WalletState) {
3363
+ WalletState["NOT_INSTALLED"] = "not installed";
3364
+ WalletState["DISCONNECTED"] = "disconnected";
3365
+ WalletState["CONNECTING"] = "connecting";
3366
+ WalletState["CONNECTED"] = "connected";
3367
+ })(exports.WalletState || (exports.WalletState = {}));
3368
+
3369
+ var StateIconContainer = /*#__PURE__*/styled('span', {
3370
+ display: 'flex',
3371
+ justifyContent: 'center',
3372
+ alignItems: 'center'
3373
+ });
3374
+ var State = function State(_ref) {
3375
+ var walletState = _ref.walletState,
3376
+ installLink = _ref.installLink;
3377
+ 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", {
3378
+ href: walletsShared.detectInstallLink(installLink),
3379
+ target: "_blank"
3380
+ }, React__default.createElement(DownloadIcon, {
3381
+ size: 24,
3382
+ color: "success"
3383
+ })), walletState === exports.WalletState.CONNECTING && React__default.createElement(Spinner, null), walletState === exports.WalletState.CONNECTED && React__default.createElement(DisconnectIcon, null)));
3384
+ };
3385
+
3386
+ var WalletImage = /*#__PURE__*/styled('img', {
3387
+ width: '$24',
3388
+ height: '$24',
3389
+ marginRight: '$12'
3390
+ });
3391
+ var Text = /*#__PURE__*/styled('div', {
3392
+ display: 'flex',
3393
+ flexDirection: 'column'
3394
+ });
3395
+ var ExtendedButton = /*#__PURE__*/styled(Button, {
3396
+ variants: {
3397
+ type: {
3398
+ primary: {
3399
+ outline: '1px solid $primary',
3400
+ borderColor: '$primary',
3401
+ '&:hover': {
3402
+ borderColor: '$primary'
3403
+ }
3404
+ }
3405
+ }
3406
+ }
3407
+ });
3408
+ function Wallet(props) {
3409
+ var name = props.name,
3410
+ type = props.type,
3411
+ image = props.image,
3412
+ state = props.state,
3413
+ _onClick = props.onClick,
3414
+ installLink = props.installLink;
3415
+ return React__default.createElement(ExtendedButton, {
3416
+ type: state === exports.WalletState.CONNECTED ? 'primary' : undefined,
3417
+ disabled: state == exports.WalletState.CONNECTING,
3418
+ onClick: function onClick() {
3419
+ if (state === exports.WalletState.NOT_INSTALLED) {
3420
+ window.open(walletsShared.detectInstallLink(installLink), '_blank');
3421
+ } else _onClick(type);
3422
+ },
3423
+ align: "start",
3424
+ variant: "outlined",
3425
+ size: "large",
3426
+ prefix: React__default.createElement(WalletImage, {
3427
+ src: image
3428
+ }),
3429
+ suffix: React__default.createElement(State, {
3430
+ walletState: state,
3431
+ installLink: installLink
3432
+ })
3433
+ }, React__default.createElement(Text, null, React__default.createElement(Typography, {
3434
+ variant: "h5",
3435
+ noWrap: false
3436
+ }, name), state === exports.WalletState.CONNECTED ? React__default.createElement(Typography, {
3437
+ variant: "caption",
3438
+ noWrap: false,
3439
+ color: "primary"
3440
+ }, "Connected") : null));
3441
+ }
3442
+
3443
+ var ModalContent = /*#__PURE__*/styled('div', {
3444
+ display: 'grid',
3445
+ gap: '$8',
3446
+ gridTemplateColumns: 'repeat(2, minmax(0, 1fr))'
3447
+ });
3448
+ function ConnectWalletsModal(props) {
3449
+ var open = props.open,
3450
+ list = props.list,
3451
+ onSelect = props.onSelect,
3452
+ onClose = props.onClose;
3453
+ var Content = React__default.createElement(ModalContent, null, list.map(function (info, index) {
3454
+ return React__default.createElement(Wallet, Object.assign({}, info, {
3455
+ key: index,
3456
+ onClick: onSelect
3457
+ }));
3458
+ }));
3459
+ return React__default.createElement(Modal, {
3460
+ title: "Connect Wallets",
3461
+ open: open,
3462
+ content: Content,
3463
+ onClose: onClose,
3464
+ containerStyle: {
3465
+ width: '75%',
3466
+ maxWidth: '30rem',
3467
+ height: '70%'
3468
+ }
3469
+ });
3470
+ }
3471
+
3472
+ var StyledSwitchRoot = /*#__PURE__*/styled(RadixSwitch.Root, {
3473
+ boxSizing: 'border-box',
3474
+ boxShadow: 'none',
3475
+ borderStyle: 'solid',
3476
+ width: '42px',
3477
+ height: '22px',
3478
+ backgroundColor: '$neutrals600',
3479
+ borderColor: '$neutrals600',
3480
+ borderRadius: '99999px',
3481
+ position: 'relative',
3482
+ padding: '0',
3483
+ cursor: 'pointer',
3484
+ '&[data-state="checked"]': {
3485
+ backgroundColor: '$success',
3486
+ borderColor: '$success'
3487
+ },
3488
+ '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)'
3489
+ });
3490
+ var StyledSwitchThumb = /*#__PURE__*/styled(RadixSwitch.Thumb, {
3491
+ position: 'absolute',
3492
+ top: '0',
3493
+ boxSizing: 'border-box',
3494
+ display: 'block',
3495
+ width: '18px',
3496
+ height: '18px',
3497
+ backgroundColor: '$white',
3498
+ transition: ' transform 300ms',
3499
+ borderRadius: '999999px',
3500
+ willChange: 'transform',
3501
+ '&[data-state="checked"]': {
3502
+ transform: 'translateX(20px)'
3503
+ }
3504
+ });
3505
+ function Switch(props) {
3506
+ var checked = props.checked,
3507
+ onChange = props.onChange;
3508
+ return React__default.createElement(StyledSwitchRoot, {
3509
+ checked: checked,
3510
+ onCheckedChange: onChange
3511
+ }, React__default.createElement(StyledSwitchThumb, null));
3512
+ }
3513
+
3514
+ var groupLiquiditySources = function groupLiquiditySources(liquiditySources) {
3515
+ return {
3516
+ bridge: liquiditySources.filter(function (liquiditySource) {
3517
+ return liquiditySource.type === 'BRIDGE' || liquiditySource.type === 'AGGREGATOR';
3518
+ }),
3519
+ exchange: liquiditySources.filter(function (liquiditySource) {
3520
+ return liquiditySource.type === 'DEX';
3521
+ })
3522
+ };
3523
+ };
3524
+ var MainContainer$1 = /*#__PURE__*/styled('div', {
3525
+ variants: {
3526
+ loaded: {
3527
+ "true": {
3528
+ overflowY: 'auto'
3529
+ }
3530
+ }
3531
+ }
3532
+ });
3533
+ var LiquiditySourceType = /*#__PURE__*/styled('div', {
3534
+ position: 'sticky',
3535
+ display: 'flex',
3536
+ justifyContent: 'space-between',
3537
+ alignItems: 'center',
3538
+ top: '0',
3539
+ backgroundColor: '$background',
3540
+ zIndex: '9999',
3541
+ paddingTop: '$8',
3542
+ paddingBottom: '$8'
3543
+ });
3544
+ var LiquidityImage = /*#__PURE__*/styled('img', {
3545
+ width: '$20',
3546
+ maxHeight: '$20',
3547
+ marginRight: '$16'
3548
+ });
3549
+ var LoaderContainer$1 = /*#__PURE__*/styled('div', {
3550
+ display: 'flex',
3551
+ justifyContent: 'center'
3552
+ });
3553
+ function LiquiditySourceList(props) {
3554
+ var list = props.list,
3555
+ onChange = props.onChange,
3556
+ listContainerStyle = props.listContainerStyle,
3557
+ loadingStatus = props.loadingStatus,
3558
+ searchedFor = props.searchedFor;
3559
+ var _useState = React.useState(list.filter(function (item) {
3560
+ return item.selected;
3561
+ })),
3562
+ selected = _useState[0],
3563
+ setSelected = _useState[1];
3564
+ var changeLiquiditySources = function changeLiquiditySources(clickedItem) {
3565
+ clickedItem.selected = !clickedItem.selected;
3566
+ setSelected(function (prevState) {
3567
+ if (clickedItem.selected) return [].concat(prevState, [clickedItem]);
3568
+ return prevState.filter(function (item) {
3569
+ return item.title != clickedItem.title;
3570
+ });
3571
+ });
3572
+ onChange(clickedItem);
3573
+ };
3574
+ var isSelected = function isSelected(liquiditySource) {
3575
+ return !!selected.find(function (item) {
3576
+ return liquiditySource.title === item.title;
3577
+ });
3578
+ };
3579
+ React.useEffect(function () {
3580
+ setSelected(list.filter(function (item) {
3581
+ return item.selected;
3582
+ }));
3583
+ }, [list]);
3584
+ var sections = groupLiquiditySources(list);
3585
+ var bridges = sections.bridge;
3586
+ var exchanges = sections.exchange;
3587
+ var totalBridges = bridges.length;
3588
+ var totalExchanges = exchanges.length;
3589
+ // TODO: This is not performant
3590
+ var totalSelectedBridges = bridges.filter(isSelected).length;
3591
+ var totalSelectedExchanges = exchanges.filter(isSelected).length;
3592
+ return React__default.createElement(MainContainer$1, {
3593
+ style: listContainerStyle,
3594
+ loaded: loadingStatus === 'success'
3595
+ }, React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, null, React__default.createElement(Typography, {
3596
+ variant: "h5"
3597
+ }, "Bridges"), React__default.createElement(Typography, {
3598
+ variant: "body1",
3599
+ color: "neutrals800"
3600
+ }, totalSelectedBridges === totalBridges ? totalBridges : totalSelectedBridges + " / " + totalBridges)), React__default.createElement(Spacer, {
3601
+ size: 12,
3602
+ direction: "vertical"
3603
+ }), loadingStatus === 'loading' && React__default.createElement(LoaderContainer$1, null, React__default.createElement(Spinner, {
3604
+ size: 24
3605
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus === 'success' && React__default.createElement(React__default.Fragment, null, totalBridges ? bridges.map(function (liquiditySource, index) {
3606
+ return React__default.createElement(LiquiditySourceItem, {
3607
+ liquiditySource: liquiditySource,
3608
+ key: index,
3609
+ selected: isSelected(liquiditySource),
3610
+ onChange: changeLiquiditySources
3611
+ });
3612
+ }) : React__default.createElement(NotFoundAlert, {
3613
+ catergory: "Bridge",
3614
+ searchedFor: searchedFor
3615
+ }))), React__default.createElement("div", null, React__default.createElement(LiquiditySourceType, null, React__default.createElement(Typography, {
3616
+ variant: "h5"
3617
+ }, "Exchanges"), React__default.createElement(Typography, {
3618
+ variant: "body1",
3619
+ color: "neutrals800"
3620
+ }, totalSelectedExchanges === totalExchanges ? totalExchanges : totalSelectedExchanges + " / " + totalExchanges)), React__default.createElement(Spacer, {
3621
+ size: 12,
3622
+ direction: "vertical"
3623
+ }), loadingStatus === 'loading' && React__default.createElement(LoaderContainer$1, null, React__default.createElement(Spinner, {
3624
+ size: 24
3625
+ })), loadingStatus === 'failed' && React__default.createElement(LoadingFailedAlert, null), loadingStatus == 'success' && React__default.createElement(React__default.Fragment, null, totalExchanges ? exchanges.map(function (liquiditySource, index) {
3626
+ return React__default.createElement(LiquiditySourceItem, {
3627
+ liquiditySource: liquiditySource,
3628
+ key: index,
3629
+ selected: isSelected(liquiditySource),
3630
+ onChange: changeLiquiditySources
3631
+ });
3632
+ }) : React__default.createElement(NotFoundAlert, {
3633
+ catergory: "Exchange",
3634
+ searchedFor: searchedFor
3635
+ }))));
3636
+ }
3637
+ var LiquiditySourceItem = function LiquiditySourceItem(_ref) {
3638
+ var liquiditySource = _ref.liquiditySource,
3639
+ selected = _ref.selected,
3640
+ onChange = _ref.onChange;
3641
+ return React__default.createElement(Button, {
3642
+ size: "large",
3643
+ align: "start",
3644
+ variant: "outlined",
3645
+ prefix: React__default.createElement(LiquidityImage, {
3646
+ src: liquiditySource.logo
3647
+ }),
3648
+ suffix: React__default.createElement(Switch, {
3649
+ checked: selected
3650
+ }),
3651
+ style: {
3652
+ marginBottom: '12px'
3653
+ },
3654
+ onClick: onChange.bind(null, liquiditySource)
3655
+ }, React__default.createElement(Typography, {
3656
+ variant: "body1"
3657
+ }, liquiditySource.title));
3658
+ };
3659
+
3660
+ var filterLiquiditySources = function filterLiquiditySources(liquiditySources, searchedFor) {
3661
+ return liquiditySources.filter(function (liquiditySource) {
3662
+ return containsText(liquiditySource.title, searchedFor || '');
3663
+ });
3664
+ };
3665
+ function LiquiditySourcesSelector(props) {
3666
+ var list = props.list,
3667
+ onChange = props.onChange,
3668
+ onBack = props.onBack,
3669
+ hasHeader = props.hasHeader,
3670
+ listContainerStyle = props.listContainerStyle,
3671
+ toggleAll = props.toggleAll,
3672
+ loadingStatus = props.loadingStatus;
3673
+ return React__default.createElement(SecondaryPage, {
3674
+ textField: true,
3675
+ textFieldPlaceholder: "Search By Name",
3676
+ title: "Liquidity Sources",
3677
+ TopButton: React__default.createElement(Button, {
3678
+ variant: "ghost",
3679
+ type: "primary",
3680
+ onClick: toggleAll
3681
+ }, list.find(function (item) {
3682
+ return item.selected;
3683
+ }) ? 'Deselect all' : 'Select all'),
3684
+ hasHeader: hasHeader,
3685
+ onBack: onBack
3686
+ }, function (searchedFor) {
3687
+ return React__default.createElement(LiquiditySourceList, {
3688
+ listContainerStyle: listContainerStyle,
3689
+ list: filterLiquiditySources(list, searchedFor),
3690
+ onChange: onChange,
3691
+ loadingStatus: loadingStatus,
3692
+ searchedFor: searchedFor
3693
+ });
3694
+ });
3695
+ }
3696
+
3697
+ var Row$1 = /*#__PURE__*/styled('div', {
3698
+ display: 'flex',
3699
+ flexWrap: 'wrap'
3700
+ });
3701
+ var Circle = /*#__PURE__*/styled('div', {
3702
+ width: 12,
3703
+ height: 12,
3704
+ borderRadius: 6,
3705
+ border: '1px solid $neutrals400',
3706
+ position: 'absolute',
3707
+ top: 12,
3708
+ right: 12,
3709
+ variants: {
3710
+ checked: {
3711
+ "true": {
3712
+ borderColor: '$success'
3713
+ },
3714
+ "false": {
3715
+ borderColor: '$neutrals400'
3716
+ }
3717
+ }
3718
+ }
3719
+ });
3720
+ var SolidCircle = /*#__PURE__*/styled('div', {
3721
+ width: 6,
3722
+ margin: '20% auto',
3723
+ height: 6,
3724
+ borderRadius: 3,
3725
+ variants: {
3726
+ checked: {
3727
+ "true": {
3728
+ backgroundColor: '$success'
3729
+ },
3730
+ "false": {
3731
+ backgroundColor: '$neutrals400'
3732
+ }
3733
+ }
3734
+ }
3735
+ });
3736
+ var Container$2 = /*#__PURE__*/styled('div', {
3737
+ border: '1.5px solid',
3738
+ borderRadius: '$5',
3739
+ padding: '$12',
3740
+ flexBasis: 'calc(33.33% - 10px)',
3741
+ margin: 5,
3742
+ display: 'flex',
3743
+ flexDirection: 'column',
3744
+ justifyContent: 'space-between',
3745
+ width: 124,
3746
+ height: 92,
3747
+ cursor: 'pointer',
3748
+ position: 'relative',
3749
+ variants: {
3750
+ checked: {
3751
+ "true": {
3752
+ borderColor: '$success',
3753
+ color: '$success'
3754
+ },
3755
+ "false": {
3756
+ borderColor: '$neutrals400',
3757
+ color: '$neutrals400'
3758
+ }
3759
+ }
3760
+ }
3761
+ });
3762
+ function SelectableWalletList(_ref) {
3763
+ var _list$find;
3764
+ var list = _ref.list,
3765
+ onChange = _ref.onChange;
3766
+ var _useState = React.useState(((_list$find = list.find(function (item) {
3767
+ return item.selected;
3768
+ })) == null ? void 0 : _list$find.walletType) || ''),
3769
+ active = _useState[0],
3770
+ setActive = _useState[1];
3771
+ var onClick = function onClick(w) {
3772
+ setActive(w.walletType);
3773
+ onChange(w);
3774
+ };
3775
+ React.useEffect(function () {
3776
+ var _list$find2;
3777
+ setActive(((_list$find2 = list.find(function (item) {
3778
+ return item.selected;
3779
+ })) == null ? void 0 : _list$find2.walletType) || '');
3780
+ }, [list]);
3781
+ return React__default.createElement(Row$1, null, list.map(function (w, index) {
3782
+ var checked = active === w.walletType;
3783
+ return React__default.createElement(Container$2, {
3784
+ checked: checked,
3785
+ onClick: onClick.bind(null, w),
3786
+ key: index
3787
+ }, React__default.createElement("img", {
3788
+ src: w.image,
3789
+ alt: w.walletType,
3790
+ width: 24,
3791
+ height: 24
3792
+ }), React__default.createElement(Typography, {
3793
+ variant: "body2"
3794
+ }, w.name), React__default.createElement(Typography, {
3795
+ variant: "caption"
3796
+ }, getConciseAddress(w.address)), React__default.createElement(Circle, {
3797
+ checked: checked
3798
+ }, React__default.createElement(SolidCircle, {
3799
+ checked: checked
3800
+ })));
3801
+ }));
3802
+ }
3803
+
3804
+ var StyledRoot = /*#__PURE__*/styled(RadioGroup.Root, {
3805
+ variants: {
3806
+ direction: {
3807
+ horizontal: {
3808
+ display: 'flex',
3809
+ flexDirection: 'row',
3810
+ flexWrap: 'wrap'
3811
+ },
3812
+ vertical: {
3813
+ display: 'grid',
3814
+ gridGap: '$24'
3815
+ }
3816
+ }
3817
+ }
3818
+ });
3819
+ var ItemContainer = /*#__PURE__*/styled('div', {
3820
+ display: 'flex',
3821
+ alignItems: 'center',
3822
+ marginRight: '$8'
3823
+ });
3824
+ var StyledItem = /*#__PURE__*/styled(RadioGroup.Item, {
3825
+ padding: '0',
3826
+ width: '20px',
3827
+ height: '20px',
3828
+ borderRadius: '100%',
3829
+ cursor: 'pointer',
3830
+ backgroundColor: '$background',
3831
+ border: '1px solid $neutrals400',
3832
+ '&:hover': {
3833
+ borderColor: '$neutrals600'
3834
+ }
3835
+ });
3836
+ var Container$3 = /*#__PURE__*/styled('div', {
3837
+ display: 'flex'
3838
+ });
3839
+ var StyledIndicator = /*#__PURE__*/styled(RadioGroup.Indicator, {
3840
+ display: 'flex',
3841
+ alignItems: 'center',
3842
+ justifyContent: 'center',
3843
+ width: '100%',
3844
+ height: '100%',
3845
+ position: 'relative',
3846
+ '&::after': {
3847
+ content: '',
3848
+ display: 'block',
3849
+ width: '10px',
3850
+ height: '10px',
3851
+ borderRadius: '50%',
3852
+ backgroundColor: '$success'
3853
+ }
3854
+ });
3855
+ var Label$2 = /*#__PURE__*/styled('label', {
3856
+ paddingLeft: '$8',
3857
+ cursor: 'pointer',
3858
+ color: '$foreground'
3859
+ });
3860
+ function Radio(props) {
3861
+ var value = props.value,
3862
+ onChange = props.onChange,
3863
+ _props$direction = props.direction,
3864
+ direction = _props$direction === void 0 ? 'vertical' : _props$direction,
3865
+ style = props.style;
3866
+ return React__default.createElement(Container$3, null, React__default.createElement(StyledRoot, {
3867
+ onValueChange: onChange,
3868
+ value: value,
3869
+ direction: direction,
3870
+ style: style
3871
+ }, props.options.map(function (option, index) {
3872
+ return React__default.createElement(ItemContainer, {
3873
+ key: index
3874
+ }, React__default.createElement(StyledItem, {
3875
+ value: option.value,
3876
+ id: option.value
3877
+ }, React__default.createElement(StyledIndicator, null)), React__default.createElement(Label$2, {
3878
+ className: "_text",
3879
+ htmlFor: option.value
3880
+ }, React__default.createElement(Typography, {
3881
+ variant: "body2"
3882
+ }, option.label)));
3883
+ })));
3884
+ }
3885
+
3886
+ var BaseContainer = /*#__PURE__*/styled('div', {
3887
+ borderRadius: '$5',
3888
+ backgroundColor: '$neutrals300',
3889
+ padding: '$16'
3890
+ });
3891
+ var Title = /*#__PURE__*/styled(Typography, {
3892
+ marginBottom: '$16'
3893
+ });
3894
+ var SlippageChipsContainer = /*#__PURE__*/styled('div', {
3895
+ display: 'grid',
3896
+ rowGap: '$16',
3897
+ gridTemplateColumns: 'repeat(auto-fill, 64px)'
3898
+ });
3899
+ var LiquiditySourceContainer = /*#__PURE__*/styled(BaseContainer, {
3900
+ display: 'flex',
3901
+ justifyContent: 'space-between',
3902
+ marginTop: '$32',
3903
+ cursor: 'pointer'
3904
+ });
3905
+ var InfiniteContainer = /*#__PURE__*/styled(BaseContainer, {
3906
+ display: 'flex',
3907
+ justifyContent: 'space-between',
3908
+ marginTop: '$32'
3909
+ });
3910
+ var StyledAngleRight = /*#__PURE__*/styled(AngleRightIcon, {
3911
+ marginLeft: '$8'
3912
+ });
3913
+ var LiquiditySourceNumber = /*#__PURE__*/styled('div', {
3914
+ display: 'flex',
3915
+ alignItems: 'center',
3916
+ justifyContent: 'center'
3917
+ });
3918
+ var ThemesContainer = /*#__PURE__*/styled(BaseContainer, {
3919
+ marginTop: '$32'
3920
+ });
3921
+ var Head = /*#__PURE__*/styled('div', {
3922
+ display: 'flex',
3923
+ justifyContent: 'space-between',
3924
+ alignItems: 'center',
3925
+ paddingBottom: '$16'
3926
+ });
3927
+ function Settings(props) {
3928
+ var slippages = props.slippages,
3929
+ selectedLiquiditySources = props.selectedLiquiditySources,
3930
+ liquiditySources = props.liquiditySources,
3931
+ onSlippageChange = props.onSlippageChange,
3932
+ onLiquiditySourcesClick = props.onLiquiditySourcesClick,
3933
+ onBack = props.onBack,
3934
+ customSlippage = props.customSlippage,
3935
+ onCustomSlippageChange = props.onCustomSlippageChange,
3936
+ maxSlippage = props.maxSlippage,
3937
+ minSlippage = props.minSlippage,
3938
+ selectedTheme = props.selectedTheme,
3939
+ onThemeChange = props.onThemeChange,
3940
+ toggleInfiniteApprove = props.toggleInfiniteApprove,
3941
+ infiniteApprove = props.infiniteApprove,
3942
+ loadingStatus = props.loadingStatus;
3943
+ var _useState = React.useState(props.selectedSlippage),
3944
+ selectedSlippage = _useState[0],
3945
+ setSelectedSlippage = _useState[1];
3946
+ var changeSlippage = function changeSlippage(slippage) {
3947
+ setSelectedSlippage(slippage);
3948
+ onSlippageChange(slippage);
3949
+ };
3950
+ var PageContent = React__default.createElement(React__default.Fragment, null, React__default.createElement(BaseContainer, null, React__default.createElement(Head, null, React__default.createElement(Typography, {
3951
+ variant: "body1"
3952
+ }, "Slippage tolerance per swap"), customSlippage ? React__default.createElement(Typography, {
3953
+ variant: "caption",
3954
+ color: "error"
3955
+ }, customSlippage, "% Custom") : undefined), React__default.createElement(SlippageChipsContainer, null, slippages.map(function (slippage, index) {
3956
+ return React__default.createElement(Chip, {
3957
+ key: index,
3958
+ onClick: function onClick() {
3959
+ if (customSlippage) onCustomSlippageChange(null);
3960
+ changeSlippage(slippage);
3961
+ },
3962
+ selected: !customSlippage && slippage === selectedSlippage,
3963
+ label: slippage.toString() + "%",
3964
+ style: {
3965
+ marginRight: '8px'
3966
+ }
3967
+ });
3968
+ }), React__default.createElement(TextField, {
3969
+ type: "number",
3970
+ value: customSlippage,
3971
+ onChange: function onChange(event) {
3972
+ var parsedValue = parseFloat(event.target.value);
3973
+ if (!parsedValue || parsedValue >= minSlippage && parsedValue <= maxSlippage) onCustomSlippageChange(parsedValue);
3974
+ },
3975
+ suffix: customSlippage && React__default.createElement(Typography, {
3976
+ variant: "body2"
3977
+ }, "%"),
3978
+ size: "small",
3979
+ placeholder: "Custom %",
3980
+ style: {
3981
+ width: '128px',
3982
+ flexGrow: 'initial'
3983
+ }
3984
+ }))), React__default.createElement(ThemesContainer, null, React__default.createElement(Title, {
3985
+ variant: "body2"
3986
+ }, "Theme"), React__default.createElement(Radio, {
3987
+ value: selectedTheme,
3988
+ options: [{
3989
+ value: 'dark',
3990
+ label: 'Dark'
3991
+ }, {
3992
+ value: 'light',
3993
+ label: 'Light'
3994
+ }, {
3995
+ value: 'auto',
3996
+ label: 'Auto'
3997
+ }],
3998
+ onChange: function onChange(value) {
3999
+ return onThemeChange(value);
4000
+ },
4001
+ direction: "horizontal",
4002
+ style: {
4003
+ marginTop: '$24'
4004
+ }
4005
+ })), React__default.createElement(InfiniteContainer, null, React__default.createElement(Typography, {
4006
+ variant: "body1"
4007
+ }, "Infinite Approval"), React__default.createElement(Switch, {
4008
+ checked: infiniteApprove,
4009
+ onChange: toggleInfiniteApprove
4010
+ })), React__default.createElement(LiquiditySourceContainer, null, React__default.createElement(Button, {
4011
+ onClick: onLiquiditySourcesClick,
4012
+ align: "start",
4013
+ variant: "ghost",
4014
+ loading: loadingStatus === 'loading',
4015
+ suffix: React__default.createElement(LiquiditySourceNumber, null, loadingStatus === 'success' && React__default.createElement(Typography, {
4016
+ variant: "body2",
4017
+ color: "neutrals800"
4018
+ }, liquiditySources.length !== selectedLiquiditySources.length ? selectedLiquiditySources.length + " / " + liquiditySources.length : liquiditySources.length), loadingStatus === 'failed' && React__default.createElement(Typography, {
4019
+ variant: "body2",
4020
+ color: "$error500"
4021
+ }, "Loading failed"), React__default.createElement(StyledAngleRight, null))
4022
+ }, React__default.createElement(Typography, {
4023
+ variant: "body1"
4024
+ }, "Liquidity Sources"))));
4025
+ return React__default.createElement(SecondaryPage, {
4026
+ title: "Settings",
4027
+ textField: false,
4028
+ onBack: onBack
4029
+ }, PageContent);
4030
+ }
4031
+
4032
+ var MainContainer$2 = /*#__PURE__*/styled('div', {
4033
+ position: 'relative',
4034
+ display: 'flex',
4035
+ flexDirection: 'column',
4036
+ borderRadius: '$10',
4037
+ boxShadow: '$s',
4038
+ width: '100%',
4039
+ minWidth: '375px',
4040
+ maxWidth: '512px',
4041
+ maxHeight: '595px',
4042
+ padding: '$16',
4043
+ boxSizing: 'border-box',
4044
+ backgroundColor: '$background',
4045
+ variants: {
4046
+ fixedHeight: {
4047
+ "true": {
4048
+ height: '595px'
4049
+ },
4050
+ "false": {
4051
+ height: 'auto'
4052
+ }
4053
+ }
4054
+ }
4055
+ });
4056
+ function SwapContainer(props) {
4057
+ var children = props.children,
4058
+ style = props.style,
4059
+ _props$fixedHeight = props.fixedHeight,
4060
+ fixedHeight = _props$fixedHeight === void 0 ? true : _props$fixedHeight;
4061
+ return React__default.createElement(MainContainer$2, {
4062
+ style: style,
4063
+ id: "swap-box",
4064
+ fixedHeight: fixedHeight
4065
+ }, children);
4066
+ }
4067
+
4068
+ var TokenContainer = /*#__PURE__*/styled('div', {
4069
+ display: 'flex',
4070
+ alignItems: 'center',
4071
+ '& .amount': {
4072
+ fontWeight: 'bold'
4073
+ }
4074
+ });
4075
+ var TokenImage$1 = /*#__PURE__*/styled('div', {
4076
+ position: 'relative',
4077
+ width: '$24',
4078
+ height: '$24',
4079
+ img: {
4080
+ width: '100%',
4081
+ display: 'block'
4082
+ },
4083
+ '.overlay': {
4084
+ position: 'absolute',
4085
+ right: -4,
4086
+ bottom: -4,
4087
+ width: '$16',
4088
+ height: '$16',
4089
+ padding: '$2',
4090
+ borderRadius: '50%',
4091
+ backgroundColor: '$background',
4092
+ border: '1px solid $neutrals400'
4093
+ }
4094
+ });
4095
+ function Token(props) {
4096
+ return React__default.createElement(TokenContainer, null, React__default.createElement(TokenImage$1, null, React__default.createElement("img", {
4097
+ src: props.data.token.logo,
4098
+ alt: ""
4099
+ }), React__default.createElement("div", {
4100
+ className: "overlay"
4101
+ }, React__default.createElement("img", {
4102
+ src: props.data.blockchain.logo,
4103
+ alt: props.data.blockchain.name
4104
+ }))), React__default.createElement(Spacer, {
4105
+ size: 8
4106
+ }), React__default.createElement("span", {
4107
+ className: "amount"
4108
+ }, props.data.amount), React__default.createElement(Spacer, {
4109
+ size: 4
4110
+ }), props.data.token.symbol);
4111
+ }
4112
+
4113
+ var Container$4 = /*#__PURE__*/styled('div', {
4114
+ position: 'relative',
4115
+ display: 'flex',
4116
+ justifyContent: 'space-between',
4117
+ alignItems: 'center',
4118
+ padding: '$16 0',
4119
+ borderBottom: '1px solid $neutrals300',
4120
+ '& > .info': {
4121
+ display: 'flex',
4122
+ alignItems: 'center'
4123
+ },
4124
+ '.status': {
4125
+ textTransform: 'uppercase',
4126
+ fontWeight: 'bold',
4127
+ fontSize: '$12'
4128
+ },
4129
+ '&.running': {
4130
+ color: '$foreground'
4131
+ },
4132
+ '&.failed,&.success': {
4133
+ color: '$neutrals600'
4134
+ },
4135
+ '&.failed .status': {
4136
+ color: '$error'
4137
+ },
4138
+ '&.success .status': {
4139
+ color: '$success'
4140
+ }
4141
+ });
4142
+ function SwapDetail(_ref) {
4143
+ var swap = _ref.swap,
4144
+ status = _ref.status,
4145
+ onClick = _ref.onClick;
4146
+ var firstStep = swap.steps[0];
4147
+ var lastStep = swap.steps[swap.steps.length - 1];
4148
+ return React__default.createElement(Button, {
4149
+ variant: "ghost",
4150
+ size: "free",
4151
+ fullWidth: true,
4152
+ onClick: onClick.bind(null, swap.requestId)
4153
+ }, React__default.createElement(Container$4, {
4154
+ className: "" + status
4155
+ }, React__default.createElement("div", {
4156
+ className: "info"
4157
+ }, React__default.createElement(Token, {
4158
+ data: {
4159
+ token: {
4160
+ logo: firstStep.fromLogo,
4161
+ symbol: firstStep.fromSymbol
4162
+ },
4163
+ blockchain: {
4164
+ // @ts-ignore
4165
+ logo: firstStep.fromBlockchainLogo,
4166
+ name: firstStep.fromBlockchain
4167
+ },
4168
+ amount: swap.inputAmount
4169
+ }
4170
+ }), React__default.createElement(Spacer, {
4171
+ size: 12
4172
+ }), React__default.createElement(ArrowRightIcon, {
4173
+ size: 12
4174
+ }), React__default.createElement(Spacer, {
4175
+ size: 12
4176
+ }), React__default.createElement(Token, {
4177
+ data: {
4178
+ token: {
4179
+ logo: lastStep.toLogo,
4180
+ symbol: lastStep.toSymbol
4181
+ },
4182
+ blockchain: {
4183
+ // @ts-ignore
4184
+ logo: lastStep.toBlockchainLogo,
4185
+ name: lastStep.toBlockchain
4186
+ },
4187
+ amount: lastStep.outputAmount || lastStep.expectedOutputAmountHumanReadable || ''
4188
+ }
4189
+ })), React__default.createElement("div", {
4190
+ className: "status"
4191
+ }, status === 'running' ? React__default.createElement(Spinner, {
4192
+ size: 24,
4193
+ color: "primary"
4194
+ }) : status)));
4195
+ }
4196
+
4197
+ var Container$5 = /*#__PURE__*/styled('div', {
4198
+ position: 'relative'
4199
+ });
4200
+ var Color = /*#__PURE__*/styled('div', {
4201
+ border: '1px solid $neutrals300',
4202
+ borderRadius: '$5',
4203
+ width: '$32',
4204
+ height: '$32'
4205
+ });
4206
+ var Cover = /*#__PURE__*/styled('div', {
4207
+ position: 'fixed',
4208
+ top: '0px',
4209
+ right: '0px',
4210
+ bottom: '0px',
4211
+ left: '0px'
4212
+ });
4213
+ var Popover = /*#__PURE__*/styled('div', {
4214
+ position: 'absolute',
4215
+ zIndex: '2',
4216
+ variants: {
4217
+ place: {
4218
+ top: {
4219
+ top: '-241px'
4220
+ },
4221
+ bottom: {},
4222
+ left: {
4223
+ top: '-50%',
4224
+ left: '-225px'
4225
+ },
4226
+ right: {
4227
+ top: '-50%',
4228
+ right: '-225px'
4229
+ }
4230
+ }
4231
+ }
4232
+ });
4233
+ var Label$3 = /*#__PURE__*/styled('label', {
4234
+ display: 'inline-block',
4235
+ fontSize: '$14',
4236
+ marginBottom: '$4',
4237
+ color: '$foreground'
4238
+ });
4239
+ function ColorPicker(_ref) {
4240
+ var color = _ref.color,
4241
+ onChangeColor = _ref.onChangeColor,
4242
+ label = _ref.label,
4243
+ place = _ref.place;
4244
+ var _useState = React.useState(false),
4245
+ displayColorPicker = _useState[0],
4246
+ setDisplayColorPicker = _useState[1];
4247
+ return React__default.createElement(Container$5, null, React__default.createElement(Label$3, {
4248
+ className: "_text"
4249
+ }, label), React__default.createElement(Button, {
4250
+ variant: "outlined",
4251
+ prefix: React__default.createElement(Color, {
4252
+ style: {
4253
+ backgroundColor: color
4254
+ }
4255
+ }),
4256
+ fullWidth: true,
4257
+ align: "start",
4258
+ size: "large",
4259
+ onClick: function onClick() {
4260
+ return setDisplayColorPicker(function (prev) {
4261
+ return !prev;
4262
+ });
4263
+ }
4264
+ }, color), displayColorPicker && React__default.createElement(Popover, {
4265
+ place: place
4266
+ }, React__default.createElement(Cover, {
4267
+ onClick: function onClick() {
4268
+ return setDisplayColorPicker(false);
4269
+ }
4270
+ }), React__default.createElement(reactColor.ChromePicker, {
4271
+ color: color,
4272
+ onChange: onChangeColor
4273
+ })));
4274
+ }
4275
+
4276
+ var BackDrop$1 = /*#__PURE__*/styled('div', {
4277
+ position: 'absolute',
4278
+ top: '0',
4279
+ left: '0',
4280
+ width: '100%',
4281
+ height: '100%',
4282
+ zIndex: 9999999,
4283
+ backgroundColor: 'rgba(0,0,0,.1)',
4284
+ borderRadius: '$10'
4285
+ });
4286
+ var DrawerContainer = /*#__PURE__*/styled('div', {
4287
+ position: 'absolute',
4288
+ boxShadow: '$s',
4289
+ background: '$background',
4290
+ padding: '$20',
4291
+ display: 'flex',
4292
+ flexDirection: 'column',
4293
+ justifyContent: 'space-between',
4294
+ zIndex: 9999999,
4295
+ borderRadius: '$10',
4296
+ variants: {
4297
+ anchor: {
4298
+ left: {
4299
+ top: 0,
4300
+ left: 0,
4301
+ height: '100%',
4302
+ minWidth: '300px',
4303
+ maxWidth: '90%'
4304
+ },
4305
+ right: {
4306
+ top: 0,
4307
+ right: 0,
4308
+ height: '100%',
4309
+ minWidth: '300px',
4310
+ maxWidth: '90%'
4311
+ },
4312
+ bottom: {
4313
+ bottom: 0,
4314
+ width: '100%',
4315
+ maxHeight: '90%'
4316
+ },
4317
+ top: {
4318
+ top: 0,
4319
+ width: '100%',
4320
+ maxHeight: '90%'
4321
+ }
4322
+ }
4323
+ }
4324
+ });
4325
+ var DrawerHeader = /*#__PURE__*/styled('div', {
4326
+ display: 'flex',
4327
+ justifyContent: 'space-between',
4328
+ alignItems: 'center',
4329
+ position: 'relative',
4330
+ marginBottom: '$16'
4331
+ });
4332
+ var Body = /*#__PURE__*/styled('div', {
4333
+ overflowY: 'auto',
4334
+ height: '100%'
4335
+ });
4336
+ var Footer = /*#__PURE__*/styled('footer', {
4337
+ width: '100%',
4338
+ marginTop: '$28'
4339
+ });
4340
+ function Drawer(props) {
4341
+ var title = props.title,
4342
+ content = props.content,
4343
+ open = props.open,
4344
+ onClose = props.onClose,
4345
+ containerStyle = props.containerStyle,
4346
+ _props$anchor = props.anchor,
4347
+ anchor = _props$anchor === void 0 ? 'bottom' : _props$anchor,
4348
+ _props$showClose = props.showClose,
4349
+ showClose = _props$showClose === void 0 ? false : _props$showClose,
4350
+ footer = props.footer,
4351
+ container = props.container;
4352
+ var handleBackDropClick = function handleBackDropClick(event) {
4353
+ if (event.target === event.currentTarget) onClose();
4354
+ };
4355
+ return React__default.createElement(React__default.Fragment, null, open && container && reactDom.createPortal(React__default.createElement(BackDrop$1, {
4356
+ onClick: handleBackDropClick
4357
+ }, React__default.createElement(DrawerContainer, {
4358
+ anchor: anchor,
4359
+ style: containerStyle
4360
+ }, React__default.createElement(DrawerHeader, null, React__default.createElement(Typography, {
4361
+ variant: "h4"
4362
+ }, title), showClose && React__default.createElement(CloseIcon, {
4363
+ size: 24,
4364
+ onClick: onClose
4365
+ })), React__default.createElement(Body, null, content), React__default.createElement(Footer, null, footer))), container));
4366
+ }
4367
+
4368
+ var MainContainer$3 = /*#__PURE__*/styled('div', {
4369
+ overflowY: 'auto'
4370
+ });
4371
+ var Section = /*#__PURE__*/styled('div', {
4372
+ paddingBottom: '$32',
4373
+ marginBottom: '$32',
4374
+ borderBottom: '1px solid $neutrals400'
4375
+ });
4376
+ var Footer$1 = /*#__PURE__*/styled('div', {
4377
+ display: 'flex',
4378
+ alignItems: 'center'
4379
+ });
4380
+ var AlertContainer = /*#__PURE__*/styled('div', {
4381
+ padding: '$16 0'
4382
+ });
4383
+ var ConfirmButton = /*#__PURE__*/styled(Button, {
4384
+ marginTop: '$16'
4385
+ });
4386
+ var Container$6 = /*#__PURE__*/styled('div', {
4387
+ paddingBottom: '$24',
4388
+ '.title': {
4389
+ paddingBottom: '$8',
4390
+ display: 'flex',
4391
+ alignItems: 'center'
4392
+ },
4393
+ '.num': {
4394
+ backgroundColor: '$neutrals300',
4395
+ display: 'inline-flex',
4396
+ width: '24px',
4397
+ height: '24px',
4398
+ color: '$neutrals800',
4399
+ borderRadius: '50%',
4400
+ fontSize: '$14',
4401
+ border: '1px solid $neutrals400',
4402
+ justifyContent: 'center',
4403
+ alignItems: 'center'
4404
+ }
4405
+ });
4406
+ var Alerts = /*#__PURE__*/styled('div', {
4407
+ paddingBottom: '$16'
4408
+ });
4409
+ function ConfirmSwap(props) {
4410
+ var onBack = props.onBack,
4411
+ loading = props.loading,
4412
+ onConfirm = props.onConfirm,
4413
+ requiredWallets = props.requiredWallets,
4414
+ selectableWallets = props.selectableWallets,
4415
+ onChange = props.onChange,
4416
+ confirmDisabled = props.confirmDisabled,
4417
+ isExperimentalChain = props.isExperimentalChain,
4418
+ handleConnectChain = props.handleConnectChain,
4419
+ confirmButtonTitle = props.confirmButtonTitle,
4420
+ errors = props.errors,
4421
+ warnings = props.warnings,
4422
+ extraMessages = props.extraMessages;
4423
+ return React__default.createElement(SecondaryPage, {
4424
+ textField: false,
4425
+ title: "Confirm Swap",
4426
+ onBack: onBack,
4427
+ Footer: React__default.createElement(Footer$1, null, React__default.createElement(ConfirmButton, {
4428
+ fullWidth: true,
4429
+ loading: loading,
4430
+ type: "primary",
4431
+ variant: "contained",
4432
+ onClick: onConfirm,
4433
+ disabled: confirmDisabled
4434
+ }, confirmButtonTitle))
4435
+ }, React__default.createElement(MainContainer$3, null, React__default.createElement("div", null, extraMessages || null, React__default.createElement(Alerts, null, errors == null ? void 0 : errors.map(function (error, index) {
4436
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Spacer, {
4437
+ direction: "vertical"
4438
+ }), React__default.createElement(Alert, {
4439
+ type: "error",
4440
+ key: index
4441
+ }, error));
4442
+ }), warnings == null ? void 0 : warnings.map(function (warning, index) {
4443
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Spacer, {
4444
+ direction: "vertical"
4445
+ }), React__default.createElement(Alert, {
4446
+ type: "warning",
4447
+ key: index
4448
+ }, warning));
4449
+ }))), props.previewInputs || props.previewRoutes ? React__default.createElement(Section, null, props.previewInputs, !!props.previewRoutes ? React__default.createElement(Spacer, {
4450
+ size: 16,
4451
+ direction: "vertical"
4452
+ }) : null, props.previewRoutes) : null, requiredWallets.map(function (wallet, index) {
4453
+ var list = selectableWallets.filter(function (w) {
4454
+ return wallet === w.chain;
4455
+ });
4456
+ return React__default.createElement(Container$6, {
4457
+ key: index
4458
+ }, React__default.createElement("div", {
4459
+ className: "title"
4460
+ }, React__default.createElement("div", {
4461
+ className: "num"
4462
+ }, index + 1), React__default.createElement(Spacer, {
4463
+ size: 8
4464
+ }), React__default.createElement(Typography, {
4465
+ variant: "body2"
4466
+ }, "Your ", wallet, " Wallet")), list.length === 0 && React__default.createElement(React__default.Fragment, null, React__default.createElement(AlertContainer, null, React__default.createElement(Alert, {
4467
+ type: "error"
4468
+ }, "You need to connect a compatible wallet with ", wallet)), (isExperimentalChain == null ? void 0 : isExperimentalChain(wallet)) && React__default.createElement(Button, {
4469
+ variant: "contained",
4470
+ type: "primary",
4471
+ align: "grow",
4472
+ onClick: function onClick() {
4473
+ return handleConnectChain == null ? void 0 : handleConnectChain(wallet);
4474
+ }
4475
+ }, "Add " + wallet + " chain to Cosmos wallets")), list.length != 0 && React__default.createElement(SelectableWalletList, {
4476
+ list: list,
4477
+ onChange: onChange
4478
+ }));
4479
+ })));
4480
+ }
4481
+
4482
+ var Group = /*#__PURE__*/styled('div', {
4483
+ '.group-title': {
4484
+ textTransform: 'uppercase'
4485
+ }
4486
+ });
4487
+ var Container$7 = /*#__PURE__*/styled('div', {
4488
+ overflowY: 'auto'
4489
+ });
4490
+ var filteredHistory = function filteredHistory(list, searchedFor) {
4491
+ return list.filter(function (swap) {
4492
+ var firstStep = swap.steps[0];
4493
+ var lastStep = swap.steps[swap.steps.length - 1];
4494
+ return containsText(firstStep.fromBlockchain, searchedFor) || containsText(firstStep.fromSymbol, searchedFor) || containsText(lastStep.toBlockchain, searchedFor) || containsText(lastStep.toSymbol, searchedFor) || containsText(swap.requestId, searchedFor);
4495
+ });
4496
+ };
4497
+ var SwapsGroup = function SwapsGroup(props) {
4498
+ var list = props.list,
4499
+ onSwapClick = props.onSwapClick,
4500
+ groupBy = props.groupBy;
4501
+ var groups = groupBy ? groupBy(list) : [{
4502
+ title: 'History',
4503
+ swaps: list
4504
+ }];
4505
+ return React__default.createElement(React__default.Fragment, null, groups.filter(function (group) {
4506
+ return group.swaps.length > 0;
4507
+ }).map(function (group, index) {
4508
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Group, {
4509
+ key: index
4510
+ }, React__default.createElement(Typography, {
4511
+ variant: "body2",
4512
+ color: "neutrals600",
4513
+ className: "group-title"
4514
+ }, group.title), group.swaps.map(function (swap, index) {
4515
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SwapDetail, {
4516
+ key: index,
4517
+ swap: swap,
4518
+ status: swap.status,
4519
+ onClick: onSwapClick
4520
+ }), React__default.createElement(Divider, {
4521
+ size: 12
4522
+ }));
4523
+ })), React__default.createElement(Divider, {
4524
+ size: 24
4525
+ }));
4526
+ }));
4527
+ };
4528
+ function History(_ref) {
4529
+ var _ref$list = _ref.list,
4530
+ list = _ref$list === void 0 ? [] : _ref$list,
4531
+ onBack = _ref.onBack,
4532
+ onSwapClick = _ref.onSwapClick,
4533
+ groupBy = _ref.groupBy;
4534
+ return React__default.createElement(SecondaryPage, {
4535
+ onBack: onBack,
4536
+ textField: true,
4537
+ textFieldPlaceholder: "Search By Blockchain Or Token Or Request ID",
4538
+ title: "Swaps"
4539
+ }, function (searchedFor) {
4540
+ var filterSwaps = filteredHistory(list, searchedFor);
4541
+ return React__default.createElement(Container$7, null, filterSwaps.length ? React__default.createElement(SwapsGroup, {
4542
+ list: filterSwaps,
4543
+ onSwapClick: onSwapClick,
4544
+ groupBy: groupBy
4545
+ }) : React__default.createElement(NotFoundAlert, {
4546
+ catergory: "Swap"
4547
+ }));
4548
+ });
4549
+ }
4550
+
4551
+ var getAlertType = function getAlertType(messageType) {
4552
+ if (!messageType || messageType === 'info') return 'secondary';else return messageType;
4553
+ };
4554
+ var DetailedMessage = /*#__PURE__*/styled('div', {
4555
+ width: '90%',
4556
+ overflowWrap: 'break-word',
4557
+ color: '$error500 !important'
4558
+ });
4559
+ var SuccessText = /*#__PURE__*/styled(Typography, {
4560
+ color: '$success500 !important'
4561
+ });
4562
+ var SwapMessages = function SwapMessages(props) {
4563
+ var shortMessage = props.shortMessage,
4564
+ detailedMessage = props.detailedMessage,
4565
+ currentStepBlockchain = props.currentStepBlockchain,
4566
+ type = props.type,
4567
+ lastConvertedTokenInFailedSwap = props.lastConvertedTokenInFailedSwap;
4568
+ var _useState = React.useState(false),
4569
+ expandedMessage = _useState[0],
4570
+ setExpandedMessage = _useState[1];
4571
+ var allowedNumberOfChars = detailedMessage["long"] ? 0 : 150;
4572
+ var shouldShowMoreDetailsButton = !expandedMessage && detailedMessage.content.length > allowedNumberOfChars;
4573
+ return React__default.createElement(Alert, Object.assign({
4574
+ type: getAlertType(type),
4575
+ title: shortMessage
4576
+ }, shouldShowMoreDetailsButton && {
4577
+ footer: React__default.createElement(Button, {
4578
+ variant: "outlined",
4579
+ type: "primary",
4580
+ onClick: setExpandedMessage.bind(null, function (prevState) {
4581
+ return !prevState;
4582
+ })
4583
+ }, "Show more details")
4584
+ }, !!props.switchNetwork && {
4585
+ footer: React__default.createElement(Button, {
4586
+ variant: 'outlined',
4587
+ type: "primary",
4588
+ onClick: props.switchNetwork
4589
+ }, "Change network to ", currentStepBlockchain)
4590
+ }), !!detailedMessage.content ? React__default.createElement(DetailedMessage, null, React__default.createElement(Typography, {
4591
+ variant: "body2"
4592
+ }, shouldShowMoreDetailsButton && !expandedMessage ? detailedMessage.content.substring(0, allowedNumberOfChars) + (allowedNumberOfChars > 0 ? '...' : '') : detailedMessage.content)) : null, !!lastConvertedTokenInFailedSwap && React__default.createElement(React__default.Fragment, null, React__default.createElement("p", null, React__default.createElement(Typography, {
4593
+ variant: "body2"
4594
+ }, "Don't worry, your fund is\xA0"), React__default.createElement(SuccessText, {
4595
+ variant: "body2"
4596
+ }, React__default.createElement("b", null, "Safe"))), React__default.createElement("p", null, React__default.createElement(Typography, {
4597
+ variant: "body2"
4598
+ }, "It is converted to \xA0", React__default.createElement("u", null, lastConvertedTokenInFailedSwap.outputAmount), "\xA0"), React__default.createElement(SuccessText, {
4599
+ variant: "body2"
4600
+ }, React__default.createElement("b", null, lastConvertedTokenInFailedSwap.symbol, "\xA0")), React__default.createElement(Typography, {
4601
+ variant: "body2"
4602
+ }, "on your\xA0"), React__default.createElement(SuccessText, {
4603
+ variant: "body2"
4604
+ }, React__default.createElement("b", null, lastConvertedTokenInFailedSwap.blockchain, "\xA0")), React__default.createElement(Typography, {
4605
+ variant: "body2"
4606
+ }, "wallet"))));
4607
+ };
4608
+
4609
+ var _excluded$I = ["pendingSwap", "onBack", "onCopy", "isCopied", "onCancel", "date", "onRetry", "previewInputs"];
4610
+ var SwapperContainer$1 = /*#__PURE__*/styled('div', {
4611
+ display: 'flex',
4612
+ alignItems: 'center',
4613
+ marginLeft: '6px'
4614
+ });
4615
+ var Fee = /*#__PURE__*/styled('div', {
4616
+ display: 'flex',
4617
+ alignItems: 'center'
4618
+ });
4619
+ var SwapperLogo$1 = /*#__PURE__*/styled('img', {
4620
+ width: '$16',
4621
+ height: '$16'
4622
+ });
4623
+ var RelativeContainer$1 = /*#__PURE__*/styled('div', {
4624
+ position: 'relative'
4625
+ });
4626
+ var Dot$1 = /*#__PURE__*/styled('div', {
4627
+ width: '$8',
4628
+ height: '$8',
4629
+ backgroundColor: '$foreground',
4630
+ borderRadius: '4px',
4631
+ marginLeft: '$8'
4632
+ });
4633
+ var ArrowDown = /*#__PURE__*/styled('div', {
4634
+ width: '0px',
4635
+ height: '0px',
4636
+ borderLeft: '5px solid transparent',
4637
+ borderRight: '5px solid transparent',
4638
+ borderTop: '5px solid $foreground',
4639
+ marginLeft: '$8'
4640
+ });
4641
+ var StyledAnchor = /*#__PURE__*/styled('a', {
4642
+ color: '$primary',
4643
+ fontWeight: '$600',
4644
+ marginLeft: '$12'
4645
+ });
4646
+ var SwapInfoContainer = /*#__PURE__*/styled('div', {
4647
+ display: 'flex',
4648
+ flexDirection: 'column',
4649
+ paddingBottom: '$16',
4650
+ borderBottom: '1px solid $neutrals300'
4651
+ });
4652
+ var InternalDetailsContainer = /*#__PURE__*/styled('div', {
4653
+ display: 'flex'
4654
+ });
4655
+ var InternalDetail = /*#__PURE__*/styled('div', {
4656
+ display: 'flex',
4657
+ padding: '$10'
4658
+ });
4659
+ var DescriptionContainer = /*#__PURE__*/styled('div', {
4660
+ display: 'flex',
4661
+ alignItems: 'center'
4662
+ });
4663
+ var Description = /*#__PURE__*/styled(Typography, {
4664
+ color: '$success',
4665
+ marginLeft: '$8'
4666
+ });
4667
+ var Error = /*#__PURE__*/styled(Description, {
4668
+ color: '$error'
4669
+ });
4670
+ var Line$1 = /*#__PURE__*/styled('div', {
4671
+ width: '0',
4672
+ minHeight: '$16',
4673
+ marginLeft: '$12',
4674
+ border: '1px dashed $foreground',
4675
+ borderRadius: 'inherit'
4676
+ });
4677
+ var Row$2 = /*#__PURE__*/styled('div', {
4678
+ display: 'flex',
4679
+ justifyContent: 'space-between',
4680
+ alignItems: 'center',
4681
+ fontSize: '$14',
4682
+ padding: '$8 0',
4683
+ '.name': {
4684
+ color: '$neutrals600'
4685
+ },
4686
+ '.value': {
4687
+ display: 'flex',
4688
+ alignItems: 'center',
4689
+ color: '$neutrals800'
4690
+ },
4691
+ '.status': {
4692
+ fontWeight: 'bold',
4693
+ textTransform: 'uppercase'
4694
+ },
4695
+ '.status.failed': {
4696
+ color: '$error'
4697
+ },
4698
+ '.status.success': {
4699
+ color: '$success'
4700
+ }
4701
+ });
4702
+ var RequestId = /*#__PURE__*/styled('div', {
4703
+ width: '150px',
4704
+ whiteSpace: 'nowrap',
4705
+ overflow: 'hidden',
4706
+ textOverflow: 'ellipsis',
4707
+ '@md': {
4708
+ width: 'auto'
4709
+ }
4710
+ });
4711
+ var ExtraDetails = /*#__PURE__*/styled('div', {
4712
+ padding: '$8 0',
4713
+ color: '$neutrals600',
4714
+ fontSize: '$12'
4715
+ });
4716
+ var StepContainer$1 = /*#__PURE__*/styled('div', {
4717
+ variants: {
4718
+ hasNotStarted: {
4719
+ "true": {
4720
+ filter: 'grayscale(100%)'
4721
+ }
4722
+ },
4723
+ isRunning: {
4724
+ "true": {
4725
+ animation: pulse + " 2s ease-in-out infinite"
4726
+ }
4727
+ }
4728
+ }
4729
+ });
4730
+ var SwapFlowContainer = /*#__PURE__*/styled('div', {
4731
+ overflowY: 'auto'
4732
+ });
4733
+ function SwapHistory(props) {
4734
+ var pendingSwap = props.pendingSwap,
4735
+ onBack = props.onBack,
4736
+ onCopy = props.onCopy,
4737
+ isCopied = props.isCopied,
4738
+ onCancel = props.onCancel,
4739
+ date = props.date,
4740
+ onRetry = props.onRetry,
4741
+ extraMessageProps = _objectWithoutPropertiesLoose(props, _excluded$I);
4742
+ var _useState = React.useState(false),
4743
+ showDrawer = _useState[0],
4744
+ setShowDrawer = _useState[1];
4745
+ return React__default.createElement(SecondaryPage, {
4746
+ title: "Swap Details",
4747
+ textField: false,
4748
+ onBack: onBack,
4749
+ Footer: React__default.createElement(React__default.Fragment, null, (pendingSwap == null ? void 0 : pendingSwap.status) === 'running' && React__default.createElement(Button, {
4750
+ variant: "outlined",
4751
+ fullWidth: true,
4752
+ type: "error",
4753
+ onClick: setShowDrawer.bind(null, true)
4754
+ }, "Cancel"), !!onRetry && React__default.createElement(Button, {
4755
+ variant: "contained",
4756
+ fullWidth: true,
4757
+ type: "primary",
4758
+ onClick: onRetry
4759
+ }, "Try again"))
4760
+ }, React__default.createElement("div", null, React__default.createElement(SwapInfoContainer, null, React__default.createElement(Row$2, null, React__default.createElement("div", {
4761
+ className: "name"
4762
+ }, "Request ID:"), React__default.createElement("div", {
4763
+ className: "value requestId",
4764
+ onClick: onCopy.bind(null, pendingSwap == null ? void 0 : pendingSwap.requestId)
4765
+ }, React__default.createElement(RequestId, null, pendingSwap == null ? void 0 : pendingSwap.requestId), React__default.createElement(Spacer, {
4766
+ size: 4
4767
+ }), React__default.createElement(Button, {
4768
+ type: "primary",
4769
+ variant: "ghost",
4770
+ size: "compact"
4771
+ }, isCopied ? 'Copied!' : 'Copy'))), React__default.createElement(Row$2, null, React__default.createElement("div", {
4772
+ className: "name"
4773
+ }, "Status:"), React__default.createElement("div", {
4774
+ className: "value status " + ((pendingSwap == null ? void 0 : pendingSwap.status) || '')
4775
+ }, pendingSwap == null ? void 0 : pendingSwap.status, (pendingSwap == null ? void 0 : pendingSwap.status) === 'running' && React__default.createElement(Spinner, {
4776
+ size: 16,
4777
+ color: "primary"
4778
+ }))), React__default.createElement(ExtraDetails, null, date))), React__default.createElement(SwapFlowContainer, null, extraMessageProps.shortMessage && React__default.createElement(SwapMessages, Object.assign({}, extraMessageProps)), React__default.createElement(Divider, {
4779
+ size: 32
4780
+ }), pendingSwap == null ? void 0 : pendingSwap.steps.map(function (step, index) {
4781
+ return React__default.createElement(StepContainer$1, {
4782
+ key: index,
4783
+ hasNotStarted: step.status === 'created',
4784
+ isRunning: step.status != 'failed' && step.status != 'success' && step.status != 'created'
4785
+ }, index === 0 && React__default.createElement(RelativeContainer$1, null, React__default.createElement(StepDetail, {
4786
+ logo: step.fromLogo,
4787
+ symbol: step.fromSymbol,
4788
+ // @ts-ignore
4789
+ chainLogo: step.fromBlockchainLogo,
4790
+ blockchain: step.fromBlockchain,
4791
+ amount: pendingSwap.inputAmount
4792
+ }), React__default.createElement(Dot$1, null)), React__default.createElement(Line$1, null), React__default.createElement(SwapperContainer$1, null, React__default.createElement(SwapperLogo$1
4793
+ // @ts-ignore
4794
+ , {
4795
+ // @ts-ignore
4796
+ src: step.swapperLogo,
4797
+ alt: step.swapperId
4798
+ }), React__default.createElement("div", null, React__default.createElement(Typography, {
4799
+ ml: 4,
4800
+ variant: "caption"
4801
+ },
4802
+ // @ts-ignore
4803
+ 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, {
4804
+ ml: 4,
4805
+ variant: "caption"
4806
+ }, "$",
4807
+ // @ts-ignore
4808
+ step.feeInUsd, ' ', "estimated gas fee")))), React__default.createElement("div", {
4809
+ style: {
4810
+ display: 'flex'
4811
+ }
4812
+ }, React__default.createElement(InternalDetailsContainer, null, React__default.createElement(Line$1, null), !!step.explorerUrl && React__default.createElement("div", null, step.explorerUrl.map(function (item, index) {
4813
+ return React__default.createElement(InternalDetail, {
4814
+ key: index
4815
+ }, React__default.createElement(DescriptionContainer, null, React__default.createElement(CheckCircleIcon, {
4816
+ color: "success"
4817
+ }), React__default.createElement(Description, {
4818
+ variant: "body2"
4819
+ }, !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, {
4820
+ href: item.url,
4821
+ target: "_blank",
4822
+ rel: "noreferrer",
4823
+ key: index
4824
+ }, "TX-Link"));
4825
+ }), step.status === 'failed' && React__default.createElement(InternalDetail, null, React__default.createElement(DescriptionContainer, null, React__default.createElement(InfoCircleIcon, {
4826
+ color: "error"
4827
+ }), React__default.createElement(Error, {
4828
+ variant: "body2"
4829
+ }, "Step failed")))))), index + 1 === pendingSwap.steps.length && React__default.createElement(ArrowDown, null), React__default.createElement(StepDetail, {
4830
+ logo: step.toLogo,
4831
+ symbol: step.toSymbol,
4832
+ // @ts-ignore
4833
+ chainLogo: step.toBlockchainLogo,
4834
+ blockchain: step.toBlockchain,
4835
+ amount: step.outputAmount || ''
4836
+ }));
4837
+ }), React__default.createElement(Divider, {
4838
+ size: 32
4839
+ })), React__default.createElement(Drawer, {
4840
+ onClose: setShowDrawer.bind(null, false),
4841
+ open: showDrawer,
4842
+ showClose: true,
4843
+ anchor: "bottom",
4844
+ title: "Cancel Progress",
4845
+ content: React__default.createElement(Alert, {
4846
+ type: "warning"
4847
+ }, React__default.createElement("p", null, "Warning: Rango ", React__default.createElement("u", null, "neither reverts"), " your transaction\xA0", React__default.createElement("u", null, "nor refunds"), " you if you've already signed and sent a transaction to the blockchain since it's out of Rango's control. Beware that \"Cancel\" only stops next steps from being executed."), React__default.createElement(Spacer, {
4848
+ size: 12,
4849
+ direction: "vertical"
4850
+ }), React__default.createElement("p", null, "If you have already signed your transaction to blockchain, you should wait for that to complete or rollback")),
4851
+ footer: React__default.createElement("div", {
4852
+ style: {
4853
+ display: 'flex',
4854
+ justifyContent: 'center',
4855
+ alignItems: 'center'
4856
+ }
4857
+ }, React__default.createElement(Button, {
4858
+ variant: "contained",
4859
+ type: "success",
4860
+ onClick: setShowDrawer.bind(null, false)
4861
+ }, "Skip"), React__default.createElement(Spacer, {
4862
+ size: 16
4863
+ }), React__default.createElement(Button, {
4864
+ variant: "contained",
4865
+ type: "error",
4866
+ onClick: function onClick() {
4867
+ onCancel(pendingSwap.requestId);
4868
+ setShowDrawer(false);
4869
+ }
4870
+ }, "Cancel progress")),
4871
+ container: document.getElementById('swap-box')
4872
+ }));
4873
+ }
4874
+
4875
+ exports.AddCircleIcon = AddCircleIcon;
4876
+ exports.AddIcon = AddIcon;
4877
+ exports.AddWalletIcon = AddWalletIcon;
4878
+ exports.Alert = Alert;
4879
+ exports.AngleDownIcon = AngleDownIcon;
4880
+ exports.AngleLeftIcon = AngleLeftIcon;
4881
+ exports.AngleRightIcon = AngleRightIcon;
4882
+ exports.AngleUpIcon = AngleUpIcon;
4883
+ exports.ArrowRightIcon = ArrowRightIcon;
4884
+ exports.BagIcon = BagIcon;
4885
+ exports.BanIcon = BanIcon;
4886
+ exports.BestRoute = BestRoute;
4887
+ exports.BlockchainSelector = BlockchainSelector;
4888
+ exports.Button = Button;
4889
+ exports.CheckCircleIcon = CheckCircleIcon;
4890
+ exports.CheckIcon = CheckIcon;
4891
+ exports.CheckSquareIcon = CheckSquareIcon;
4892
+ exports.CheckWalletIcon = CheckWalletIcon;
4893
+ exports.Checkbox = Checkbox;
4894
+ exports.ChevronRightIcon = ChevronRightIcon;
4895
+ exports.Chip = Chip;
4896
+ exports.CloseIcon = CloseIcon;
4897
+ exports.ColorPicker = ColorPicker;
4898
+ exports.ConfirmSwap = ConfirmSwap;
4899
+ exports.ConnectWalletsModal = ConnectWalletsModal;
4900
+ exports.CopyIcon = CopyIcon;
4901
+ exports.DeleteCircleIcon = DeleteCircleIcon;
4902
+ exports.DeleteWalletIcon = DeleteWalletIcon;
4903
+ exports.DisconnectIcon = DisconnectIcon;
4904
+ exports.Divider = Divider;
4905
+ exports.DownloadIcon = DownloadIcon;
4906
+ exports.Drawer = Drawer;
4907
+ exports.FilledCircle = FilledCircle;
4908
+ exports.GasIcon = GasIcon;
4909
+ exports.Header = Header;
4910
+ exports.History = History;
4911
+ exports.HistoryIcon = HistoryIcon;
4912
+ exports.HorizontalSwapIcon = HorizontalSwapIcon;
4913
+ exports.InfoCircleIcon = InfoCircleIcon;
4914
+ exports.LiquiditySourcesSelector = LiquiditySourcesSelector;
4915
+ exports.LoadingFailedAlert = LoadingFailedAlert;
4916
+ exports.MinusCircleIcon = MinusCircleIcon;
4917
+ exports.Modal = Modal;
4918
+ exports.Radio = Radio;
4919
+ exports.RetryIcon = RetryIcon;
4920
+ exports.RetryLeftIcon = RetryLeftIcon;
4921
+ exports.RetryRightIcon = RetryRightIcon;
4922
+ exports.SearchIcon = SearchIcon;
4923
+ exports.SearchMinusIcon = SearchMinusIcon;
4924
+ exports.SecondaryPage = SecondaryPage;
4925
+ exports.SelectableWalletList = SelectableWalletList;
4926
+ exports.Settings = Settings;
4927
+ exports.SettingsIcon = SettingsIcon;
4928
+ exports.SignatureIcon = SignatureIcon;
4929
+ exports.Spacer = Spacer;
4930
+ exports.Spinner = Spinner;
4931
+ exports.StepDetail = StepDetail;
4932
+ exports.SwapContainer = SwapContainer;
4933
+ exports.SwapDetail = SwapDetail;
4934
+ exports.SwapHistory = SwapHistory;
4935
+ exports.SwapWalletIcon = SwapWalletIcon;
4936
+ exports.Switch = Switch;
4937
+ exports.TextField = TextField;
4938
+ exports.TimeIcon = TimeIcon;
4939
+ exports.TokenList = TokenList;
4940
+ exports.TokenSelector = TokenSelector;
4941
+ exports.Tooltip = Tooltip;
4942
+ exports.TrashIcon = TrashIcon;
4943
+ exports.TryAgainIcon = TryAgainIcon;
4944
+ exports.Typography = Typography;
4945
+ exports.VerticalSwapIcon = VerticalSwapIcon;
4946
+ exports.Wallet = Wallet;
4947
+ exports.WalletIcon = WalletIcon;
4948
+ exports.WarningIcon = WarningIcon;
4949
+ exports.createTheme = createTheme;
4950
+ exports.css = css;
4951
+ exports.darkTheme = darkTheme;
4952
+ exports.globalCss = globalCss;
4953
+ exports.keyframes = keyframes;
4954
+ exports.lightTheme = lightTheme;
4955
+ exports.styled = styled;
4956
+ //# sourceMappingURL=ui.cjs.development.js.map