@rango-dev/widget-embedded 0.17.1-next.8 → 0.18.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 (361) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/dist/QueueManager.d.ts +3 -1
  3. package/dist/QueueManager.d.ts.map +1 -1
  4. package/dist/components/AppRouter.d.ts.map +1 -1
  5. package/dist/components/AppRoutes.d.ts.map +1 -1
  6. package/dist/components/BlockchainsSection/BlockchainsSection.d.ts.map +1 -1
  7. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts +1 -1
  8. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts.map +1 -1
  9. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +690 -61
  10. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
  11. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  12. package/dist/components/HeaderButtons/HomeButtons.d.ts.map +1 -1
  13. package/dist/components/Layout/Layout.d.ts.map +1 -1
  14. package/dist/components/Layout/Layout.styles.d.ts.map +1 -1
  15. package/dist/components/Layout/Layout.types.d.ts +2 -2
  16. package/dist/components/Layout/Layout.types.d.ts.map +1 -1
  17. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -1
  18. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +1727 -0
  19. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
  20. package/dist/components/NoResult/NoResult.d.ts.map +1 -1
  21. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  22. package/dist/components/Quote/Quote.d.ts.map +1 -1
  23. package/dist/components/Quote/Quote.styles.d.ts +793 -5
  24. package/dist/components/Quote/Quote.styles.d.ts.map +1 -1
  25. package/dist/components/Quote/Quote.types.d.ts +0 -1
  26. package/dist/components/Quote/Quote.types.d.ts.map +1 -1
  27. package/dist/components/Quote/QuoteSummary.styles.d.ts +157 -0
  28. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -1
  29. package/dist/components/Quote/index.d.ts +0 -1
  30. package/dist/components/Quote/index.d.ts.map +1 -1
  31. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts.map +1 -0
  32. package/dist/components/{Quote → QuoteSkeleton}/QuoteSkeleton.styles.d.ts +314 -0
  33. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts.map +1 -0
  34. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts.map +1 -0
  35. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts +4 -0
  36. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts.map +1 -0
  37. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts +1571 -0
  38. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts.map +1 -0
  39. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts +6 -0
  40. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts.map +1 -0
  41. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts +4 -0
  42. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts.map +1 -0
  43. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts +786 -0
  44. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts.map +1 -0
  45. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts +4 -0
  46. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts.map +1 -0
  47. package/dist/components/QuoteSkeleton/index.d.ts +4 -0
  48. package/dist/components/QuoteSkeleton/index.d.ts.map +1 -0
  49. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -1
  50. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -1
  51. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -1
  52. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +1 -0
  53. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -1
  54. package/dist/components/Slippage/Slippage.d.ts.map +1 -1
  55. package/dist/components/Slippage/Slippage.styles.d.ts +158 -0
  56. package/dist/components/Slippage/Slippage.styles.d.ts.map +1 -1
  57. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  58. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  59. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
  60. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
  61. package/dist/components/SwapDetails/SwapDetails.styles.d.ts +628 -0
  62. package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
  63. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  64. package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts.map +1 -1
  65. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
  66. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
  67. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
  68. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
  69. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  70. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts +157 -0
  71. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  72. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  73. package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
  74. package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
  75. package/dist/components/TokenList/TokenList.styles.d.ts +1100 -1
  76. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  77. package/dist/components/TokenList/TokenList.types.d.ts +4 -9
  78. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  79. package/dist/components/TokenList/index.d.ts +0 -1
  80. package/dist/components/TokenList/index.d.ts.map +1 -1
  81. package/dist/components/UpdateUrl.d.ts.map +1 -1
  82. package/dist/constants/errors.d.ts.map +1 -1
  83. package/dist/constants/index.d.ts +1 -0
  84. package/dist/constants/index.d.ts.map +1 -1
  85. package/dist/constants/navigationRoutes.d.ts +1 -2
  86. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  87. package/dist/constants/searchParams.d.ts +2 -1
  88. package/dist/constants/searchParams.d.ts.map +1 -1
  89. package/dist/containers/App/App.d.ts +3 -0
  90. package/dist/containers/App/App.d.ts.map +1 -0
  91. package/dist/containers/App/App.styles.d.ts +158 -0
  92. package/dist/containers/App/App.styles.d.ts.map +1 -0
  93. package/dist/containers/App/index.d.ts +2 -0
  94. package/dist/containers/App/index.d.ts.map +1 -0
  95. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -1
  96. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +316 -0
  97. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -1
  98. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +3 -0
  99. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -1
  100. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  101. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  102. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  103. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  104. package/dist/containers/Wallets/index.d.ts +2 -0
  105. package/dist/containers/Wallets/index.d.ts.map +1 -0
  106. package/dist/containers/Widget/Widget.d.ts +5 -0
  107. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  108. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  109. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  110. package/dist/containers/Widget/index.d.ts +3 -0
  111. package/dist/containers/Widget/index.d.ts.map +1 -0
  112. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  113. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  114. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +20 -0
  115. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +1 -0
  116. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +21 -0
  117. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  118. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  119. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  120. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  121. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  122. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  123. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  124. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  125. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  126. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -1
  127. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +6 -3
  128. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -1
  129. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts +1 -1
  130. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -1
  131. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  132. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  133. package/dist/hooks/useLanguage.d.ts +1 -1
  134. package/dist/hooks/useLanguage.d.ts.map +1 -1
  135. package/dist/hooks/useNavigateBack.d.ts +1 -3
  136. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  137. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  138. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  139. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  140. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +3 -5
  141. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  142. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +1 -0
  143. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  144. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +5 -1
  145. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  146. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  147. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  148. package/dist/hooks/useTheme.d.ts +1 -1
  149. package/dist/hooks/useTheme.d.ts.map +1 -1
  150. package/dist/index.d.ts +20 -8
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +1 -1
  153. package/dist/index.js.map +4 -4
  154. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  155. package/dist/pages/HistoryPage.d.ts.map +1 -1
  156. package/dist/pages/Home.d.ts.map +1 -1
  157. package/dist/pages/LanguagePage.d.ts.map +1 -1
  158. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  159. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  160. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  161. package/dist/pages/SettingsPage.d.ts.map +1 -1
  162. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  163. package/dist/pages/ThemePage.d.ts.map +1 -1
  164. package/dist/pages/WalletsPage.d.ts.map +1 -1
  165. package/dist/store/AppStore.d.ts +37 -1
  166. package/dist/store/AppStore.d.ts.map +1 -1
  167. package/dist/store/app.d.ts +39 -2
  168. package/dist/store/app.d.ts.map +1 -1
  169. package/dist/store/notification.d.ts +4 -3
  170. package/dist/store/notification.d.ts.map +1 -1
  171. package/dist/store/quote.d.ts +9 -9
  172. package/dist/store/quote.d.ts.map +1 -1
  173. package/dist/store/slices/config.d.ts.map +1 -1
  174. package/dist/store/slices/data.d.ts +2 -2
  175. package/dist/store/slices/data.d.ts.map +1 -1
  176. package/dist/store/slices/settings.d.ts +39 -0
  177. package/dist/store/slices/settings.d.ts.map +1 -0
  178. package/dist/store/ui.d.ts +2 -1
  179. package/dist/store/ui.d.ts.map +1 -1
  180. package/dist/store/wallets.d.ts +9 -5
  181. package/dist/store/wallets.d.ts.map +1 -1
  182. package/dist/types/config.d.ts +36 -3
  183. package/dist/types/config.d.ts.map +1 -1
  184. package/dist/types/swap.d.ts +4 -14
  185. package/dist/types/swap.d.ts.map +1 -1
  186. package/dist/types/wallets.d.ts +15 -1
  187. package/dist/types/wallets.d.ts.map +1 -1
  188. package/dist/utils/colors.d.ts.map +1 -1
  189. package/dist/utils/configs.d.ts +1 -0
  190. package/dist/utils/configs.d.ts.map +1 -1
  191. package/dist/utils/meta.d.ts +2 -1
  192. package/dist/utils/meta.d.ts.map +1 -1
  193. package/dist/utils/providers.d.ts +2 -2
  194. package/dist/utils/providers.d.ts.map +1 -1
  195. package/dist/utils/queue.d.ts +2 -2
  196. package/dist/utils/queue.d.ts.map +1 -1
  197. package/dist/utils/quote.d.ts +1 -1
  198. package/dist/utils/quote.d.ts.map +1 -1
  199. package/dist/utils/settings.d.ts +4 -1
  200. package/dist/utils/settings.d.ts.map +1 -1
  201. package/dist/utils/swap.d.ts +13 -5
  202. package/dist/utils/swap.d.ts.map +1 -1
  203. package/dist/utils/time.d.ts +1 -1
  204. package/dist/utils/time.d.ts.map +1 -1
  205. package/dist/utils/wallets.d.ts +7 -8
  206. package/dist/utils/wallets.d.ts.map +1 -1
  207. package/package.json +12 -10
  208. package/src/QueueManager.tsx +4 -3
  209. package/src/components/AppRouter.tsx +5 -27
  210. package/src/components/AppRoutes.tsx +54 -33
  211. package/src/components/BlockchainList/BlockchainList.styles.ts +2 -2
  212. package/src/components/BlockchainsSection/BlockchainsSection.styles.ts +1 -1
  213. package/src/components/BlockchainsSection/BlockchainsSection.tsx +19 -10
  214. package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +29 -10
  215. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +15 -7
  216. package/src/components/ConfirmWalletsModal/WalletList.tsx +3 -3
  217. package/src/components/HeaderButtons/HomeButtons.tsx +28 -18
  218. package/src/components/Layout/Layout.styles.ts +2 -0
  219. package/src/components/Layout/Layout.tsx +20 -7
  220. package/src/components/Layout/Layout.types.ts +2 -2
  221. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +65 -61
  222. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +28 -34
  223. package/src/components/NoResult/NoResult.helpers.ts +12 -12
  224. package/src/components/NoResult/NoResult.tsx +2 -5
  225. package/src/components/NotificationContent/NotificationContent.tsx +2 -1
  226. package/src/components/Quote/Quote.styles.ts +49 -12
  227. package/src/components/Quote/Quote.tsx +107 -38
  228. package/src/components/Quote/Quote.types.ts +0 -1
  229. package/src/components/Quote/QuoteSummary.styles.ts +9 -8
  230. package/src/components/Quote/QuoteSummary.tsx +2 -2
  231. package/src/components/Quote/index.ts +0 -1
  232. package/src/components/QuoteSkeleton/QuoteSkeleton.styles.ts +42 -0
  233. package/src/components/QuoteSkeleton/QuoteSkeleton.tsx +30 -0
  234. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.styles.ts +57 -0
  235. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.tsx +76 -0
  236. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.types.ts +6 -0
  237. package/src/components/QuoteSkeleton/StepSkeleton.styles.ts +33 -0
  238. package/src/components/QuoteSkeleton/StepSkeleton.tsx +44 -0
  239. package/src/components/QuoteSkeleton/StepSkeleton.types.ts +1 -0
  240. package/src/components/QuoteSkeleton/index.ts +3 -0
  241. package/src/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx +1 -1
  242. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +11 -4
  243. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts +8 -1
  244. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +13 -13
  245. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +1 -0
  246. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +3 -3
  247. package/src/components/Slippage/Slippage.styles.ts +15 -5
  248. package/src/components/Slippage/Slippage.tsx +11 -10
  249. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +5 -8
  250. package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
  251. package/src/components/SwapDetails/SwapDetails.styles.ts +36 -33
  252. package/src/components/SwapDetails/SwapDetails.tsx +28 -39
  253. package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
  254. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +4 -3
  255. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  256. package/src/components/SwapDetailsModal/SwapDetailsModal.WalletState.tsx +14 -8
  257. package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
  258. package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
  259. package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
  260. package/src/components/SwapsGroup/SwapsGroup.styles.ts +10 -1
  261. package/src/components/SwapsGroup/SwapsGroup.tsx +3 -5
  262. package/src/components/TokenList/TokenList.helpers.ts +2 -2
  263. package/src/components/TokenList/TokenList.styles.ts +74 -38
  264. package/src/components/TokenList/TokenList.tsx +30 -20
  265. package/src/components/TokenList/TokenList.types.ts +4 -10
  266. package/src/components/TokenList/index.ts +0 -1
  267. package/src/components/UpdateUrl.tsx +4 -5
  268. package/src/constants/errors.ts +9 -5
  269. package/src/constants/index.ts +1 -0
  270. package/src/constants/navigationRoutes.ts +7 -8
  271. package/src/constants/searchParams.ts +1 -0
  272. package/src/containers/App/App.styles.ts +18 -0
  273. package/src/containers/App/App.tsx +52 -0
  274. package/src/containers/App/index.ts +1 -0
  275. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +17 -1
  276. package/src/containers/QuoteInfo/QuoteInfo.tsx +46 -44
  277. package/src/containers/QuoteInfo/QuoteInfo.types.ts +3 -0
  278. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +25 -31
  279. package/src/containers/Wallets/Wallets.types.ts +12 -0
  280. package/src/containers/Wallets/index.ts +1 -0
  281. package/src/containers/Widget/Widget.tsx +19 -0
  282. package/src/containers/Widget/Widget.types.ts +5 -0
  283. package/src/containers/Widget/index.ts +2 -0
  284. package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +64 -0
  285. package/src/containers/WidgetInfo/WidgetInfo.tsx +62 -0
  286. package/src/containers/WidgetInfo/WidgetInfo.types.ts +21 -0
  287. package/src/containers/WidgetInfo/index.ts +1 -0
  288. package/src/containers/WidgetProvider/WidgetProvider.tsx +28 -0
  289. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  290. package/src/containers/WidgetProvider/index.ts +1 -0
  291. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +15 -11
  292. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +21 -20
  293. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +1 -1
  294. package/src/hooks/useForceAutoConnect.ts +27 -0
  295. package/src/hooks/useLanguage.ts +4 -5
  296. package/src/hooks/useNavigateBack.ts +3 -52
  297. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  298. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +37 -7
  299. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +60 -0
  300. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +78 -3
  301. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +15 -6
  302. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +6 -1
  303. package/src/hooks/useSwapInput.ts +86 -28
  304. package/src/hooks/useSyncStoresWithConfig.ts +18 -5
  305. package/src/hooks/useTheme.ts +4 -5
  306. package/src/index.ts +53 -5
  307. package/src/pages/ConfirmSwapPage.tsx +61 -33
  308. package/src/pages/HistoryPage.tsx +2 -7
  309. package/src/pages/Home.tsx +55 -81
  310. package/src/pages/LanguagePage.tsx +0 -5
  311. package/src/pages/LiquiditySourcePage.tsx +3 -7
  312. package/src/pages/SelectBlockchainPage.tsx +26 -18
  313. package/src/pages/SelectSwapItemsPage.tsx +13 -26
  314. package/src/pages/SettingsPage.tsx +26 -17
  315. package/src/pages/SwapDetailsPage.tsx +3 -4
  316. package/src/pages/ThemePage.tsx +2 -7
  317. package/src/pages/WalletsPage.tsx +5 -8
  318. package/src/services/httpService.ts +1 -1
  319. package/src/store/AppStore.tsx +7 -1
  320. package/src/store/app.ts +31 -5
  321. package/src/store/quote.ts +3 -4
  322. package/src/store/slices/config.ts +1 -0
  323. package/src/store/slices/data.ts +10 -6
  324. package/src/store/slices/settings.ts +168 -0
  325. package/src/store/wallets.ts +57 -29
  326. package/src/types/config.ts +48 -3
  327. package/src/types/swap.ts +4 -13
  328. package/src/types/wallets.ts +18 -1
  329. package/src/utils/colors.ts +2 -1
  330. package/src/utils/configs.ts +2 -1
  331. package/src/utils/date.ts +1 -1
  332. package/src/utils/meta.ts +8 -1
  333. package/src/utils/providers.ts +8 -5
  334. package/src/utils/queue.ts +2 -2
  335. package/src/utils/quote.ts +7 -7
  336. package/src/utils/settings.ts +11 -5
  337. package/src/utils/swap.ts +46 -40
  338. package/src/utils/time.ts +1 -1
  339. package/src/utils/wallets.ts +127 -144
  340. package/dist/Wallets.d.ts +0 -18
  341. package/dist/Wallets.d.ts.map +0 -1
  342. package/dist/Widget.d.ts +0 -9
  343. package/dist/Widget.d.ts.map +0 -1
  344. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts +0 -4
  345. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts.map +0 -1
  346. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts +0 -4
  347. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts.map +0 -1
  348. package/dist/components/Quote/QuoteSkeleton.d.ts.map +0 -1
  349. package/dist/components/Quote/QuoteSkeleton.styles.d.ts.map +0 -1
  350. package/dist/components/Quote/QuoteSkeleton.types.d.ts.map +0 -1
  351. package/dist/store/settings.d.ts +0 -82
  352. package/dist/store/settings.d.ts.map +0 -1
  353. package/src/Widget.tsx +0 -106
  354. package/src/components/LoadingSwapDetails/LoadingSwapDetailStep.tsx +0 -41
  355. package/src/components/LoadingSwapDetails/LoadingSwapDetails.types.ts +0 -3
  356. package/src/components/Quote/QuoteSkeleton.styles.ts +0 -110
  357. package/src/components/Quote/QuoteSkeleton.tsx +0 -108
  358. package/src/store/settings.ts +0 -161
  359. /package/dist/components/{Quote → QuoteSkeleton}/QuoteSkeleton.d.ts +0 -0
  360. /package/dist/components/{Quote → QuoteSkeleton}/QuoteSkeleton.types.d.ts +0 -0
  361. /package/src/components/{Quote → QuoteSkeleton}/QuoteSkeleton.types.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import type { ModalPropTypes } from './SwapDetailsModal.types';
