@rango-dev/widget-embedded 0.18.0 → 0.19.0

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 (476) hide show
  1. package/CHANGELOG.md +1 -113
  2. package/dist/QueueManager.d.ts +2 -5
  3. package/dist/QueueManager.d.ts.map +1 -1
  4. package/dist/Wallets.d.ts +17 -0
  5. package/dist/Wallets.d.ts.map +1 -0
  6. package/dist/Widget.d.ts +9 -0
  7. package/dist/Widget.d.ts.map +1 -0
  8. package/dist/components/AppRouter.d.ts +2 -0
  9. package/dist/components/AppRouter.d.ts.map +1 -1
  10. package/dist/components/AppRoutes.d.ts +6 -1
  11. package/dist/components/AppRoutes.d.ts.map +1 -1
  12. package/dist/components/BlockchainsSection/BlockchainsSection.d.ts.map +1 -1
  13. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts +1 -1
  14. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts.map +1 -1
  15. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts +3 -1
  16. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts.map +1 -1
  17. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +62 -691
  18. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
  19. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  20. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +3 -1
  21. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  22. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  23. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +4 -1
  24. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  25. package/dist/components/HeaderButtons/HomeButtons.d.ts.map +1 -1
  26. package/dist/components/Layout/Layout.d.ts.map +1 -1
  27. package/dist/components/Layout/Layout.styles.d.ts.map +1 -1
  28. package/dist/components/Layout/Layout.types.d.ts +2 -2
  29. package/dist/components/Layout/Layout.types.d.ts.map +1 -1
  30. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts +4 -0
  31. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts.map +1 -0
  32. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -1
  33. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +0 -1727
  34. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
  35. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts +4 -0
  36. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts.map +1 -0
  37. package/dist/components/NoRoutes/NoRoutes.d.ts +4 -0
  38. package/dist/components/NoRoutes/NoRoutes.d.ts.map +1 -0
  39. package/dist/components/NoRoutes/NoRoutes.helper.d.ts +3 -0
  40. package/dist/components/NoRoutes/NoRoutes.helper.d.ts.map +1 -0
  41. package/dist/components/{NoResult/NoResult.styles.d.ts → NoRoutes/NoRoutes.styles.d.ts} +1 -1
  42. package/dist/components/{NoResult/NoResult.styles.d.ts.map → NoRoutes/NoRoutes.styles.d.ts.map} +1 -1
  43. package/dist/components/{NoResult/NoResult.types.d.ts → NoRoutes/NoRoutes.types.d.ts} +3 -3
  44. package/dist/components/NoRoutes/NoRoutes.types.d.ts.map +1 -0
  45. package/dist/components/NoRoutes/index.d.ts +2 -0
  46. package/dist/components/NoRoutes/index.d.ts.map +1 -0
  47. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  48. package/dist/components/RouteErrors/RouteErrors.d.ts +4 -0
  49. package/dist/components/RouteErrors/RouteErrors.d.ts.map +1 -0
  50. package/dist/components/{QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts → RouteErrors/RouteErrors.styles.d.ts} +1 -1
  51. package/dist/components/RouteErrors/RouteErrors.styles.d.ts.map +1 -0
  52. package/dist/components/RouteErrors/RouteErrors.types.d.ts +24 -0
  53. package/dist/components/RouteErrors/RouteErrors.types.d.ts.map +1 -0
  54. package/dist/components/RouteErrors/RouteErrorsModal.d.ts +4 -0
  55. package/dist/components/RouteErrors/RouteErrorsModal.d.ts.map +1 -0
  56. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts +4 -0
  57. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts.map +1 -0
  58. package/dist/components/RouteErrors/index.d.ts +2 -0
  59. package/dist/components/RouteErrors/index.d.ts.map +1 -0
  60. package/dist/components/Slippage/Slippage.d.ts.map +1 -1
  61. package/dist/components/Slippage/Slippage.styles.d.ts +0 -158
  62. package/dist/components/Slippage/Slippage.styles.d.ts.map +1 -1
  63. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  64. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  65. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
  66. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
  67. package/dist/components/SwapDetails/SwapDetails.styles.d.ts +0 -628
  68. package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
  69. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  70. package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts.map +1 -1
  71. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
  72. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
  73. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
  74. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
  75. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  76. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts +0 -157
  77. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  78. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  79. package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
  80. package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
  81. package/dist/components/TokenList/TokenList.styles.d.ts +1 -1100
  82. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  83. package/dist/components/TokenList/TokenList.types.d.ts +9 -4
  84. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  85. package/dist/components/TokenList/index.d.ts +1 -0
  86. package/dist/components/TokenList/index.d.ts.map +1 -1
  87. package/dist/components/UpdateUrl.d.ts +6 -1
  88. package/dist/components/UpdateUrl.d.ts.map +1 -1
  89. package/dist/components/WidgetEvents.d.ts.map +1 -1
  90. package/dist/constants/errors.d.ts +4 -4
  91. package/dist/constants/errors.d.ts.map +1 -1
  92. package/dist/constants/index.d.ts +0 -1
  93. package/dist/constants/index.d.ts.map +1 -1
  94. package/dist/constants/messages.d.ts +1 -1
  95. package/dist/constants/navigationRoutes.d.ts +2 -1
  96. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  97. package/dist/constants/searchParams.d.ts +1 -2
  98. package/dist/constants/searchParams.d.ts.map +1 -1
  99. package/dist/constants/warnings.d.ts +2 -2
  100. package/dist/constants/warnings.d.ts.map +1 -1
  101. package/dist/hooks/{useConfirmSwap/useConfirmSwap.types.d.ts → useConfirmSwap.d.ts} +7 -5
  102. package/dist/hooks/useConfirmSwap.d.ts.map +1 -0
  103. package/dist/hooks/{useFetchQuote.d.ts → useFetchBestRoute.d.ts} +3 -3
  104. package/dist/hooks/useFetchBestRoute.d.ts.map +1 -0
  105. package/dist/hooks/useLanguage.d.ts +1 -1
  106. package/dist/hooks/useLanguage.d.ts.map +1 -1
  107. package/dist/hooks/useNavigateBack.d.ts +3 -1
  108. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  109. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  110. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  111. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  112. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +7 -5
  113. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  114. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +0 -1
  115. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  116. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +1 -5
  117. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  118. package/dist/hooks/useSwapInput.d.ts +2 -4
  119. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  120. package/dist/hooks/useSyncStoresWithConfig.d.ts +2 -1
  121. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  122. package/dist/hooks/useTheme.d.ts +1 -1
  123. package/dist/hooks/useTheme.d.ts.map +1 -1
  124. package/dist/hooks/useWalletList.d.ts.map +1 -1
  125. package/dist/index.d.ts +8 -20
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +1 -1
  128. package/dist/index.js.map +4 -4
  129. package/dist/pages/ConfirmSwapPage.d.ts +6 -1
  130. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  131. package/dist/pages/HistoryPage.d.ts.map +1 -1
  132. package/dist/pages/Home.d.ts.map +1 -1
  133. package/dist/pages/LanguagePage.d.ts.map +1 -1
  134. package/dist/pages/LiquiditySourcePage.d.ts +2 -1
  135. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  136. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  137. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  138. package/dist/pages/SettingsPage.d.ts +6 -1
  139. package/dist/pages/SettingsPage.d.ts.map +1 -1
  140. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  141. package/dist/pages/ThemePage.d.ts.map +1 -1
  142. package/dist/pages/WalletsPage.d.ts +8 -1
  143. package/dist/pages/WalletsPage.d.ts.map +1 -1
  144. package/dist/store/app.d.ts +22 -41
  145. package/dist/store/app.d.ts.map +1 -1
  146. package/dist/store/bestRoute.d.ts +77 -0
  147. package/dist/store/bestRoute.d.ts.map +1 -0
  148. package/dist/store/meta.d.ts +23 -0
  149. package/dist/store/meta.d.ts.map +1 -0
  150. package/dist/store/notification.d.ts +3 -4
  151. package/dist/store/notification.d.ts.map +1 -1
  152. package/dist/store/settings.d.ts +81 -0
  153. package/dist/store/settings.d.ts.map +1 -0
  154. package/dist/store/slices/config.d.ts +2 -3
  155. package/dist/store/slices/config.d.ts.map +1 -1
  156. package/dist/store/slices/data.d.ts +2 -5
  157. package/dist/store/slices/data.d.ts.map +1 -1
  158. package/dist/store/ui.d.ts +1 -2
  159. package/dist/store/ui.d.ts.map +1 -1
  160. package/dist/store/wallets.d.ts +9 -14
  161. package/dist/store/wallets.d.ts.map +1 -1
  162. package/dist/types/config.d.ts +8 -41
  163. package/dist/types/config.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +1 -1
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/types/routing.d.ts +65 -0
  167. package/dist/types/routing.d.ts.map +1 -0
  168. package/dist/types/swap.d.ts +14 -4
  169. package/dist/types/swap.d.ts.map +1 -1
  170. package/dist/types/wallets.d.ts +1 -15
  171. package/dist/types/wallets.d.ts.map +1 -1
  172. package/dist/utils/colors.d.ts.map +1 -1
  173. package/dist/utils/configs.d.ts +0 -1
  174. package/dist/utils/configs.d.ts.map +1 -1
  175. package/dist/utils/meta.d.ts +1 -2
  176. package/dist/utils/meta.d.ts.map +1 -1
  177. package/dist/utils/numbers.d.ts +1 -1
  178. package/dist/utils/numbers.d.ts.map +1 -1
  179. package/dist/utils/providers.d.ts +2 -2
  180. package/dist/utils/providers.d.ts.map +1 -1
  181. package/dist/utils/queue.d.ts +2 -2
  182. package/dist/utils/queue.d.ts.map +1 -1
  183. package/dist/utils/routing.d.ts +28 -0
  184. package/dist/utils/routing.d.ts.map +1 -0
  185. package/dist/utils/settings.d.ts +2 -6
  186. package/dist/utils/settings.d.ts.map +1 -1
  187. package/dist/utils/swap.d.ts +24 -35
  188. package/dist/utils/swap.d.ts.map +1 -1
  189. package/dist/utils/time.d.ts +1 -1
  190. package/dist/utils/time.d.ts.map +1 -1
  191. package/dist/utils/wallets.d.ts +10 -9
  192. package/dist/utils/wallets.d.ts.map +1 -1
  193. package/package.json +10 -12
  194. package/src/QueueManager.tsx +17 -18
  195. package/src/{containers/Wallets/Wallets.tsx → Wallets.tsx} +34 -48
  196. package/src/Widget.tsx +119 -0
  197. package/src/components/AppRouter.tsx +32 -8
  198. package/src/components/AppRoutes.tsx +69 -57
  199. package/src/components/BlockchainList/BlockchainList.styles.ts +2 -2
  200. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  201. package/src/components/BlockchainsSection/BlockchainsSection.styles.ts +1 -1
  202. package/src/components/BlockchainsSection/BlockchainsSection.tsx +17 -26
  203. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +64 -2
  204. package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +10 -29
  205. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +47 -43
  206. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +3 -1
  207. package/src/components/ConfirmWalletsModal/WalletList.tsx +8 -9
  208. package/src/components/ConfirmWalletsModal/WalletList.type.ts +4 -1
  209. package/src/components/HeaderButtons/HomeButtons.tsx +18 -28
  210. package/src/components/Layout/Layout.styles.ts +0 -2
  211. package/src/components/Layout/Layout.tsx +7 -20
  212. package/src/components/Layout/Layout.types.ts +2 -2
  213. package/src/components/LoadingSwapDetails/LoadingSwapDetailStep.tsx +41 -0
  214. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +61 -65
  215. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +34 -28
  216. package/src/components/LoadingSwapDetails/LoadingSwapDetails.types.ts +3 -0
  217. package/src/components/{NoResult/NoResult.helpers.ts → NoRoutes/NoRoutes.helper.ts} +16 -23
  218. package/src/components/{NoResult/NoResult.styles.ts → NoRoutes/NoRoutes.styles.ts} +0 -2
  219. package/src/components/{NoResult/NoResult.tsx → NoRoutes/NoRoutes.tsx} +17 -12
  220. package/src/components/{NoResult/NoResult.types.ts → NoRoutes/NoRoutes.types.ts} +2 -3
  221. package/src/components/NoRoutes/index.ts +1 -0
  222. package/src/components/NotificationContent/NotificationContent.tsx +3 -5
  223. package/src/components/{QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts → RouteErrors/RouteErrors.styles.ts} +1 -8
  224. package/src/components/RouteErrors/RouteErrors.tsx +79 -0
  225. package/src/components/RouteErrors/RouteErrors.types.ts +29 -0
  226. package/src/components/RouteErrors/RouteErrorsModal.tsx +129 -0
  227. package/src/components/{QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx → RouteErrors/RouteErrorsModalItem.tsx} +4 -4
  228. package/src/components/RouteErrors/index.ts +1 -0
  229. package/src/components/Slippage/Slippage.styles.ts +5 -15
  230. package/src/components/Slippage/Slippage.tsx +10 -11
  231. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +8 -5
  232. package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
  233. package/src/components/SwapDetails/SwapDetails.styles.ts +33 -36
  234. package/src/components/SwapDetails/SwapDetails.tsx +56 -41
  235. package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
  236. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +3 -4
  237. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  238. package/src/components/SwapDetailsModal/SwapDetailsModal.WalletState.tsx +8 -14
  239. package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
  240. package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
  241. package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
  242. package/src/components/SwapsGroup/SwapsGroup.styles.ts +1 -10
  243. package/src/components/SwapsGroup/SwapsGroup.tsx +5 -3
  244. package/src/components/SwitchFromAndTo.tsx +2 -2
  245. package/src/components/TokenList/TokenList.helpers.ts +2 -2
  246. package/src/components/TokenList/TokenList.styles.ts +38 -74
  247. package/src/components/TokenList/TokenList.tsx +26 -35
  248. package/src/components/TokenList/TokenList.types.ts +10 -4
  249. package/src/components/TokenList/index.ts +1 -0
  250. package/src/components/UpdateUrl.tsx +30 -35
  251. package/src/components/WidgetEvents.tsx +2 -4
  252. package/src/constants/errors.ts +15 -17
  253. package/src/constants/index.ts +0 -1
  254. package/src/constants/messages.ts +1 -1
  255. package/src/constants/navigationRoutes.ts +8 -7
  256. package/src/constants/searchParams.ts +0 -1
  257. package/src/constants/warnings.ts +7 -7
  258. package/src/hooks/useConfirmSwap.ts +303 -0
  259. package/src/hooks/{useFetchQuote.ts → useFetchBestRoute.ts} +3 -3
  260. package/src/hooks/useLanguage.ts +5 -4
  261. package/src/hooks/useNavigateBack.ts +52 -3
  262. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  263. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +7 -37
  264. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +0 -60
  265. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +3 -78
  266. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +6 -15
  267. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +1 -6
  268. package/src/hooks/useSwapInput.ts +48 -141
  269. package/src/hooks/useSyncStoresWithConfig.ts +24 -40
  270. package/src/hooks/useTheme.ts +5 -4
  271. package/src/hooks/useWalletList.ts +5 -3
  272. package/src/index.ts +5 -53
  273. package/src/pages/ConfirmSwapPage.tsx +266 -117
  274. package/src/pages/HistoryPage.tsx +7 -2
  275. package/src/pages/Home.tsx +303 -88
  276. package/src/pages/LanguagePage.tsx +5 -0
  277. package/src/pages/LiquiditySourcePage.tsx +37 -24
  278. package/src/pages/SelectBlockchainPage.tsx +24 -31
  279. package/src/pages/SelectSwapItemsPage.tsx +31 -18
  280. package/src/pages/SettingsPage.tsx +27 -32
  281. package/src/pages/SwapDetailsPage.tsx +7 -6
  282. package/src/pages/ThemePage.tsx +7 -2
  283. package/src/pages/WalletsPage.tsx +19 -9
  284. package/src/services/httpService.ts +1 -1
  285. package/src/store/app.ts +6 -44
  286. package/src/store/{quote.ts → bestRoute.ts} +64 -71
  287. package/src/store/meta.ts +39 -0
  288. package/src/store/settings.ts +158 -0
  289. package/src/store/slices/config.ts +15 -26
  290. package/src/store/slices/data.ts +35 -74
  291. package/src/store/wallets.ts +37 -68
  292. package/src/types/config.ts +8 -53
  293. package/src/types/index.ts +1 -1
  294. package/src/types/routing.ts +77 -0
  295. package/src/types/swap.ts +13 -4
  296. package/src/types/wallets.ts +1 -18
  297. package/src/utils/colors.ts +1 -2
  298. package/src/utils/configs.ts +1 -2
  299. package/src/utils/date.ts +1 -1
  300. package/src/utils/meta.ts +1 -8
  301. package/src/utils/numbers.ts +1 -1
  302. package/src/utils/providers.ts +5 -8
  303. package/src/utils/queue.ts +2 -2
  304. package/src/utils/routing.ts +321 -0
  305. package/src/utils/settings.ts +10 -17
  306. package/src/utils/swap.ts +120 -154
  307. package/src/utils/time.ts +1 -1
  308. package/src/utils/wallets.ts +161 -156
  309. package/dist/components/NoResult/NoResult.d.ts +0 -4
  310. package/dist/components/NoResult/NoResult.d.ts.map +0 -1
  311. package/dist/components/NoResult/NoResult.helpers.d.ts +0 -4
  312. package/dist/components/NoResult/NoResult.helpers.d.ts.map +0 -1
  313. package/dist/components/NoResult/NoResult.types.d.ts.map +0 -1
  314. package/dist/components/NoResult/index.d.ts +0 -2
  315. package/dist/components/NoResult/index.d.ts.map +0 -1
  316. package/dist/components/Quote/Quote.d.ts +0 -4
  317. package/dist/components/Quote/Quote.d.ts.map +0 -1
  318. package/dist/components/Quote/Quote.styles.d.ts +0 -2217
  319. package/dist/components/Quote/Quote.styles.d.ts.map +0 -1
  320. package/dist/components/Quote/Quote.types.d.ts +0 -21
  321. package/dist/components/Quote/Quote.types.d.ts.map +0 -1
  322. package/dist/components/Quote/QuoteSummary.d.ts +0 -11
  323. package/dist/components/Quote/QuoteSummary.d.ts.map +0 -1
  324. package/dist/components/Quote/QuoteSummary.styles.d.ts +0 -315
  325. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +0 -1
  326. package/dist/components/Quote/index.d.ts +0 -3
  327. package/dist/components/Quote/index.d.ts.map +0 -1
  328. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts +0 -4
  329. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts.map +0 -1
  330. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts +0 -633
  331. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts.map +0 -1
  332. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts +0 -6
  333. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts.map +0 -1
  334. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts +0 -4
  335. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts.map +0 -1
  336. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts +0 -1571
  337. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts.map +0 -1
  338. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts +0 -6
  339. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts.map +0 -1
  340. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts +0 -4
  341. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts.map +0 -1
  342. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts +0 -786
  343. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts.map +0 -1
  344. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts +0 -4
  345. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts.map +0 -1
  346. package/dist/components/QuoteSkeleton/index.d.ts +0 -4
  347. package/dist/components/QuoteSkeleton/index.d.ts.map +0 -1
  348. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts +0 -11
  349. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts.map +0 -1
  350. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts +0 -4
  351. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts.map +0 -1
  352. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts +0 -4
  353. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +0 -1
  354. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts +0 -9
  355. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +0 -1
  356. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +0 -1
  357. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +0 -23
  358. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +0 -1
  359. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts +0 -11
  360. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts.map +0 -1
  361. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts +0 -11
  362. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts.map +0 -1
  363. package/dist/components/QuoteWarningsAndErrors/index.d.ts +0 -2
  364. package/dist/components/QuoteWarningsAndErrors/index.d.ts.map +0 -1
  365. package/dist/containers/App/App.d.ts +0 -3
  366. package/dist/containers/App/App.d.ts.map +0 -1
  367. package/dist/containers/App/App.styles.d.ts +0 -158
  368. package/dist/containers/App/App.styles.d.ts.map +0 -1
  369. package/dist/containers/App/index.d.ts +0 -2
  370. package/dist/containers/App/index.d.ts.map +0 -1
  371. package/dist/containers/QuoteInfo/QuoteInfo.d.ts +0 -4
  372. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +0 -1
  373. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +0 -788
  374. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +0 -1
  375. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +0 -20
  376. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +0 -1
  377. package/dist/containers/QuoteInfo/index.d.ts +0 -2
  378. package/dist/containers/QuoteInfo/index.d.ts.map +0 -1
  379. package/dist/containers/Wallets/Wallets.d.ts +0 -6
  380. package/dist/containers/Wallets/Wallets.d.ts.map +0 -1
  381. package/dist/containers/Wallets/Wallets.types.d.ts +0 -11
  382. package/dist/containers/Wallets/Wallets.types.d.ts.map +0 -1
  383. package/dist/containers/Wallets/index.d.ts +0 -2
  384. package/dist/containers/Wallets/index.d.ts.map +0 -1
  385. package/dist/containers/Widget/Widget.d.ts +0 -5
  386. package/dist/containers/Widget/Widget.d.ts.map +0 -1
  387. package/dist/containers/Widget/Widget.types.d.ts +0 -5
  388. package/dist/containers/Widget/Widget.types.d.ts.map +0 -1
  389. package/dist/containers/Widget/index.d.ts +0 -3
  390. package/dist/containers/Widget/index.d.ts.map +0 -1
  391. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +0 -6
  392. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +0 -1
  393. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +0 -20
  394. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +0 -1
  395. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +0 -21
  396. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +0 -1
  397. package/dist/containers/WidgetInfo/index.d.ts +0 -2
  398. package/dist/containers/WidgetInfo/index.d.ts.map +0 -1
  399. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +0 -5
  400. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +0 -1
  401. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +0 -7
  402. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +0 -1
  403. package/dist/containers/WidgetProvider/index.d.ts +0 -2
  404. package/dist/containers/WidgetProvider/index.d.ts.map +0 -1
  405. package/dist/hooks/useConfirmSwap/index.d.ts +0 -2
  406. package/dist/hooks/useConfirmSwap/index.d.ts.map +0 -1
  407. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +0 -3
  408. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +0 -1
  409. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +0 -19
  410. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +0 -1
  411. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +0 -1
  412. package/dist/hooks/useFetchQuote.d.ts.map +0 -1
  413. package/dist/hooks/useForceAutoConnect.d.ts +0 -2
  414. package/dist/hooks/useForceAutoConnect.d.ts.map +0 -1
  415. package/dist/store/AppStore.d.ts +0 -47
  416. package/dist/store/AppStore.d.ts.map +0 -1
  417. package/dist/store/quote.d.ts +0 -89
  418. package/dist/store/quote.d.ts.map +0 -1
  419. package/dist/store/slices/settings.d.ts +0 -39
  420. package/dist/store/slices/settings.d.ts.map +0 -1
  421. package/dist/types/quote.d.ts +0 -82
  422. package/dist/types/quote.d.ts.map +0 -1
  423. package/dist/utils/quote.d.ts +0 -32
  424. package/dist/utils/quote.d.ts.map +0 -1
  425. package/src/components/NoResult/index.ts +0 -1
  426. package/src/components/Quote/Quote.styles.ts +0 -249
  427. package/src/components/Quote/Quote.tsx +0 -414
  428. package/src/components/Quote/Quote.types.ts +0 -15
  429. package/src/components/Quote/QuoteSummary.styles.ts +0 -16
  430. package/src/components/Quote/QuoteSummary.tsx +0 -46
  431. package/src/components/Quote/index.ts +0 -2
  432. package/src/components/QuoteSkeleton/QuoteSkeleton.styles.ts +0 -42
  433. package/src/components/QuoteSkeleton/QuoteSkeleton.tsx +0 -30
  434. package/src/components/QuoteSkeleton/QuoteSkeleton.types.ts +0 -5
  435. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.styles.ts +0 -57
  436. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.tsx +0 -76
  437. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.types.ts +0 -6
  438. package/src/components/QuoteSkeleton/StepSkeleton.styles.ts +0 -33
  439. package/src/components/QuoteSkeleton/StepSkeleton.tsx +0 -44
  440. package/src/components/QuoteSkeleton/StepSkeleton.types.ts +0 -1
  441. package/src/components/QuoteSkeleton/index.ts +0 -3
  442. package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +0 -107
  443. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +0 -74
  444. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +0 -103
  445. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +0 -25
  446. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +0 -77
  447. package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +0 -38
  448. package/src/components/QuoteWarningsAndErrors/index.ts +0 -1
  449. package/src/containers/App/App.styles.ts +0 -18
  450. package/src/containers/App/App.tsx +0 -52
  451. package/src/containers/App/index.ts +0 -1
  452. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +0 -31
  453. package/src/containers/QuoteInfo/QuoteInfo.tsx +0 -99
  454. package/src/containers/QuoteInfo/QuoteInfo.types.ts +0 -20
  455. package/src/containers/QuoteInfo/index.ts +0 -1
  456. package/src/containers/Wallets/Wallets.types.ts +0 -12
  457. package/src/containers/Wallets/index.ts +0 -1
  458. package/src/containers/Widget/Widget.tsx +0 -19
  459. package/src/containers/Widget/Widget.types.ts +0 -5
  460. package/src/containers/Widget/index.ts +0 -2
  461. package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +0 -64
  462. package/src/containers/WidgetInfo/WidgetInfo.tsx +0 -62
  463. package/src/containers/WidgetInfo/WidgetInfo.types.ts +0 -21
  464. package/src/containers/WidgetInfo/index.ts +0 -1
  465. package/src/containers/WidgetProvider/WidgetProvider.tsx +0 -28
  466. package/src/containers/WidgetProvider/WidgetProvider.types.ts +0 -7
  467. package/src/containers/WidgetProvider/index.ts +0 -1
  468. package/src/hooks/useConfirmSwap/index.ts +0 -1
  469. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +0 -172
  470. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +0 -137
  471. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +0 -19
  472. package/src/hooks/useForceAutoConnect.ts +0 -27
  473. package/src/store/AppStore.tsx +0 -41
  474. package/src/store/slices/settings.ts +0 -168
  475. package/src/types/quote.ts +0 -107
  476. package/src/utils/quote.ts +0 -338
