@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
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@rango-dev/widget-embedded",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
- "source": "./src/index.ts",
7
6
  "main": "dist/index.js",
8
7
  "typings": "dist/index.d.ts",
9
8
  "files": [
@@ -13,7 +12,6 @@
13
12
  "browserslist": "> 0.5%, last 2 versions, not dead",
14
13
  "scripts": {
15
14
  "build": "node ../../scripts/build/command.mjs --path widget/embedded",
16
- "ts-check": "tsc --declaration --emitDeclarationOnly -p ./tsconfig.json",
17
15
  "clean": "rimraf dist",
18
16
  "format": "prettier --write '{.,src}/**/*.{ts,tsx}'",
19
17
  "lint": "eslint \"**/*.{ts,tsx}\" --ignore-path ../../.eslintignore"
@@ -21,20 +19,20 @@
21
19
  "dependencies": {
22
20
  "@lingui/core": "4.2.1",
23
21
  "@lingui/react": "4.2.1",
24
- "@rango-dev/provider-all": "^0.23.0",
25
- "@rango-dev/queue-manager-core": "^0.22.0",
26
- "@rango-dev/queue-manager-rango-preset": "^0.23.0",
27
- "@rango-dev/queue-manager-react": "^0.22.0",
28
- "@rango-dev/ui": "^0.23.0",
29
- "@rango-dev/wallets-react": "^0.9.0",
30
- "@rango-dev/wallets-shared": "^0.22.0",
22
+ "@rango-dev/provider-all": "^0.24.0",
23
+ "@rango-dev/queue-manager-core": "^0.23.0",
24
+ "@rango-dev/queue-manager-rango-preset": "^0.24.0",
25
+ "@rango-dev/queue-manager-react": "^0.23.0",
26
+ "@rango-dev/ui": "^0.24.0",
27
+ "@rango-dev/wallets-react": "^0.10.0",
28
+ "@rango-dev/wallets-shared": "^0.23.0",
31
29
  "bignumber.js": "^9.1.1",
32
30
  "copy-to-clipboard": "^3.3.3",
33
31
  "dayjs": "^1.11.7",
34
32
  "immer": "^9.0.19",
35
33
  "mitt": "^3.0.0",
36
- "rango-sdk": "^0.1.44",
37
- "rango-types": "^0.1.57",
34
+ "rango-sdk": "^0.1.35",
35
+ "rango-types": "^0.1.46",
38
36
  "react-i18next": "^12.2.0",
39
37
  "react-router-dom": "^6.8.0",
40
38
  "values.js": "2.1.1",
@@ -1,23 +1,23 @@
1
- import type { SwapQueueContext } from '@rango-dev/queue-manager-rango-preset';
2
- import type { Network, WalletType } from '@rango-dev/wallets-shared';
3
- import type { PropsWithChildren } from 'react';
4
-
1
+ import React, { PropsWithChildren, useMemo } from 'react';
2
+ import { Provider as ManagerProvider } from '@rango-dev/queue-manager-react';
5
3
  import {
6
- checkWaitingForNetworkChange,
7
4
  makeQueueDefinition,
5
+ SwapQueueContext,
6
+ checkWaitingForNetworkChange,
8
7
  } from '@rango-dev/queue-manager-rango-preset';
9
- import { Provider as ManagerProvider } from '@rango-dev/queue-manager-react';
10
8
  import { useWallets } from '@rango-dev/wallets-react';
11
- import { convertEvmBlockchainMetaToEvmChainInfo } from '@rango-dev/wallets-shared';
12
- import { isEvmBlockchain } from 'rango-types';
13
- import React, { useMemo } from 'react';
14
-
15
- import { useAppStore } from './store/AppStore';
9
+ import {
10
+ convertEvmBlockchainMetaToEvmChainInfo,
11
+ Network,
12
+ WalletType,
13
+ } from '@rango-dev/wallets-shared';
14
+ import { useMetaStore } from './store/meta';
16
15
  import { useWalletsStore } from './store/wallets';
17
- import { getConfig } from './utils/configs';
18
16
  import { walletAndSupportedChainsNames } from './utils/wallets';
17
+ import { getConfig } from './utils/configs';
18
+ import { isEvmBlockchain } from 'rango-types';
19
19
 
20
- function QueueManager(props: PropsWithChildren<{ apiKey?: string }>) {
20
+ function QueueManager(props: PropsWithChildren) {
21
21
  const {
22
22
  providers,
23
23
  getSigners,
@@ -29,12 +29,11 @@ function QueueManager(props: PropsWithChildren<{ apiKey?: string }>) {
29
29
 
30
30
  const swapQueueDef = useMemo(() => {
31
31
  return makeQueueDefinition({
32
- API_KEY: props.apiKey || getConfig('API_KEY'),
33
- BASE_URL: getConfig('BASE_URL'),
32
+ API_KEY: getConfig('API_KEY'),
34
33
  });
35
- }, [props.apiKey]);
34
+ }, []);
36
35
 
37
- const blockchains = useAppStore().blockchains();
36
+ const { blockchains } = useMetaStore.use.meta();
38
37
  const connectedWallets = useWalletsStore.use.connectedWallets();
39
38
 
40
39
  const wallets = {
@@ -44,7 +43,7 @@ function QueueManager(props: PropsWithChildren<{ apiKey?: string }>) {
44
43
  })),
45
44
  };
46
45
 
47
- const switchNetwork = async (wallet: WalletType, network: Network) => {
46
+ const switchNetwork = (wallet: WalletType, network: Network) => {
48
47
  if (!canSwitchNetworkTo(wallet, network)) {
49
48
  return undefined;
50
49
  }
@@ -1,25 +1,25 @@
1
- import type {
2
- OnConnectHandler,
3
- PropTypes,
4
- WidgetContextInterface,
5
- } from './Wallets.types';
6
- import type { ProvidersOptions } from '../../utils/providers';
1
+ import type { WidgetConfig } from './types';
2
+ import type { ProvidersOptions } from './utils/providers';
7
3
  import type { EventHandler } from '@rango-dev/wallets-react';
8
4
  import type { Network } from '@rango-dev/wallets-shared';
9
5
  import type { PropsWithChildren } from 'react';
10
6
 
11
7
  import { Events, Provider } from '@rango-dev/wallets-react';
12
8
  import { isEvmBlockchain } from 'rango-sdk';
13
- import React, { createContext, useEffect, useRef } from 'react';
9
+ import React, { createContext, useRef } from 'react';
14
10
 
15
- import { useSyncStoresWithConfig } from '../../hooks/useSyncStoresWithConfig';
16
- import { useWalletProviders } from '../../hooks/useWalletProviders';
17
- import { AppStoreProvider, useAppStore } from '../../store/AppStore';
18
- import { useWalletsStore } from '../../store/wallets';
11
+ import { useWalletProviders } from './hooks/useWalletProviders';
12
+ import { useMetaStore } from './store/meta';
13
+ import { useWalletsStore } from './store/wallets';
19
14
  import {
20
15
  prepareAccountsForWalletStore,
21
16
  walletAndSupportedChainsNames,
22
- } from '../../utils/wallets';
17
+ } from './utils/wallets';
18
+
19
+ type OnConnectHandler = (key: string) => void;
20
+ interface WidgetContextInterface {
21
+ onConnectWallet(handler: OnConnectHandler): void;
22
+ }
23
23
 
24
24
  export const WidgetContext = createContext<WidgetContextInterface>({
25
25
  onConnectWallet: () => {
@@ -27,46 +27,41 @@ export const WidgetContext = createContext<WidgetContextInterface>({
27
27
  },
28
28
  });
29
29
 
30
- function Main(props: PropsWithChildren<PropTypes>) {
31
- const { updateConfig, updateSettings, fetch: fetchMeta } = useAppStore();
32
- const blockchains = useAppStore().blockchains();
33
- const tokens = useAppStore().tokens();
34
- const walletOptions: ProvidersOptions = {
35
- walletConnectProjectId: props.config?.walletConnectProjectId,
36
- };
37
- const { providers } = useWalletProviders(props.config.wallets, walletOptions);
38
- const { connectWallet, disconnectWallet } = useWalletsStore();
30
+ export function WidgetWallets(
31
+ props: PropsWithChildren<{
32
+ providers: WidgetConfig['wallets'];
33
+ options?: ProvidersOptions;
34
+ onUpdateState?: EventHandler;
35
+ }>
36
+ ) {
37
+ const { blockchains } = useMetaStore.use.meta();
38
+ const { providers } = useWalletProviders(props.providers, props?.options);
39
+ const disconnectWallet = useWalletsStore.use.disconnectWallet();
40
+ const connectWallet = useWalletsStore.use.connectWallet();
39
41
  const onConnectWalletHandler = useRef<OnConnectHandler>();
40
- useSyncStoresWithConfig();
41
-
42
- useEffect(() => {
43
- void fetchMeta().catch(console.log);
44
- }, []);
45
-
46
- useEffect(() => {
47
- if (props.config) {
48
- updateConfig(props.config);
49
- updateSettings(props.config);
50
- }
51
- }, [props.config]);
52
42
 
53
43
  const evmBasedChainNames = blockchains
54
44
  .filter(isEvmBlockchain)
55
45
  .map((chain) => chain.name);
56
46
 
57
- const onUpdateState: EventHandler = (type, event, value, state, meta) => {
47
+ const onUpdateState: EventHandler = (
48
+ type,
49
+ event,
50
+ value,
51
+ state,
52
+ supportedBlockchains
53
+ ) => {
58
54
  if (event === Events.ACCOUNTS) {
59
55
  if (value) {
60
56
  const supportedChainNames: Network[] | null =
61
- walletAndSupportedChainsNames(meta.supportedBlockchains);
57
+ walletAndSupportedChainsNames(supportedBlockchains);
62
58
  const data = prepareAccountsForWalletStore(
63
59
  type,
64
60
  value,
65
61
  evmBasedChainNames,
66
- supportedChainNames,
67
- meta.isContractWallet
62
+ supportedChainNames
68
63
  );
69
- connectWallet(data, tokens);
64
+ connectWallet(data);
70
65
  } else {
71
66
  disconnectWallet(type);
72
67
  }
@@ -96,7 +91,7 @@ function Main(props: PropsWithChildren<PropTypes>) {
96
91
 
97
92
  // propagate updates for Dapps using external wallets
98
93
  if (props.onUpdateState) {
99
- props.onUpdateState(type, event, value, state, meta);
94
+ props.onUpdateState(type, event, value, state, supportedBlockchains);
100
95
  }
101
96
  };
102
97
  return (
@@ -117,12 +112,3 @@ function Main(props: PropsWithChildren<PropTypes>) {
117
112
  </WidgetContext.Provider>
118
113
  );
119
114
  }
120
-
121
- export function WidgetWallets(props: PropsWithChildren<PropTypes>) {
122
- const { config, ...otherProps } = props;
123
- return (
124
- <AppStoreProvider config={config}>
125
- <Main {...otherProps} config={config} />
126
- </AppStoreProvider>
127
- );
128
- }
package/src/Widget.tsx ADDED
@@ -0,0 +1,119 @@
1
+ import type { WidgetConfig } from './types';
2
+ import type { WalletType } from '@rango-dev/wallets-shared';
3
+ import type { PropsWithChildren } from 'react';
4
+
5
+ import { I18nManager, styled } from '@rango-dev/ui';
6
+ import React, { useContext, useEffect, useMemo, useState } from 'react';
7
+
8
+ import { AppRouter } from './components/AppRouter';
9
+ import { AppRoutes } from './components/AppRoutes';
10
+ import { WidgetEvents } from './components/WidgetEvents';
11
+ import { globalFont } from './globalStyles';
12
+ import { useLanguage } from './hooks/useLanguage';
13
+ import { useTheme } from './hooks/useTheme';
14
+ import QueueManager from './QueueManager';
15
+ import { useAppStore } from './store/app';
16
+ import { useMetaStore } from './store/meta';
17
+ import { useNotificationStore } from './store/notification';
18
+ import { useSettingsStore } from './store/settings';
19
+ import { initConfig } from './utils/configs';
20
+ import { WidgetContext, WidgetWallets } from './Wallets';
21
+
22
+ const MainContainer = styled('div', {
23
+ width: '100%',
24
+ display: 'flex',
25
+ justifyContent: 'center',
26
+ alignItems: 'center',
27
+ fontFamily: '$widget',
28
+ boxSizing: 'border-box',
29
+ '& *, *::before, *::after': {
30
+ boxSizing: 'inherit',
31
+ listStyleType: 'none',
32
+ },
33
+ '& *:focus-visible': {
34
+ outlineColor: '$info500',
35
+ transition: 'none',
36
+ },
37
+ });
38
+
39
+ export type WidgetProps = {
40
+ config?: WidgetConfig;
41
+ };
42
+
43
+ export function Main(props: PropsWithChildren<WidgetProps>) {
44
+ const { config } = props;
45
+ globalFont();
46
+
47
+ const { activeTheme } = useTheme(config?.theme || {});
48
+ const { activeLanguage, changeLanguage } = useLanguage();
49
+
50
+ const [lastConnectedWalletWithNetwork, setLastConnectedWalletWithNetwork] =
51
+ useState<string>('');
52
+ const [disconnectedWallet, setDisconnectedWallet] = useState<WalletType>();
53
+ const widgetContext = useContext(WidgetContext);
54
+ const fetchMeta = useMetaStore.use.fetchMeta();
55
+
56
+ useMemo(() => {
57
+ if (config?.apiKey) {
58
+ initConfig({
59
+ API_KEY: config?.apiKey,
60
+ });
61
+ }
62
+ }, [config]);
63
+
64
+ useEffect(() => {
65
+ void fetchMeta();
66
+ void useSettingsStore.persist.rehydrate();
67
+ void useNotificationStore.persist.rehydrate();
68
+ widgetContext.onConnectWallet(setLastConnectedWalletWithNetwork);
69
+ }, []);
70
+
71
+ useEffect(() => {
72
+ if (config?.language) {
73
+ changeLanguage(config.language);
74
+ }
75
+ }, [config?.language]);
76
+
77
+ return (
78
+ <I18nManager language={activeLanguage}>
79
+ <MainContainer id="swap-container" className={activeTheme()}>
80
+ <QueueManager>
81
+ <WidgetEvents />
82
+ <AppRouter
83
+ config={config}
84
+ lastConnectedWallet={lastConnectedWalletWithNetwork}
85
+ disconnectedWallet={disconnectedWallet}
86
+ clearDisconnectedWallet={() => {
87
+ setDisconnectedWallet(undefined);
88
+ }}>
89
+ <AppRoutes config={config} />
90
+ </AppRouter>
91
+ </QueueManager>
92
+ </MainContainer>
93
+ </I18nManager>
94
+ );
95
+ }
96
+
97
+ export function Widget(props: PropsWithChildren<WidgetProps>) {
98
+ const { updateConfig, config } = useAppStore();
99
+ useEffect(() => {
100
+ if (props.config) {
101
+ updateConfig(props.config);
102
+ }
103
+ }, [props.config]);
104
+
105
+ if (!props.config?.externalWallets) {
106
+ return (
107
+ <WidgetWallets
108
+ providers={config?.wallets}
109
+ options={{
110
+ walletConnectProjectId:
111
+ config?.walletConnectProjectId ||
112
+ props.config?.walletConnectProjectId,
113
+ }}>
114
+ <Main {...props} />
115
+ </WidgetWallets>
116
+ );
117
+ }
118
+ return <Main {...props} />;
119
+ }
@@ -1,17 +1,42 @@
1
+ import type { WidgetConfig } from '../types';
1
2
  import type { WalletType } from '@rango-dev/wallets-shared';
2
3
  import type { PropsWithChildren } from 'react';
3
4
 
4
5
  import { useQueueManager } from '@rango-dev/queue-manager-rango-preset';
5
6
  import { useWallets } from '@rango-dev/wallets-react';
6
7
  import { isEvmBlockchain } from 'rango-types';
7
- import React, { Fragment } from 'react';
8
+ import React, { useEffect, useRef } from 'react';
8
9
  import { MemoryRouter, useInRouterContext } from 'react-router';
10
+ import { useLocation, useNavigate } from 'react-router-dom';
9
11
 
10
- import { useForceAutoConnect } from '../hooks/useForceAutoConnect';
11
- import { useAppStore } from '../store/AppStore';
12
+ import { navigationRoutes } from '../constants/navigationRoutes';
13
+ import { Home } from '../pages/Home';
14
+ import { useMetaStore } from '../store/meta';
12
15
 
13
16
  import { UpdateUrl } from './UpdateUrl';
14
17
 
18
+ function Route(props: PropsWithChildren) {
19
+ const location = useLocation();
20
+ const navigate = useNavigate();
21
+ const firstRender = useRef(true);
22
+ const paths = location.pathname.split('/');
23
+ const pathMatched = paths[paths.length - 1] === navigationRoutes.confirmSwap;
24
+ const shouldRedirectToMainPage = pathMatched && firstRender.current;
25
+
26
+ useEffect(() => {
27
+ if (shouldRedirectToMainPage) {
28
+ navigate('.');
29
+ }
30
+ firstRender.current = false;
31
+ }, []);
32
+
33
+ if (shouldRedirectToMainPage) {
34
+ return <Home />;
35
+ }
36
+
37
+ return <> {props.children}</>;
38
+ }
39
+
15
40
  export function AppRouter({
16
41
  children,
17
42
  ...props
@@ -19,14 +44,13 @@ export function AppRouter({
19
44
  lastConnectedWallet: string;
20
45
  disconnectedWallet: WalletType | undefined;
21
46
  clearDisconnectedWallet: () => void;
47
+ config: WidgetConfig | undefined;
22
48
  }) {
23
49
  const isRouterInContext = useInRouterContext();
24
- const Router = isRouterInContext ? Fragment : MemoryRouter;
25
- const blockchains = useAppStore().blockchains();
50
+ const Router = isRouterInContext ? Route : MemoryRouter;
51
+ const { blockchains } = useMetaStore.use.meta();
26
52
  const { canSwitchNetworkTo } = useWallets();
27
53
 
28
- useForceAutoConnect();
29
-
30
54
  const evmChains = blockchains.filter(isEvmBlockchain);
31
55
 
32
56
  useQueueManager({
@@ -40,7 +64,7 @@ export function AppRouter({
40
64
  return (
41
65
  <>
42
66
  <Router>{children}</Router>
43
- {isRouterInContext && <UpdateUrl />}
67
+ {isRouterInContext && <UpdateUrl config={props.config} />}
44
68
  </>
45
69
  );
46
70
  }
@@ -1,3 +1,5 @@
1
+ import type { WidgetConfig } from '../types';
2
+
1
3
  import React from 'react';
2
4
  import { useRoutes } from 'react-router-dom';
3
5
 
@@ -14,7 +16,15 @@ import { SwapDetailsPage } from '../pages/SwapDetailsPage';
14
16
  import { ThemePage } from '../pages/ThemePage';
15
17
  import { WalletsPage } from '../pages/WalletsPage';
16
18
 
17
- export function AppRoutes() {
19
+ const getAbsolutePath = (path: string) => path.replace('/', '');
20
+
21
+ interface PropTypes {
22
+ config?: WidgetConfig;
23
+ }
24
+
25
+ export function AppRoutes(props: PropTypes) {
26
+ const { config } = props;
27
+
18
28
  return useRoutes([
19
29
  {
20
30
  path: navigationRoutes.home,
@@ -22,75 +32,77 @@ export function AppRoutes() {
22
32
  },
23
33
  {
24
34
  path: navigationRoutes.fromSwap,
25
- children: [
26
- {
27
- index: true,
28
- element: <SelectSwapItemsPage type="source" />,
29
- },
30
- {
31
- path: navigationRoutes.blockchains,
32
- element: <SelectBlockchainPage type="source" />,
33
- },
34
- ],
35
+ element: <SelectSwapItemsPage type="source" />,
35
36
  },
36
37
  {
37
38
  path: navigationRoutes.toSwap,
38
- children: [
39
- {
40
- index: true,
41
- element: <SelectSwapItemsPage type="destination" />,
42
- },
43
- {
44
- path: navigationRoutes.blockchains,
45
- element: <SelectBlockchainPage type="destination" />,
46
- },
47
- ],
39
+ element: <SelectSwapItemsPage type="destination" />,
40
+ },
41
+ {
42
+ path: navigationRoutes.fromBlockchain,
43
+ element: <SelectBlockchainPage type="source" />,
44
+ },
45
+ {
46
+ path: navigationRoutes.toBlockchain,
47
+ element: <SelectBlockchainPage type="destination" />,
48
48
  },
49
49
  {
50
50
  path: navigationRoutes.settings,
51
- children: [
52
- {
53
- index: true,
54
- element: <SettingsPage />,
55
- },
56
- {
57
- path: navigationRoutes.themes,
58
- element: <ThemePage />,
59
- },
60
- {
61
- path: navigationRoutes.languages,
62
- element: <LanguagePage />,
63
- },
64
- {
65
- path: navigationRoutes.exchanges,
66
- element: <LiquiditySourcePage sourceType="Exchanges" />,
67
- },
68
- {
69
- path: navigationRoutes.bridges,
70
- element: <LiquiditySourcePage sourceType="Bridges" />,
71
- },
72
- ],
51
+ element: (
52
+ <SettingsPage
53
+ singleTheme={config?.theme?.singleTheme}
54
+ supportedSwappers={config?.liquiditySources}
55
+ />
56
+ ),
57
+ },
58
+ {
59
+ path: navigationRoutes.themes,
60
+ element: <ThemePage />,
61
+ },
62
+ {
63
+ path: navigationRoutes.languages,
64
+ element: <LanguagePage />,
65
+ },
66
+ {
67
+ path: navigationRoutes.exchanges,
68
+ element: (
69
+ <LiquiditySourcePage
70
+ sourceType="Exchanges"
71
+ supportedSwappers={config?.liquiditySources}
72
+ />
73
+ ),
74
+ },
75
+ {
76
+ path: navigationRoutes.bridges,
77
+ element: (
78
+ <LiquiditySourcePage
79
+ sourceType="Bridges"
80
+ supportedSwappers={config?.liquiditySources}
81
+ />
82
+ ),
73
83
  },
84
+ { path: navigationRoutes.swaps, element: <HistoryPage /> },
74
85
  {
75
- path: navigationRoutes.swaps,
76
- children: [
77
- {
78
- index: true,
79
- element: <HistoryPage />,
80
- },
81
- {
82
- path: navigationRoutes.swapDetails,
83
- element: <SwapDetailsPage />,
84
- },
85
- ],
86
+ path: navigationRoutes.swapDetails,
87
+ element: <SwapDetailsPage />,
86
88
  },
87
89
  {
88
90
  path: navigationRoutes.wallets,
89
- element: <WalletsPage />,
91
+ element: (
92
+ <WalletsPage
93
+ supportedWallets={config?.wallets}
94
+ multiWallets={
95
+ typeof config?.multiWallets === 'undefined'
96
+ ? true
97
+ : config.multiWallets
98
+ }
99
+ config={config}
100
+ />
101
+ ),
90
102
  },
91
103
  {
92
- path: navigationRoutes.confirmSwap,
93
- element: <ConfirmSwapPage />,
104
+ path: getAbsolutePath(navigationRoutes.confirmSwap),
105
+ element: <ConfirmSwapPage config={config} />,
94
106
  },
95
107
  ]);
96
108
  }
@@ -1,4 +1,4 @@
1
- import { ImageContainer, styled } from '@rango-dev/ui';
1
+ import { styled } from '@rango-dev/ui';
2
2
 
3
3
  export const Container = styled('div', {
4
4
  display: 'flex',
@@ -12,7 +12,7 @@ export const List = styled('ul', {
12
12
  listStyle: 'none',
13
13
  overflowY: 'auto',
14
14
  paddingRight: '$5',
15
- [`& ${ImageContainer}`]: {
15
+ '.image-container': {
16
16
  borderRadius: '$xm',
17
17
  overflow: 'hidden',
18
18
  },
@@ -11,7 +11,7 @@ import {
11
11
  } from '@rango-dev/ui';
12
12
  import React, { useEffect, useState } from 'react';
13
13
 
14
- import { useAppStore } from '../../store/AppStore';
14
+ import { useMetaStore } from '../../store/meta';
15
15
 
16
16
  import { filterBlockchains } from './BlockchainList.helpers';
17
17
  import { Container, List } from './BlockchainList.styles';
@@ -20,7 +20,7 @@ import { LoadingBlockchainList } from './LoadingBlockchainList';
20
20
  export function BlockchainList(props: PropTypes) {
21
21
  const { list, searchedFor, onChange, blockchainCategory } = props;
22
22
  const [blockchains, setBlockchains] = useState<BlockchainMeta[]>(list);
23
- const { fetchStatus } = useAppStore();
23
+ const loadingStatus = useMetaStore.use.loadingStatus();
24
24
 
25
25
  useEffect(() => {
26
26
  setBlockchains([
@@ -66,8 +66,8 @@ export function BlockchainList(props: PropTypes) {
66
66
  {i18n.t('Select Blockchain')}
67
67
  </Typography>
68
68
  <Divider size={4} />
69
- {fetchStatus === 'loading' && <LoadingBlockchainList />}
70
- {fetchStatus === 'success' && renderList()}
69
+ {loadingStatus === 'loading' && <LoadingBlockchainList />}
70
+ {loadingStatus === 'success' && renderList()}
71
71
  </Container>
72
72
  );
73
73
  }
@@ -1,6 +1,6 @@
1
1
  import { styled } from '@rango-dev/ui';
2
2
 
3
- export const Blockchains = styled('div', {
3
+ export const Container = styled('div', {
4
4
  display: 'grid',
5
5
  gap: '$10',
6
6
  gridTemplateColumns: 'repeat(6, minmax(0, 1fr))',