2
2
 
3
- import { PendingSwapNetworkStatus } from '@rango-dev/queue-manager-rango-preset';
4
3
  import { Modal } from '@rango-dev/ui';
4
+ import { PendingSwapNetworkStatus } from 'rango-types';
5
5
  import React from 'react';
6
6
 
7
7
  import { CancelContent } from './SwapDetailsModal.Cancel';
@@ -1,5 +1,5 @@
1
- import type { PendingSwapNetworkStatus } from '@rango-dev/queue-manager-rango-preset';
2
1
  import type { WalletType } from '@rango-dev/wallets-shared';
2
+ import type { PendingSwapNetworkStatus } from 'rango-types';
3
3
 
4
4
  export type ModalState =
5
5
  | Exclude<PendingSwapNetworkStatus, PendingSwapNetworkStatus.WaitingForQueue>
@@ -1,9 +1,18 @@
1
- import { styled } from '@rango-dev/ui';
1
+ import { css, darkTheme, styled } from '@rango-dev/ui';
2
+
3
+ export const groupStyles = css();
2
4
 
3
5
  export const Group = styled('div', {
4
6
  width: '100%',
5
7
  display: 'flex',
6
8
  flexDirection: 'column',
9
+ [`& .${groupStyles}`]: {
10
+ $$color: '$colors$neutral600',
11
+ [`.${darkTheme} &`]: {
12
+ $$color: '$colors$neutral700',
13
+ },
14
+ color: '$$color',
15
+ },
7
16
  });