@@ -1,249 +0,0 @@
1
- import * as Collapsible from '@radix-ui/react-collapsible';
2
- import { css, darkTheme, Image, styled, Typography } from '@rango-dev/ui';
3
-
4
- import { CollapsibleContent } from '../ConfirmWalletsModal/ConfirmWallets.styles';
5
-
6
- export const EXPANDABLE_QUOTE_TRANSITION_DURATION = 300;
7
-
8
- export const QuoteContainer = styled(Collapsible.Root, {
9
- display: 'flex',
10
- flexDirection: 'column',
11
- alignItems: 'start',
12
- overflowX: 'auto',
13
- overflowY: 'hidden',
14
- width: '100%',
15
- borderRadius: '$xm',
16
- cursor: 'default',
17
- variants: {
18
- recommended: {
19
- true: {
20
- $$color: '$colors$info300',
21
- [`.${darkTheme} &`]: {
22
- $$color: '$colors$secondary800',
23
- },
24
- backgroundColor: '$$color',
25
- },
26
- false: {
27
- $$color: '$colors$neutral400',
28
- [`.${darkTheme} &`]: {
29
- $$color: '$colors$neutral200',
30
- },
31
- backgroundColor: '$$color',
32
- },
33
- },
34
- },
35
- });
36
-
37
- export const stepsDetailsStyles = css({
38
- padding: '$10 $15',
39
- });
40
-
41
- export const SummaryContainer = styled('div', {
42
- borderRadius: '$xm',
43
- display: 'flex',
44
- flexDirection: 'column',
45
- alignItems: 'start',
46
- justifyContent: 'space-between',
47
- color: '$foreground',
48
- cursor: 'pointer',
49
- boxSizing: 'border-box',
50
- position: 'relative',
51
- variants: {
52
- recommended: {
53
- true: {
54
- $$color: '$colors$info100',
55
- [`.${darkTheme} &`]: {
56
- $$color: '$colors$secondary600',
57
- },
58
- backgroundColor: '$$color',
59
- '&:hover': {
60
- backgroundColor: '$$color',
61
- },
62
- },
63
- false: {
64
- $$color: '$colors$neutral200',
65
- [`.${darkTheme} &`]: {
66
- $$color: '$colors$neutral500',
67
- },
68
- backgroundColor: '$$color',
69
- '&:hover': {
70
- backgroundColor: '$$color',
71
- },
72
- },
73
- },
74
- basic: { true: { borderTopRightRadius: '0', borderTopLeftRadius: '0' } },
75
- listItem: {
76
- true: {},
77
- false: {},
78
- },
79
- },
80
-
81
- compoundVariants: [
82
- {
83
- listItem: true,
84
- recommended: true,
85
- css: {
86
- '&:hover': {
87
- $$color: '$colors$secondary200',
88
- [`.${darkTheme} &`]: {
89
- $$color: '$colors$secondary700',
90
- },
91
- backgroundColor: '$$color',
92
- },
93
- },
94
- },
95
- {
96
- listItem: true,
97
- recommended: false,
98
- css: {
99
- '&:hover': {
100
- $$color: '$colors$neutral300',
101
- [`.${darkTheme} &`]: {
102
- $$color: '$colors$neutral400',
103
- },
104
- backgroundColor: '$$color',
105
- },
106
- },
107
- },
108
- ],
109
- });
110
-
111
- export const summaryStyles = css({
112
- padding: '$15 $15 $10 $15',
113
- cursor: 'default',
114
- });
115
-
116
- export const basicInfoStyles = css({
117
- paddingTop: '$10',
118
- display: 'flex',
119
- alignItems: 'center',
120
- '.usd-value': {
121
- $$color: '$colors$neutral600',
122
- [`.${darkTheme} &`]: {
123
- $$color: '$colors$neutral700',
124
- },
125
- color: '$$color',
126
- },
127
- });
128
-
129
- export const Chains = styled(Collapsible.Trigger, {
130
- display: 'flex',
131
- width: '100%',
132
- justifyContent: 'space-between',
133
- alignItems: 'center',
134
- height: '$36',
135
- padding: '$10 $15',
136
- boxSizing: 'border-box',
137
- cursor: 'pointer',
138
- border: 'none',
139
- outline: 'none',
140
- backgroundColor: 'transparent',
141
- variants: {
142
- error: {
143
- true: {
144
- [`& ${Image}`]: {
145
- border: '1px $warning500 solid',
146
- borderRadius: '100%',
147
- },
148
- },
149
- false: {
150
- [`& ${Image}`]: {
151
- border: '1px transparent solid',
152
- borderRadius: '100%',
153
- },
154
- },
155
- },
156
- recommended: {
157
- true: {
158
- $$color: '$colors$info300',
159
- [`.${darkTheme} &`]: {
160
- $$color: '$colors$secondary800',
161
- },
162
- backgroundColor: '$$color',
163
- },
164
- false: {
165
- $$color: '$colors$neutral400',
166
- [`.${darkTheme} &`]: {
167
- $$color: '$colors$neutral200',
168
- },
169
- backgroundColor: '$$color',
170
- },
171
- },
172
- },
173
- '& div:nth-child(1)': { display: 'flex' },
174
- });
175
-
176
- export const ChainImageContainer = styled('div', {
177
- width: '18px',
178
- height: '18px',
179
- borderRadius: '100%',
180
- border: '1.5px transparent solid',
181
- display: 'flex',
182
- justifyContent: 'center',
183
- alignItems: 'center',
184
- variants: {
185
- state: {
186
- error: {
187
- borderColor: '$error500',
188
- },
189
- warning: { borderColor: '$warning500' },
190
- },
191
- },
192
- });
193
-
194
- export const Content = styled(CollapsibleContent, {
195
- width: '100%',
196
- background: 'inherit',
197
- });
198
-
199
- export const IconContainer = styled('div', {
200
- display: 'flex',
201
- justifyContent: 'center',
202
- alignItems: 'center',
203
- padding: '$2',
204
- transition: `all ${EXPANDABLE_QUOTE_TRANSITION_DURATION}ms ease`,
205
- variants: {
206
- orientation: {
207
- down: {
208
- transform: 'rotate(0)',
209
- },
210
- up: {
211
- transform: 'rotate(180deg)',
212
- },
213
- },
214
- },
215
- });
216
-
217
- export const Separator = styled('div', {
218
- height: '$12',
219
- marginLeft: '$10',
220
- marginRight: '$10',
221
- borderLeft: '1px solid $foreground',
222
- });
223
-
224
- export const HorizontalSeparator = styled('div', {
225
- display: 'flex',
226
- justifyContent: 'center',
227
- margin: '0 $15',
228
- borderTop: '1px solid',
229
- $$color: '$colors$neutral300',
230
- [`.${darkTheme} &`]: {
231
- $$color: '$colors$neutral400',
232
- },
233
- borderColor: '$$color',
234
- });
235
-
236
- export const FrameIcon = styled('div', {
237
- width: '$16',
238
- height: '$16',
239
- justifyContent: 'center',
240
- alignItems: 'center',
241
- display: 'flex',
242
- });
243
-
244
- export const BasicInfoOutput = styled(Typography, {
245
- width: '100%',
246
- overflow: 'hidden',
247
- textOverflow: 'ellipsis',
248
- letterSpacing: 0.4,
249
- });
@@ -1,414 +0,0 @@
1
- import type { QuoteProps } from './Quote.types';
2
- import type { Step } from '@rango-dev/ui';
3
- import type { SwapResult } from 'rango-sdk';
4
-
5
- import { i18n } from '@lingui/core';
6
- import {
7
- Alert,
8
- ChevronDownIcon,
9
- ChevronRightIcon,
10
- Divider,
11
- Image,
12
- InfoIcon,
13
- QuoteCost,
14
- StepDetails,
15
- TokenAmount,
16
- Tooltip,
17
- Typography,
18
- } from '@rango-dev/ui';
19
- import React, { useLayoutEffect, useRef, useState } from 'react';
20
-
21
- import {
22
- GAS_FEE_MAX_DECIMALS,
23
- GAS_FEE_MIN_DECIMALS,
24
- PERCENTAGE_CHANGE_MAX_DECIMALS,
25
- PERCENTAGE_CHANGE_MIN_DECIMALS,
26
- TOKEN_AMOUNT_MAX_DECIMALS,
27
- TOKEN_AMOUNT_MIN_DECIMALS,
28
- USD_VALUE_MAX_DECIMALS,
29
- USD_VALUE_MIN_DECIMALS,
30
- } from '../../constants/routing';
31
- import {
32
- FooterAlert,
33
- FooterStepAlarm,
34
- } from '../../containers/QuoteInfo/QuoteInfo.styles';
35
- import { useAppStore } from '../../store/AppStore';
36
- import { QuoteErrorType, QuoteWarningType } from '../../types';
37
- import { getContainer } from '../../utils/common';
38
- import {
39
- getBlockchainShortNameFor,
40
- getSwapperDisplayName,
41
- } from '../../utils/meta';
42
- import {
43
- numberToString,
44
- secondsToString,
45
- totalArrivalTime,
46
- } from '../../utils/numbers';
47
- import { getPriceImpact, getPriceImpactLevel } from '../../utils/quote';
48
- import { getTotalFeeInUsd } from '../../utils/swap';
49
-
50
- import {
51
- BasicInfoOutput,
52
- basicInfoStyles,
53
- ChainImageContainer,
54
- Chains,
55
- Content,
56
- EXPANDABLE_QUOTE_TRANSITION_DURATION,
57
- FrameIcon,
58
- HorizontalSeparator,
59
- IconContainer,
60
- QuoteContainer,
61
- stepsDetailsStyles,
62
- SummaryContainer,
63
- summaryStyles,
64
- } from './Quote.styles';
65
- import { QuoteSummary } from './QuoteSummary';
66
-
67
- export function Quote(props: QuoteProps) {
68
- const {
69
- quote,
70
- input,
71
- output,
72
- error,
73
- warning,
74
- type,
75
- recommended = true,
76
- } = props;
77
- const tokens = useAppStore().tokens();
78
- const blockchains = useAppStore().blockchains();
79
- const swappers = useAppStore().swappers();
80
-
81
- const [expanded, setExpanded] = useState(props.expanded);
82
- const quoteRef = useRef<HTMLButtonElement | null>(null);
83
- const prevExpanded = useRef(expanded);
84
- const totalFee = numberToString(
85
- getTotalFeeInUsd(quote.result?.swaps ?? [], tokens),
86
- GAS_FEE_MIN_DECIMALS,
87
- GAS_FEE_MAX_DECIMALS
88
- );
89
- const totalTime = secondsToString(totalArrivalTime(quote.result?.swaps));
90
- const roundedInput = numberToString(
91
- input.value,
92
- TOKEN_AMOUNT_MIN_DECIMALS,
93
- TOKEN_AMOUNT_MAX_DECIMALS
94
- );
95
- const roundedOutput = numberToString(
96
- output.value,
97
- TOKEN_AMOUNT_MIN_DECIMALS,
98
- TOKEN_AMOUNT_MAX_DECIMALS
99
- );
100
- const roundedOutputUsdValue = output.usdValue
101
- ? numberToString(
102
- output.usdValue,
103
- USD_VALUE_MIN_DECIMALS,
104
- USD_VALUE_MAX_DECIMALS
105
- )
106
- : '';
107
- const priceImpact = getPriceImpact(input.usdValue, output.usdValue ?? null);
108
- const percentageChange = numberToString(
109
- priceImpact,
110
- PERCENTAGE_CHANGE_MIN_DECIMALS,
111
- PERCENTAGE_CHANGE_MAX_DECIMALS
112
- );
113
- const priceImpactWarningLevel = getPriceImpactLevel(priceImpact ?? 0);
114
-
115
- const getQuoteSteps = (swaps: SwapResult[]): Step[] => {
116
- return swaps.map((swap, index) => {
117
- let stepState: 'error' | 'warning' | undefined = undefined;
118
- const stepHasError =
119
- (error?.type === QuoteErrorType.BRIDGE_LIMIT &&
120
- error.swap.swapperId === swap.swapperId) ||
121
- (error?.type === QuoteErrorType.INSUFFICIENT_SLIPPAGE &&
122
- error.recommendedSlippages?.has(index));
123
- const stepHasWarning =
124
- warning?.type === QuoteWarningType.INSUFFICIENT_SLIPPAGE &&
125
- warning.recommendedSlippages?.has(index);
126
-
127
- if (stepHasError) {
128
- stepState = 'error';
129
- } else if (stepHasWarning) {
130
- stepState = 'warning';
131
- }
132
-
133
- return {
134
- swapper: {
135
- displayName: getSwapperDisplayName(swap.swapperId, swappers),
136
- image: swap.swapperLogo,
137
- },
138
- from: {
139
- token: { displayName: swap.from.symbol, image: swap.from.logo },
140
- chain: {
141
- displayName: getBlockchainShortNameFor(
142
- swap.from.blockchain,
143
- blockchains
144
- ),
145
- image: swap.from.blockchainLogo,
146
- },
147
- price: {
148
- value:
149
- index === 0
150
- ? numberToString(
151
- input.value,
152
- TOKEN_AMOUNT_MIN_DECIMALS,
153
- TOKEN_AMOUNT_MAX_DECIMALS
154
- )
155
- : numberToString(
156
- swap.fromAmount,
157
- TOKEN_AMOUNT_MIN_DECIMALS,
158
- TOKEN_AMOUNT_MAX_DECIMALS
159
- ),
160
- usdValue: numberToString(
161
- (swap.from.usdPrice ?? 0) * parseFloat(swap.fromAmount),
162
- USD_VALUE_MIN_DECIMALS,
163
- USD_VALUE_MAX_DECIMALS
164
- ),
165
- },
166
- },
167
- to: {
168
- token: { displayName: swap.to.symbol, image: swap.to.logo },
169
- chain: {
170
- displayName: getBlockchainShortNameFor(
171
- swap.to.blockchain,
172
- blockchains
173
- ),
174
- image: swap.to.blockchainLogo,
175
- },
176
- price: {
177
- value: numberToString(
178
- swap.toAmount,
179
- TOKEN_AMOUNT_MIN_DECIMALS,
180
- TOKEN_AMOUNT_MAX_DECIMALS
181
- ),
182
- usdValue: numberToString(
183
- (swap.to.usdPrice ?? 0) * parseFloat(swap.toAmount),
184
- USD_VALUE_MIN_DECIMALS,
185
- USD_VALUE_MAX_DECIMALS
186
- ),
187
- },
188
- },
189
- state: stepState,
190
- alerts:
191
- stepHasError || stepHasWarning ? (
192
- <FooterStepAlarm>
193
- <Alert
194
- type={stepHasError ? 'error' : 'warning'}
195
- title={
196
- error?.type === QuoteErrorType.BRIDGE_LIMIT
197
- ? error?.recommendation
198
- : i18n.t('Slippage Error:')
199
- }
200
- footer={
201
- <FooterAlert>
202
- {error?.type === QuoteErrorType.BRIDGE_LIMIT && (
203
- <>
204
- <Typography
205
- size="xsmall"
206
- variant="body"
207
- color="neutral900">
208
- {error.fromAmountRangeError}
209
- </Typography>
210
- <Divider direction="horizontal" size={8} />
211
- <Typography
212
- size="xsmall"
213
- variant="body"
214
- color="neutral900">
215
- |
216
- </Typography>
217
- <Divider direction="horizontal" size={8} />
218
- <Typography
219
- size="xsmall"
220
- variant="body"
221
- color="neutral900">
222
- {i18n.t({
223
- id: 'Yours: {amount} {symbol}',
224
- values: {
225
- amount: numberToString(
226
- swap.fromAmount,
227
- TOKEN_AMOUNT_MIN_DECIMALS,
228
- TOKEN_AMOUNT_MAX_DECIMALS
229
- ),
230
- symbol: swap?.from.symbol,
231
- },
232
- })}
233
- </Typography>
234
- </>
235
- )}
236
- {(error?.type === QuoteErrorType.INSUFFICIENT_SLIPPAGE ||
237
- warning?.type ===
238
- QuoteWarningType.INSUFFICIENT_SLIPPAGE) && (
239
- <Typography
240
- size="xsmall"
241
- variant="body"
242
- color="neutral900">
243
- {i18n.t({
244
- id: 'Minimum required slippage is {minRequiredSlippage}',
245
- values: {
246
- ...(error?.type ===
247
- QuoteErrorType.INSUFFICIENT_SLIPPAGE && {
248
- minRequiredSlippage:
249
- error.recommendedSlippages?.get(index),
250
- }),
251
- ...(warning?.type ===
252
- QuoteWarningType.INSUFFICIENT_SLIPPAGE && {
253
- minRequiredSlippage:
254
- warning.recommendedSlippages?.get(index),
255
- }),
256
- },
257
- })}
258
- </Typography>
259
- )}
260
- </FooterAlert>
261
- }
262
- />
263
- </FooterStepAlarm>
264
- ) : undefined,
265
- };
266
- });
267
- };
268
- const steps = getQuoteSteps(quote.result?.swaps ?? []);
269
- const numberOfSteps = steps.length;
270
- const tooltipContainer = getContainer();
271
-
272
- useLayoutEffect(() => {
273
- if (expanded && !prevExpanded.current && quoteRef.current) {
274
- setTimeout(() => {
275
- quoteRef?.current?.scrollIntoView({ behavior: 'smooth' });
276
- }, EXPANDABLE_QUOTE_TRANSITION_DURATION);
277
- }
278
- prevExpanded.current = expanded;
279
- }, [expanded, prevExpanded]);
280
-
281
- return (
282
- <>
283
- <SummaryContainer
284
- recommended={recommended}
285
- listItem={type === 'list-item'}
286
- basic={type === 'basic'}>
287
- <div className={summaryStyles()}>
288
- <QuoteCost fee={totalFee} time={totalTime} steps={numberOfSteps} />
289
- {type === 'basic' && (
290
- <div className={basicInfoStyles()}>
291
- <FrameIcon>
292
- <InfoIcon size={12} color="gray" />
293
- </FrameIcon>
294
- <BasicInfoOutput size="small" variant="body">
295
- {`${roundedInput} ${
296
- steps[0].from.token.displayName
297
- } = ${roundedOutput} ${
298
- steps[steps.length - 1].to.token.displayName
299
- }`}
300
- </BasicInfoOutput>
301
- <Typography
302
- color="$neutral600"
303
- ml={2}
304
- size="xsmall"
305
- variant="body">
306
- {`($${roundedOutputUsdValue})`}
307
- </Typography>
308
- </div>
309
- )}
310
- {type === 'list-item' && (
311
- <TokenAmount
312
- type="output"
313
- direction="vertical"
314
- price={{ value: roundedOutput, usdValue: roundedOutputUsdValue }}
315
- token={{
316
- displayName: steps[numberOfSteps - 1].to.token.displayName,
317
- image: steps[numberOfSteps - 1].to.token.image,
318
- }}
319
- chain={{ image: steps[numberOfSteps - 1].to.chain.image }}
320
- percentageChange={percentageChange}
321
- warningLevel={priceImpactWarningLevel}
322
- />
323
- )}
324
- {type === 'swap-preview' && (
325
- <>
326
- <QuoteSummary
327
- from={steps[0].from}
328
- to={steps[numberOfSteps - 1].to}
329
- percentageChange={percentageChange}
330
- warningLevel={priceImpactWarningLevel}
331
- />
332
- <Divider size={4} />
333
- </>
334
- )}
335
- </div>
336
- <QuoteContainer
337
- recommended={recommended}
338
- open={expanded}
339
- onOpenChange={setExpanded}>
340
- <Chains
341
- ref={(ref) => (quoteRef.current = ref)}
342
- recommended={recommended}
343
- onClick={() => setExpanded((prevState) => !prevState)}>
344
- <div>
345
- {steps.map((step, index) => {
346
- const key = `item-${index}`;
347
- const arrow = (
348
- <IconContainer>
349
- <ChevronRightIcon
350
- size={12}
351
- color="black"
352
- {...(step.state && {
353
- color: step.state === 'error' ? 'error' : 'warning',
354
- })}
355
- />
356
- </IconContainer>
357
- );
358
- return (
359
- <React.Fragment key={key}>
360
- <Tooltip
361
- container={tooltipContainer}
362
- side="bottom"
363
- sideOffset={4}
364
- content={step.from.chain.displayName}>
365
- <ChainImageContainer
366
- state={step.state || steps[index - 1]?.state}>
367
- <Image src={step.from.chain.image} size={16} />
368
- </ChainImageContainer>
369
- </Tooltip>
370
- {index === numberOfSteps - 1 && (
371
- <>
372
- {arrow}
373
- <Tooltip
374
- container={tooltipContainer}
375
- side="bottom"
376
- sideOffset={4}
377
- content={step.to.chain.displayName}>
378
- <ChainImageContainer state={step.state}>
379
- <Image src={step.to.chain.image} size={16} />
380
- </ChainImageContainer>
381
- </Tooltip>
382
- </>
383
- )}
384
- {index !== numberOfSteps - 1 && <>{arrow}</>}
385
- </React.Fragment>
386
- );
387
- })}
388
- </div>
389
- <IconContainer orientation={expanded ? 'up' : 'down'}>
390
- <ChevronDownIcon size={12} color="black" />
391
- </IconContainer>
392
- </Chains>
393
- <Content open={expanded}>
394
- <HorizontalSeparator />
395
- <div className={stepsDetailsStyles()}>
396
- {steps.map((step, index) => {
397
- const key = `item-${index}`;
398
- return (
399
- <StepDetails
400
- type="quote-details"
401
- key={key}
402
- step={step}
403
- hasSeparator={index !== steps.length - 1}
404
- state={step.state}
405
- />
406
- );
407
- })}
408
- </div>
409
- </Content>
410
- </QuoteContainer>
411
- </SummaryContainer>
412
- </>
413
- );
414
- }
@@ -1,15 +0,0 @@
1
- import type { QuoteError, QuoteWarning } from '../../types';
2
- import type { BestRouteResponse } from 'rango-sdk';
3
- import type { ReactNode } from 'react';
4
-
5
- export type QuoteProps = {
6
- type: 'basic' | 'list-item' | 'swap-preview';
7
- error: QuoteError | null;
8
- warning: QuoteWarning | null;
9
- recommended: boolean;
10
- tag?: ReactNode;
11
- quote: BestRouteResponse;
12
- input: { value: string; usdValue: string };
13
- output: { value: string; usdValue?: string };
14
- expanded?: boolean;
15
- };
@@ -1,16 +0,0 @@
1
- import { css, styled } from '@rango-dev/ui';
2
-
3
- export const Container = styled('div', {
4
- position: 'relative',
5
- display: 'flex',
6
- flexDirection: 'column',
7
- width: '100%',
8
- });
9
-
10
- export const separatorStyles = css({
11
- height: '14px',
12
- marginLeft: '14px',
13
- position: 'absolute',
14
- borderLeft: '1px solid $foreground',
15
- top: '42%',
16
- });