8
17
 
9
18
  export const Time = styled('div', {
@@ -6,7 +6,7 @@ import React from 'react';
6
6
 
7
7
  import { limitDecimalPlaces } from '../../utils/numbers';
8
8
 
9
- import { Group, SwapList, Time } from './SwapsGroup.styles';
9
+ import { Group, groupStyles, SwapList, Time } from './SwapsGroup.styles';
10
10
 
11
11
  export function SwapsGroup(props: PropTypes) {
12
12
  const { list, onSwapClick, groupBy, isLoading } = props;
@@ -34,8 +34,7 @@ export function SwapsGroup(props: PropTypes) {
34
34
  <Typography
35
35
  variant="label"
36
36
  size="medium"
37
- color="neutral600"
38
- className="group-title">
37
+ className={groupStyles()}>
39
38
  {i18n.t(group.title)}
40
39
  </Typography>
41
40
  </Time>
@@ -68,8 +67,7 @@ export function SwapsGroup(props: PropTypes) {
68
67
  <Typography
69
68
  variant="label"
70
69
  size="medium"
71
- color="neutral600"
72
- className="group-title">
70
+ className={groupStyles()}>
73
71
  {i18n.t(group.title)}
74
72
  </Typography>
75
73
  </Time>
@@ -1,8 +1,8 @@
1
- import type { TokenWithBalance } from './TokenList.types';
1
+ import type { Token } from 'rango-sdk';
2
2
 
3
3
  import { containsText } from '../../utils/common';
4
4
 
5
- export const filterTokens = (list: TokenWithBalance[], searchedFor: string) =>
5
+ export const filterTokens = (list: Token[], searchedFor: string) =>
6
6
  list.filter(
7
7
  (token) =>
8
8
  containsText(token.symbol, searchedFor) ||
@@ -1,4 +1,51 @@
1
- import { styled, Typography } from '@rango-dev/ui';
1
+ import {
2
+ css,
3
+ darkTheme,
4
+ ImageContainer,
5
+ styled,
6
+ Typography,
7
+ } from '@rango-dev/ui';
8
+
9
+ export const tokenNameStyles = css({
10
+ position: 'absolute',
11
+ transform: 'none',
12
+ transition: 'transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms',
13
+ textOverflow: 'ellipsis',
14
+ whiteSpace: 'nowrap',
15
+ maxWidth: 100,
16
+ overflow: 'hidden',
17
+ });
18
+ export const descriptionStyles = css({
19
+ position: 'relative',
20
+ height: 12,
21
+ width: '30%',
22
+ maxWidth: '150px',
23
+ });
24
+ export const tokenTitleStyles = css({
25
+ position: 'absolute',
26
+ transform: 'none',
27
+ transition: 'transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms',
28
+ bottom: '-8px',
29
+ });
30
+ export const tokenAddressStyles = css({
31
+ transform: 'translateY(12px)',
32
+ visibility: 'hidden',
33
+ '& a': {
34
+ display: 'flex',
35
+ justifyContent: 'center',
36
+ alignItems: 'center',
37
+ fontSize: '$12',
38
+ lineHeight: '$16',
39
+ $$color: '$colors$neutral600',
40
+ [`.${darkTheme} &`]: {
41
+ $$color: '$colors$neutral700',
42
+ },
43
+ color: '$$color',
44
+ textDecoration: 'none',
45
+ },
46
+ });
47
+ export const tokenWithoutNameStyles = css({});
48
+ export const usdValueStyles = css();
2
49
 
3
50
  export const Container = styled('div', {
4
51
  display: 'flex',
@@ -23,54 +70,25 @@ export const List = styled('ul', {
23
70
  listStyle: 'none',
24
71
  '& li': {
25
72
  alignItems: 'none',
26
- '.description': {
27
- position: 'relative',
28
- height: 12,
29
- width: 150,
30
- '.token-title': {
31
- position: 'absolute',
32
- transform: 'none',
33
- transition: 'transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms',
34
- bottom: '-8px',
35
- },
36
73
 
37
- '.token-address': {
38
- transform: 'translateY(12px)',
39
- visibility: 'hidden',
40
- '& a': {
41
- fontSize: '$12',
42
- lineHeight: '$16',
43
- color: '$neutral600',
44
- textDecoration: 'none',
45
- },
46
- },
47
- '.token-name': {
48
- position: 'absolute',
49
- transform: 'none',
50
- transition: 'transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms',
51
- textOverflow: 'ellipsis',
52
- whiteSpace: 'nowrap',
53
- maxWidth: 100,
54
- overflow: 'hidden',
55
- },
56
- },
57
74
  '&:hover': {
58
- '.description': {
59
- '.token-address': {
75
+ [`& .${descriptionStyles}`]: {
76
+ [`& .${tokenAddressStyles}`]: {
60
77
  position: 'absolute',
61
78
  transform: 'none',
62
79
  transition: 'transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms',
63
80
  visibility: 'visible',
64
81
  },
65
- '.token-address-without-name': {
82
+
83
+ [`& .${tokenWithoutNameStyles}`]: {
66
84
  bottom: '-15px',
67
85
  },
68
- '.token-name': {
86
+ [`& .${tokenNameStyles}`]: {
69
87
  position: 'absolute',
70
88
  transform: 'translateY(-12px)',
71
89
  visibility: 'hidden',
72
90
  },
73
- '.token-title': {
91
+ [`& .${tokenTitleStyles}`]: {
74
92
  position: 'absolute',
75
93
  transform: 'translateY(-12px)',
76
94
  bottom: '-10px',
@@ -92,9 +110,20 @@ export const TagTitle = styled(Typography, {});
92
110
 
93
111
  export const BalanceContainer = styled('div', {
94
112
  textAlign: 'right',
113
+ width: '100%',
114
+ overflow: 'hidden',
115
+ textOverflow: 'ellipsis',
116
+ whiteSpace: 'nowrap',
117
+ [`& .${usdValueStyles}`]: {
118
+ $$color: '$colors$neutral600',
119
+ [`.${darkTheme} &`]: {
120
+ $$color: '$colors$neutral700',
121
+ },
122
+ color: '$$color',
123
+ },
95
124
  });
96
125
 
97
- export const End = styled('ul', {
126
+ export const End = styled('div', {
98
127
  display: 'flex',
99
128
  alignItems: 'end',
100
129
  flexDirection: 'column',
@@ -106,7 +135,7 @@ export const Description = styled('div', {
106
135
  });
107
136
  export const ImageSection = styled('div', {
108
137
  position: 'relative',
109
- '.image-container': {
138
+ [`& ${ImageContainer}`]: {
110
139
  borderRadius: '$xm',
111
140
  overflow: 'hidden',
112
141
  },
@@ -119,3 +148,10 @@ export const Pin = styled('div', {
119
148
  bottom: -6,
120
149
  right: -6,
121
150
  });
151
+
152
+ export const TokenBalance = styled(Typography, {
153
+ width: '100%',
154
+ overflow: 'hidden',
155
+ textOverflow: 'ellipsis',
156
+ whiteSpace: 'nowrap',
157
+ });
@@ -1,9 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-magic-numbers */
2
- import type {
3
- PropTypes,
4
- RenderDescProps,
5
- TokenWithBalance,
6
- } from './TokenList.types';
2
+ import type { PropTypes, RenderDescProps } from './TokenList.types';
3
+ import type { Token } from 'rango-sdk';
7
4
  import type { CommonProps } from 'react-window';
8
5
 
9
6
  import { i18n } from '@lingui/core';
@@ -24,11 +21,13 @@ import React, { forwardRef, useEffect, useState } from 'react';
24
21
  import { useAppStore } from '../../store/AppStore';
25
22
  import { useWalletsStore } from '../../store/wallets';
26
23
  import { generateRangeColors } from '../../utils/colors';
24
+ import { formatBalance } from '../../utils/wallets';
27
25
 
28
26
  import { LoadingTokenList } from './LoadingTokenList';
29
27
  import {
30
28
  BalanceContainer,
31
29
  Container,
30
+ descriptionStyles,
32
31
  End,
33
32
  ImageSection,
34
33
  List,
@@ -36,6 +35,12 @@ import {
36
35
  Tag,
37
36
  TagTitle,
38
37
  Title,
38
+ tokenAddressStyles,
39
+ TokenBalance,
40
+ tokenNameStyles,
41
+ tokenTitleStyles,
42
+ tokenWithoutNameStyles,
43
+ usdValueStyles,
39
44
  } from './TokenList.styles';
40
45
 
41
46
  const PAGE_SIZE = 20;
@@ -46,11 +51,11 @@ const renderDesc = (props: RenderDescProps) => {
46
51
  const length = address.length;
47
52
 
48
53
  return (
49
- <div className="description">
54
+ <div className={descriptionStyles()}>
50
55
  {name ? (
51
- <div className="token-name">{name}</div>
56
+ <div className={tokenNameStyles()}>{name}</div>
52
57
  ) : (
53
- <Title className="token-title">
58
+ <Title className={tokenTitleStyles()}>
54
59
  <Typography variant="title" size="xmedium">
55
60
  {token.symbol}
56
61
  </Typography>
@@ -65,7 +70,9 @@ const renderDesc = (props: RenderDescProps) => {
65
70
 
66
71
  {!!address && (
67
72
  <div
68
- className={`token-address ${!name && 'token-address-without-name'}`}>
73
+ className={`${tokenAddressStyles()} ${
74
+ !name && tokenWithoutNameStyles()
75
+ }`}>
69
76
  <a
70
77
  href={url}
71
78
  target="_blank"
@@ -74,6 +81,7 @@ const renderDesc = (props: RenderDescProps) => {
74
81
  {length > 10
75
82
  ? `${address.slice(0, 5)}...${address.slice(length - 6, length)}`
76
83
  : address}{' '}
84
+ <Divider size={4} direction="horizontal" />
77
85
  <ExternalLinkIcon color="gray" size={12} />
78
86
  </a>
79
87
  </div>
@@ -85,11 +93,11 @@ const renderDesc = (props: RenderDescProps) => {
85
93
  export function TokenList(props: PropTypes) {
86
94
  const { list, searchedFor = '', onChange, selectedBlockchain } = props;
87
95
 
88
- const [tokens, setTokens] = useState<TokenWithBalance[]>(list);
96
+ const [tokens, setTokens] = useState<Token[]>(list);
89
97
  const fetchStatus = useAppStore().fetchStatus;
90
98
  const blockchains = useAppStore().blockchains();
91
99
  const [hasNextPage, setHasNextPage] = useState<boolean>(true);
92
- const loadingWallet = useWalletsStore.use.loading();
100
+ const { getBalanceFor, loading: loadingWallet } = useWalletsStore();
93
101
  const { isTokenPinned } = useAppStore();
94
102
 
95
103
  // eslint-disable-next-line react/display-name
@@ -134,7 +142,7 @@ export function TokenList(props: PropTypes) {
134
142
  <VirtualizedList
135
143
  Item={({ index, style }) => {
136
144
  const token = tokens[index];
137
-
145
+ const tokenBalance = formatBalance(getBalanceFor(token));
138
146
  const address = token.address || '';
139
147
  const blockchain = blockchains.find(
140
148
  (blockchain) => blockchain.name === token.blockchain
@@ -169,6 +177,8 @@ export function TokenList(props: PropTypes) {
169
177
  <ListItemButton
170
178
  style={{
171
179
  height: style?.height,
180
+ width: '100%',
181
+ overflow: 'hidden',
172
182
  }}
173
183
  tab-index={index}
174
184
  key={`${token.symbol}${token.address}`}
@@ -178,7 +188,7 @@ export function TokenList(props: PropTypes) {
178
188
  start={
179
189
  <ImageSection>
180
190
  <Image src={token.image} size={30} />
181
- {isTokenPinned(token) && (
191
+ {isTokenPinned(token, props.type) && (
182
192
  <Pin>
183
193
  <PinIcon size={12} color="gray" />
184
194
  </Pin>
@@ -229,18 +239,18 @@ export function TokenList(props: PropTypes) {
229
239
  <Skeleton variant="text" size="medium" width={50} />
230
240
  </End>
231
241
  ) : (
232
- tokens[index]?.balance && (
242
+ tokenBalance && (
233
243
  <BalanceContainer>
234
- <Typography variant="title" size="small">
235
- {token.balance?.amount}
236
- </Typography>
244
+ <TokenBalance variant="title" size="small">
245
+ {tokenBalance.amount}
246
+ </TokenBalance>
237
247
  <div />
238
- {token.balance?.usdValue && (
248
+ {tokenBalance.usdValue && (
239
249
  <Typography
240
250
  variant="body"
241
- color="neutral600"
251
+ className={usdValueStyles()}
242
252
  size="xsmall">
243
- {`$${token.balance?.usdValue}`}
253
+ {`$${tokenBalance.usdValue}`}
244
254
  </Typography>
245
255
  )}
246
256
  </BalanceContainer>
@@ -1,17 +1,11 @@
1
1
  import type { Token } from 'rango-sdk';
2
2
 
3
- export interface TokenWithBalance extends Token {
4
- balance?: {
5
- amount: string;
6
- usdValue: string;
7
- };
8
- }
9
-
10
3
  export interface PropTypes {
11
- list: TokenWithBalance[];
4
+ list: Token[];
12
5
  searchedFor?: string;
13
- onChange: (token: TokenWithBalance) => void;
6
+ onChange: (token: Token) => void;
14
7
  selectedBlockchain?: string;
8
+ type: 'source' | 'destination';
15
9
  }
16
10
 
17
11
  export interface LoadingTokenListProps {
@@ -22,7 +16,7 @@ export interface RenderDescProps {
22
16
  name?: string | null;
23
17
  address: string;
24
18
  url: string;
25
- token: TokenWithBalance;
19
+ token: Token;
26
20
  customCssForTag: TagCSS;
27
21
  customCssForTagTitle: TitleCSS;
28
22
  }
@@ -1,2 +1 @@
1
1
  export { TokenList } from './TokenList';
2
- export type { TokenWithBalance } from './TokenList.types';
@@ -7,7 +7,6 @@ import {
7
7
 
8
8
  import { navigationRoutes } from '../constants/navigationRoutes';
9
9
  import { SearchParams } from '../constants/searchParams';
10
- import { useSyncStoresWithConfig } from '../hooks/useSyncStoresWithConfig';
11
10
  import { useAppStore } from '../store/AppStore';
12
11
  import { useQuoteStore } from '../store/quote';
13
12
  import { useUiStore } from '../store/ui';
@@ -33,7 +32,6 @@ export function UpdateUrl() {
33
32
  const blockchains = useAppStore().blockchains();
34
33
  const tokens = useAppStore().tokens();
35
34
  const setSelectedSwap = useUiStore.use.setSelectedSwap();
36
- useSyncStoresWithConfig();
37
35
 
38
36
  useEffect(() => {
39
37
  const params: Record<string, string> = {};
@@ -57,6 +55,7 @@ export function UpdateUrl() {
57
55
  toChainString = '',
58
56
  toTokenString = '',
59
57
  fromAmount = '';
58
+ const autoConnect = searchParamsRef.current[SearchParams.AUTO_CONNECT];
60
59
  if (fetchMetaStatus !== 'success') {
61
60
  fromChainString = searchParamsRef.current[SearchParams.FROM_CHAIN];
62
61
  fromTokenString = searchParamsRef.current[SearchParams.FROM_TOKEN];
@@ -65,9 +64,6 @@ export function UpdateUrl() {
65
64
  fromAmount =
66
65
  searchParamsRef.current[SearchParams.FROM_AMOUNT] || inputAmount;
67
66
  } else {
68
- if (location.state === 'redirect') {
69
- return;
70
- }
71
67
  fromChainString = fromBlockchain?.name || '';
72
68
  fromTokenString =
73
69
  (fromToken?.symbol || '') +
@@ -91,6 +87,9 @@ export function UpdateUrl() {
91
87
  ...(fromAmount && {
92
88
  [SearchParams.FROM_AMOUNT]: fromAmount.toString(),
93
89
  }),
90
+ ...(autoConnect && {
91
+ [SearchParams.AUTO_CONNECT]: autoConnect,
92
+ }),
94
93
  },
95
94
  { replace: true }
96
95
  );
@@ -10,18 +10,22 @@ export const errorMessages = () => {
10
10
  liquiditySourcesError: {
11
11
  title: i18n.t('Please reset your liquidity sources.'),
12
12
  description: i18n.t(
13
- 'You have limited the liquidity sources and this might result in Rango finding no routes. Please consider resetting your liquidity sources'
13
+ 'You have limited the liquidity sources and this might result in Rango finding no routes. Please consider resetting your liquidity sources.'
14
14
  ),
15
15
  },
16
16
  noResultError: {
17
- title: i18n.t('No Routes Found'),
17
+ title: i18n.t('No Routes Found.'),
18
18
  description: i18n.t(
19
19
  "Reasons why Rango couldn't find a route: low liquidity on token, very low input amount or no routes available for the selected input/output token combination."
20
20
  ),
21
21
  },
22
22
  bridgeLimitErrors: {
23
- increaseAmount: i18n.t('Bridge Limit Error: Please increase your amount'),
24
- decreaseAmount: i18n.t('Bridge Limit Error: Please decrease your amount'),
23
+ increaseAmount: i18n.t(
24
+ 'Bridge Limit Error: Please increase your amount.'
25
+ ),
26
+ decreaseAmount: i18n.t(
27
+ 'Bridge Limit Error: Please decrease your amount.'
28
+ ),
25
29
  },
26
30
  highValueLossError: {
27
31
  impactTitle: i18n.t('High Price Impact'),
@@ -29,7 +33,7 @@ export const errorMessages = () => {
29
33
  description: i18n.t(
30
34
  'The price impact is significantly higher than the allowed amount. If you are sure, continue, otherwise, change the swap.'
31
35
  ),
32
- confirmMessage: i18n.t('Confirm High price impact'),
36
+ confirmMessage: i18n.t('Confirm high price impact'),
33
37
  },
34
38
  quoteUpdatedWithHighValueLoss: {
35
39
  title: i18n.t(
@@ -1 +1,2 @@
1
1
  export const RANGO_PUBLIC_API_KEY = 'c6381a79-2817-4602-83bf-6a641a409e32';
2
+ export const DEFAULT_BASE_URL = 'https://api.rango.exchange';
@@ -1,17 +1,16 @@
1
1
  export const navigationRoutes = {
2
2
  home: '/',
3
3
  fromSwap: 'from-swap',
4
- fromBlockchain: '/from-swap/blockchains',
5
- toBlockchain: '/to-swap/blockchains',
6
4
  toSwap: 'to-swap',
5
+ blockchains: 'blockchains',
7
6
  settings: 'settings',
8
- liquiditySources: '/settings/liquidity-sources',
9
- themes: '/settings/themes',
10
- bridges: '/settings/bridges',
11
- exchanges: '/settings/exchanges',
12
- languages: '/settings/languages',
7
+ liquiditySources: 'liquidity-sources',
8
+ themes: 'themes',
9
+ bridges: 'bridges',
10
+ exchanges: 'exchanges',
11
+ languages: 'languages',
13
12
  swaps: 'swaps',
14
13
  wallets: 'wallets',
15
14
  confirmSwap: 'confirm-swap',
16
- swapDetails: 'swaps/:requestId',
15
+ swapDetails: ':requestId',
17
16
  };
@@ -4,4 +4,5 @@ export enum SearchParams {
4
4
  'TO_CHAIN' = 'toBlockchain',
5
5
  'TO_TOKEN' = 'toToken',
6
6
  'FROM_AMOUNT' = 'fromAmount',
7
+ 'AUTO_CONNECT' = 'autoConnect',
7
8
  }
@@ -0,0 +1,18 @@
1
+ import { styled } from '@rango-dev/ui';
2
+
3
+ export const MainContainer = styled('div', {
4
+ width: '100%',
5
+ display: 'flex',
6
+ justifyContent: 'center',
7
+ alignItems: 'center',
8
+ fontFamily: '$widget',
9
+ boxSizing: 'border-box',
10
+ '& *, *::before, *::after': {
11
+ boxSizing: 'inherit',
12
+ listStyleType: 'none',
13
+ },
14
+ '& *:focus-visible': {
15
+ outlineColor: '$info500',
16
+ transition: 'none',
17
+ },
18
+ });
@@ -0,0 +1,52 @@
1
+ import type { WalletType } from '@rango-dev/wallets-shared';
2
+
3
+ import { I18nManager } from '@rango-dev/ui';
4
+ import React, { useContext, useEffect, useState } from 'react';
5
+
6
+ import { AppRouter } from '../../components/AppRouter';
7
+ import { AppRoutes } from '../../components/AppRoutes';
8
+ import { WidgetEvents } from '../../components/WidgetEvents';
9
+ import { globalFont } from '../../globalStyles';
10
+ import { useLanguage } from '../../hooks/useLanguage';
11
+ import { useTheme } from '../../hooks/useTheme';
12
+ import { useAppStore } from '../../store/AppStore';
13
+ import { useNotificationStore } from '../../store/notification';
14
+ import { WidgetContext } from '../Wallets';
15
+
16
+ import { MainContainer } from './App.styles';
17
+
18
+ export function Main() {
19
+ globalFont();
20
+
21
+ const { config } = useAppStore();
22
+ const { activeTheme } = useTheme(config?.theme || {});
23
+ const { activeLanguage, changeLanguage } = useLanguage();
24
+ const [lastConnectedWalletWithNetwork, setLastConnectedWalletWithNetwork] =
25
+ useState<string>('');
26
+ const [disconnectedWallet, setDisconnectedWallet] = useState<WalletType>();
27
+ const widgetContext = useContext(WidgetContext);
28
+
29
+ useEffect(() => {
30
+ void useNotificationStore.persist.rehydrate();
31
+ widgetContext.onConnectWallet(setLastConnectedWalletWithNetwork);
32
+ }, []);
33
+ useEffect(() => {
34
+ changeLanguage(config?.language);
35
+ }, [config?.language]);
36
+
37
+ return (
38
+ <I18nManager language={activeLanguage}>
39
+ <MainContainer id="swap-container" className={activeTheme()}>
40
+ <WidgetEvents />
41
+ <AppRouter
42
+ lastConnectedWallet={lastConnectedWalletWithNetwork}
43
+ disconnectedWallet={disconnectedWallet}
44
+ clearDisconnectedWallet={() => {
45
+ setDisconnectedWallet(undefined);
46
+ }}>
47
+ <AppRoutes />
48
+ </AppRouter>
49
+ </MainContainer>
50
+ </I18nManager>
51
+ );
52
+ }
@@ -0,0 +1 @@
1
+ export { Main } from './App';
@@ -1,8 +1,24 @@
1
1
  import { styled } from '@rango-dev/ui';
2
2
 
3
+ export const PositionTopAlerts = styled('div', {
4
+ paddingBottom: '$10',
5
+ });
6
+
3
7
  export const QuoteContainer = styled('div', {
4
8
  width: '100%',
5
- paddingTop: '$2',
9
+ '& .position-top__skeleton': {
10
+ paddingTop: '$10',
11
+ },
12
+ });
13
+
14
+ export const SkeletonContainer = styled('div', {
15
+ variants: {
16
+ paddingTop: {
17
+ true: {
18
+ paddingTop: '$10',
19
+ },
20
+ },
21
+ },
6
22
  });
7
23
 
8
24
  export const FooterStepAlarm = styled('div', {