@lifi/widget 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (808) hide show
  1. package/App.tsx +30 -14
  2. package/AppDrawer.tsx +82 -91
  3. package/AppDrawerContext.ts +9 -0
  4. package/_cjs/App.js +16 -3
  5. package/_cjs/App.js.map +1 -1
  6. package/_cjs/AppDrawer.d.ts +4 -2
  7. package/_cjs/AppDrawer.js +20 -18
  8. package/_cjs/AppDrawer.js.map +1 -1
  9. package/_cjs/AppDrawerContext.d.ts +6 -0
  10. package/_cjs/AppDrawerContext.js +8 -0
  11. package/_cjs/AppDrawerContext.js.map +1 -0
  12. package/_cjs/components/ActiveTransactions/ActiveTransactions.js +1 -3
  13. package/_cjs/components/ActiveTransactions/ActiveTransactions.js.map +1 -1
  14. package/_cjs/components/AmountInput/AmountInput.js +9 -10
  15. package/_cjs/components/AmountInput/AmountInput.js.map +1 -1
  16. package/_cjs/components/AmountInput/AmountInput.style.d.ts +3 -0
  17. package/_cjs/components/AmountInput/AmountInput.style.js +9 -4
  18. package/_cjs/components/AmountInput/AmountInput.style.js.map +1 -1
  19. package/_cjs/components/AmountInput/AmountInputAdornment.style.d.ts +4 -1
  20. package/_cjs/components/AmountInput/AmountInputAdornment.style.js +7 -2
  21. package/_cjs/components/AmountInput/AmountInputAdornment.style.js.map +1 -1
  22. package/_cjs/components/AmountInput/AmountInputEndAdornment.js +2 -2
  23. package/_cjs/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  24. package/_cjs/components/AmountInput/AmountInputStartAdornment.js +2 -2
  25. package/_cjs/components/AmountInput/AmountInputStartAdornment.js.map +1 -1
  26. package/_cjs/components/AmountInput/{FormPriceHelperText.d.ts → PriceFormHelperText.d.ts} +2 -2
  27. package/_cjs/components/AmountInput/{FormPriceHelperText.js → PriceFormHelperText.js} +16 -10
  28. package/_cjs/components/AmountInput/PriceFormHelperText.js.map +1 -0
  29. package/_cjs/components/BaseTransactionButton/BaseTransactionButton.js +6 -6
  30. package/_cjs/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  31. package/_cjs/components/Card/CardHeader.js +6 -5
  32. package/_cjs/components/Card/CardHeader.js.map +1 -1
  33. package/_cjs/components/Card/CardTitle.js +3 -4
  34. package/_cjs/components/Card/CardTitle.js.map +1 -1
  35. package/_cjs/components/ChainSelect/ChainSelect.js +7 -5
  36. package/_cjs/components/ChainSelect/ChainSelect.js.map +1 -1
  37. package/_cjs/components/ChainSelect/useChainSelect.d.ts +1 -1
  38. package/_cjs/components/ChainSelect/useChainSelect.js +3 -3
  39. package/_cjs/components/ChainSelect/useChainSelect.js.map +1 -1
  40. package/_cjs/components/Header/CloseDrawerButton.d.ts +1 -0
  41. package/_cjs/components/Header/CloseDrawerButton.js +16 -0
  42. package/_cjs/components/Header/CloseDrawerButton.js.map +1 -0
  43. package/_cjs/components/Header/EVMDisconnectIconButton.d.ts +4 -0
  44. package/_cjs/components/Header/EVMDisconnectIconButton.js +16 -0
  45. package/_cjs/components/Header/EVMDisconnectIconButton.js.map +1 -0
  46. package/_cjs/components/Header/Header.js +1 -6
  47. package/_cjs/components/Header/Header.js.map +1 -1
  48. package/_cjs/components/Header/Header.style.js +10 -4
  49. package/_cjs/components/Header/Header.style.js.map +1 -1
  50. package/_cjs/components/Header/NavigationHeader.d.ts +0 -1
  51. package/_cjs/components/Header/NavigationHeader.js +7 -11
  52. package/_cjs/components/Header/NavigationHeader.js.map +1 -1
  53. package/_cjs/components/Header/SVMDisconnectIconButton.d.ts +1 -0
  54. package/_cjs/components/Header/SVMDisconnectIconButton.js +16 -0
  55. package/_cjs/components/Header/SVMDisconnectIconButton.js.map +1 -0
  56. package/_cjs/components/Header/SettingsButton.style.js +18 -21
  57. package/_cjs/components/Header/SettingsButton.style.js.map +1 -1
  58. package/_cjs/components/Header/TransactionHistoryButton.d.ts +1 -0
  59. package/_cjs/components/Header/TransactionHistoryButton.js +17 -0
  60. package/_cjs/components/Header/TransactionHistoryButton.js.map +1 -0
  61. package/_cjs/components/Header/WalletHeader.d.ts +1 -0
  62. package/_cjs/components/Header/WalletHeader.js +25 -9
  63. package/_cjs/components/Header/WalletHeader.js.map +1 -1
  64. package/_cjs/components/Header/WalletMenu.js +8 -24
  65. package/_cjs/components/Header/WalletMenu.js.map +1 -1
  66. package/_cjs/components/Insurance/InsuranceCard.js +1 -8
  67. package/_cjs/components/Insurance/InsuranceCard.js.map +1 -1
  68. package/_cjs/components/PageContainer.d.ts +9 -0
  69. package/_cjs/components/PageContainer.js +13 -0
  70. package/_cjs/components/PageContainer.js.map +1 -0
  71. package/_cjs/components/ReverseTokensButton/ReverseTokensButton.js +10 -9
  72. package/_cjs/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  73. package/_cjs/components/ReverseTokensButton/ReverseTokensButton.style.js +3 -0
  74. package/_cjs/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -1
  75. package/_cjs/components/RouteCard/RouteCard.js +6 -6
  76. package/_cjs/components/RouteCard/RouteCard.js.map +1 -1
  77. package/_cjs/components/RouteCard/RouteCard.style.d.ts +3 -0
  78. package/_cjs/components/RouteCard/RouteCard.style.js +7 -2
  79. package/_cjs/components/RouteCard/RouteCard.style.js.map +1 -1
  80. package/_cjs/components/RouteCard/RouteCardEssentials.js +12 -10
  81. package/_cjs/components/RouteCard/RouteCardEssentials.js.map +1 -1
  82. package/_cjs/components/RouteCard/RouteCardEssentialsExpanded.d.ts +3 -0
  83. package/_cjs/components/RouteCard/RouteCardEssentialsExpanded.js +32 -0
  84. package/_cjs/components/RouteCard/RouteCardEssentialsExpanded.js.map +1 -0
  85. package/_cjs/components/RouteCard/RouteCardSkeleton.js +2 -1
  86. package/_cjs/components/RouteCard/RouteCardSkeleton.js.map +1 -1
  87. package/_cjs/components/RouteCard/types.d.ts +6 -2
  88. package/_cjs/components/Routes/Routes.js +1 -1
  89. package/_cjs/components/Routes/Routes.js.map +1 -1
  90. package/_cjs/components/Routes/RoutesExpanded.js +2 -1
  91. package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
  92. package/_cjs/components/SelectTokenButton/SelectTokenButton.js +8 -2
  93. package/_cjs/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
  94. package/_cjs/components/SelectTokenButton/SelectTokenButton.style.js +6 -7
  95. package/_cjs/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
  96. package/_cjs/components/SmallAvatar.js +4 -4
  97. package/_cjs/components/Step/CircularProgress.js +5 -5
  98. package/_cjs/components/Step/CircularProgress.js.map +1 -1
  99. package/_cjs/components/Step/CircularProgress.style.js +3 -4
  100. package/_cjs/components/Step/CircularProgress.style.js.map +1 -1
  101. package/_cjs/components/Step/DestinationWalletAddress.js +2 -2
  102. package/_cjs/components/Step/DestinationWalletAddress.js.map +1 -1
  103. package/_cjs/components/Step/Step.js +1 -2
  104. package/_cjs/components/Step/Step.js.map +1 -1
  105. package/_cjs/components/Step/StepProcess.js +1 -1
  106. package/_cjs/components/Step/StepProcess.js.map +1 -1
  107. package/_cjs/components/Step/StepTimer.js +9 -8
  108. package/_cjs/components/Step/StepTimer.js.map +1 -1
  109. package/_cjs/components/StepActions/StepActions.js +15 -18
  110. package/_cjs/components/StepActions/StepActions.js.map +1 -1
  111. package/_cjs/components/StepActions/StepActions.style.d.ts +8 -1
  112. package/_cjs/components/StepActions/StepActions.style.js +27 -17
  113. package/_cjs/components/StepActions/StepActions.style.js.map +1 -1
  114. package/_cjs/components/{Step/GasStepProcess.d.ts → StepActions/StepFeeBreakdown.d.ts} +1 -1
  115. package/_cjs/components/StepActions/StepFeeBreakdown.js +45 -0
  116. package/_cjs/components/StepActions/StepFeeBreakdown.js.map +1 -0
  117. package/_cjs/components/StepActions/StepFees.d.ts +6 -0
  118. package/_cjs/components/StepActions/StepFees.js +28 -0
  119. package/_cjs/components/StepActions/StepFees.js.map +1 -0
  120. package/_cjs/components/Token/Token.d.ts +6 -5
  121. package/_cjs/components/Token/Token.js +31 -15
  122. package/_cjs/components/Token/Token.js.map +1 -1
  123. package/_cjs/components/Token/Token.style.d.ts +1 -4
  124. package/_cjs/components/Token/Token.style.js +6 -21
  125. package/_cjs/components/Token/Token.style.js.map +1 -1
  126. package/_cjs/components/TokenAvatar/TokenAvatar.d.ts +3 -0
  127. package/_cjs/components/TokenAvatar/TokenAvatar.js +7 -3
  128. package/_cjs/components/TokenAvatar/TokenAvatar.js.map +1 -1
  129. package/_cjs/components/TokenAvatar/TokenAvatar.style.js +23 -13
  130. package/_cjs/components/TokenAvatar/TokenAvatar.style.js.map +1 -1
  131. package/_cjs/components/TokenList/TokenList.js +3 -4
  132. package/_cjs/components/TokenList/TokenList.js.map +1 -1
  133. package/_cjs/components/TokenList/TokenList.style.js +7 -5
  134. package/_cjs/components/TokenList/TokenList.style.js.map +1 -1
  135. package/_cjs/components/TokenList/TokenListItem.js +7 -4
  136. package/_cjs/components/TokenList/TokenListItem.js.map +1 -1
  137. package/_cjs/components/TokenList/VirtualizedTokenList.js +4 -2
  138. package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
  139. package/_cjs/components/TokenList/types.d.ts +3 -4
  140. package/_cjs/components/TokenList/useTokenSelect.js +6 -4
  141. package/_cjs/components/TokenList/useTokenSelect.js.map +1 -1
  142. package/_cjs/config/queryClient.js +0 -1
  143. package/_cjs/config/queryClient.js.map +1 -1
  144. package/_cjs/config/theme.js +2 -9
  145. package/_cjs/config/theme.js.map +1 -1
  146. package/_cjs/config/version.d.ts +1 -1
  147. package/_cjs/config/version.js +1 -1
  148. package/_cjs/config/walletConnect.d.ts +1 -0
  149. package/_cjs/config/walletConnect.js +5 -0
  150. package/_cjs/config/walletConnect.js.map +1 -0
  151. package/_cjs/hooks/useAccount.d.ts +4 -1
  152. package/_cjs/hooks/useAccount.js +5 -16
  153. package/_cjs/hooks/useAccount.js.map +1 -1
  154. package/_cjs/hooks/useAvailableChains.js +12 -6
  155. package/_cjs/hooks/useAvailableChains.js.map +1 -1
  156. package/_cjs/hooks/useChains.d.ts +2 -1
  157. package/_cjs/hooks/useChains.js +7 -3
  158. package/_cjs/hooks/useChains.js.map +1 -1
  159. package/_cjs/hooks/useDebouncedWatch.d.ts +1 -2
  160. package/_cjs/hooks/useDebouncedWatch.js +1 -1
  161. package/_cjs/hooks/useDebouncedWatch.js.map +1 -1
  162. package/_cjs/hooks/useFromTokenSufficiency.js +8 -7
  163. package/_cjs/hooks/useFromTokenSufficiency.js.map +1 -1
  164. package/_cjs/hooks/useGasRecommendation.d.ts +1 -1
  165. package/_cjs/hooks/useGasRecommendation.js.map +1 -1
  166. package/_cjs/hooks/useGasRefuel.js +2 -2
  167. package/_cjs/hooks/useGasRefuel.js.map +1 -1
  168. package/_cjs/hooks/useGasSufficiency.js +7 -6
  169. package/_cjs/hooks/useGasSufficiency.js.map +1 -1
  170. package/_cjs/hooks/useRouteExecution.js +5 -5
  171. package/_cjs/hooks/useRouteExecution.js.map +1 -1
  172. package/_cjs/hooks/useRoutes.d.ts +1 -1
  173. package/_cjs/hooks/useRoutes.js +22 -15
  174. package/_cjs/hooks/useRoutes.js.map +1 -1
  175. package/_cjs/hooks/useTokenAddressBalance.d.ts +2 -1
  176. package/_cjs/hooks/useTokenAddressBalance.js +2 -1
  177. package/_cjs/hooks/useTokenAddressBalance.js.map +1 -1
  178. package/_cjs/hooks/useTokenBalance.d.ts +1 -1
  179. package/_cjs/hooks/useTokenBalance.js +8 -19
  180. package/_cjs/hooks/useTokenBalance.js.map +1 -1
  181. package/_cjs/hooks/useTokenBalances.d.ts +2 -1
  182. package/_cjs/hooks/useTokenBalances.js +1 -0
  183. package/_cjs/hooks/useTokenBalances.js.map +1 -1
  184. package/_cjs/hooks/useTools.js +3 -2
  185. package/_cjs/hooks/useTools.js.map +1 -1
  186. package/_cjs/hooks/useTransactionHistory.d.ts +2 -2
  187. package/_cjs/hooks/useTransactionHistory.js +32 -23
  188. package/_cjs/hooks/useTransactionHistory.js.map +1 -1
  189. package/_cjs/i18n/en.json +10 -6
  190. package/_cjs/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +3 -4
  191. package/_cjs/pages/ActiveTransactionsPage/ActiveTransactionsPage.js.map +1 -1
  192. package/_cjs/pages/LanguagesPage/LanguagesPage.js +2 -1
  193. package/_cjs/pages/LanguagesPage/LanguagesPage.js.map +1 -1
  194. package/_cjs/pages/MainPage/MainPage.js +2 -2
  195. package/_cjs/pages/MainPage/MainPage.js.map +1 -1
  196. package/_cjs/pages/RoutesPage/RoutesPage.js +2 -2
  197. package/_cjs/pages/RoutesPage/RoutesPage.js.map +1 -1
  198. package/_cjs/pages/SelectChainPage/SelectChainPage.js +2 -1
  199. package/_cjs/pages/SelectChainPage/SelectChainPage.js.map +1 -1
  200. package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +2 -1
  201. package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
  202. package/_cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +2 -1
  203. package/_cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js.map +1 -1
  204. package/_cjs/pages/SelectTokenPage/SearchTokenInput.js +2 -2
  205. package/_cjs/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
  206. package/_cjs/pages/SelectTokenPage/SelectTokenPage.js +2 -1
  207. package/_cjs/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  208. package/_cjs/pages/SelectWalletPage/SelectWalletPage.js +2 -1
  209. package/_cjs/pages/SelectWalletPage/SelectWalletPage.js.map +1 -1
  210. package/_cjs/pages/SettingsPage/ResetSettingsButton.js +1 -1
  211. package/_cjs/pages/SettingsPage/ResetSettingsButton.js.map +1 -1
  212. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.js +1 -1
  213. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js +7 -6
  214. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
  215. package/_cjs/pages/SettingsPage/SettingsPage.js +6 -6
  216. package/_cjs/pages/SettingsPage/SettingsPage.js.map +1 -1
  217. package/_cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.js +6 -7
  218. package/_cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  219. package/_cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +1 -1
  220. package/_cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -1
  221. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.js +2 -2
  222. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  223. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +6 -14
  224. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -1
  225. package/_cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js +1 -1
  226. package/_cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
  227. package/_cjs/pages/TransactionHistoryPage/TransactionHistoryPage.js +3 -2
  228. package/_cjs/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
  229. package/_cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.d.ts +1 -1
  230. package/_cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +4 -9
  231. package/_cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.js.map +1 -1
  232. package/_cjs/pages/TransactionPage/StatusBottomSheet.js +13 -9
  233. package/_cjs/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  234. package/_cjs/pages/TransactionPage/TransactionPage.js +2 -2
  235. package/_cjs/pages/TransactionPage/TransactionPage.js.map +1 -1
  236. package/_cjs/providers/I18nProvider/I18nProvider.js +2 -1
  237. package/_cjs/providers/I18nProvider/I18nProvider.js.map +1 -1
  238. package/_cjs/providers/WalletProvider/EVMBaseProvider.d.ts +2 -0
  239. package/_cjs/providers/WalletProvider/EVMBaseProvider.js +91 -0
  240. package/_cjs/providers/WalletProvider/EVMBaseProvider.js.map +1 -0
  241. package/_cjs/providers/WalletProvider/EVMExternalContext.d.ts +2 -0
  242. package/_cjs/providers/WalletProvider/EVMExternalContext.js +6 -0
  243. package/_cjs/providers/WalletProvider/EVMExternalContext.js.map +1 -0
  244. package/_cjs/providers/WalletProvider/EVMProvider.d.ts +1 -1
  245. package/_cjs/providers/WalletProvider/EVMProvider.js +13 -70
  246. package/_cjs/providers/WalletProvider/EVMProvider.js.map +1 -1
  247. package/_cjs/providers/WalletProvider/SDKProviders.js +15 -7
  248. package/_cjs/providers/WalletProvider/SDKProviders.js.map +1 -1
  249. package/_cjs/providers/WalletProvider/SVMBaseProvider.d.ts +2 -0
  250. package/_cjs/providers/WalletProvider/{SolanaProvider.js → SVMBaseProvider.js} +4 -14
  251. package/_cjs/providers/WalletProvider/SVMBaseProvider.js.map +1 -0
  252. package/_cjs/providers/WalletProvider/SVMExternalContext.d.ts +2 -0
  253. package/_cjs/providers/WalletProvider/SVMExternalContext.js +6 -0
  254. package/_cjs/providers/WalletProvider/SVMExternalContext.js.map +1 -0
  255. package/_cjs/providers/WalletProvider/SVMProvider.d.ts +3 -0
  256. package/_cjs/providers/WalletProvider/SVMProvider.js +23 -0
  257. package/_cjs/providers/WalletProvider/SVMProvider.js.map +1 -0
  258. package/_cjs/providers/WalletProvider/WalletProvider.js +2 -2
  259. package/_cjs/providers/WalletProvider/WalletProvider.js.map +1 -1
  260. package/_cjs/providers/WalletProvider/index.d.ts +1 -0
  261. package/_cjs/providers/WalletProvider/index.js +1 -0
  262. package/_cjs/providers/WalletProvider/index.js.map +1 -1
  263. package/_cjs/providers/WalletProvider/useHasExternalWalletProvider.d.ts +7 -0
  264. package/_cjs/providers/WalletProvider/useHasExternalWalletProvider.js +27 -0
  265. package/_cjs/providers/WalletProvider/useHasExternalWalletProvider.js.map +1 -0
  266. package/_cjs/providers/WidgetProvider/WidgetProvider.js.map +1 -1
  267. package/_cjs/providers/WidgetProvider/index.d.ts +1 -2
  268. package/_cjs/providers/WidgetProvider/index.js +1 -2
  269. package/_cjs/providers/WidgetProvider/index.js.map +1 -1
  270. package/_cjs/stores/StoreProvider.js +3 -3
  271. package/_cjs/stores/StoreProvider.js.map +1 -1
  272. package/_cjs/stores/chains/ChainOrderStore.js +19 -16
  273. package/_cjs/stores/chains/ChainOrderStore.js.map +1 -1
  274. package/_cjs/stores/chains/createChainOrderStore.js +34 -15
  275. package/_cjs/stores/chains/createChainOrderStore.js.map +1 -1
  276. package/_cjs/stores/chains/types.d.ts +11 -4
  277. package/_cjs/stores/chains/useChainOrder.d.ts +2 -1
  278. package/_cjs/stores/chains/useChainOrder.js +2 -2
  279. package/_cjs/stores/chains/useChainOrder.js.map +1 -1
  280. package/_cjs/stores/form/FormStore.d.ts +1 -1
  281. package/_cjs/stores/form/FormStore.js +10 -15
  282. package/_cjs/stores/form/FormStore.js.map +1 -1
  283. package/_cjs/stores/form/FormUpdater.d.ts +3 -3
  284. package/_cjs/stores/form/FormUpdater.js +6 -7
  285. package/_cjs/stores/form/FormUpdater.js.map +1 -1
  286. package/_cjs/stores/form/URLSearchParamsBuilder.js +3 -2
  287. package/_cjs/stores/form/URLSearchParamsBuilder.js.map +1 -1
  288. package/_cjs/stores/form/createFormStore.d.ts +1 -1
  289. package/_cjs/stores/form/createFormStore.js +121 -115
  290. package/_cjs/stores/form/createFormStore.js.map +1 -1
  291. package/_cjs/stores/form/types.d.ts +21 -35
  292. package/_cjs/stores/form/types.js +1 -16
  293. package/_cjs/stores/form/types.js.map +1 -1
  294. package/_cjs/stores/form/useFieldActions.js +9 -10
  295. package/_cjs/stores/form/useFieldActions.js.map +1 -1
  296. package/_cjs/stores/form/useFieldController.d.ts +1 -1
  297. package/_cjs/stores/form/useFieldValues.d.ts +2 -2
  298. package/_cjs/stores/form/useFieldValues.js +3 -2
  299. package/_cjs/stores/form/useFieldValues.js.map +1 -1
  300. package/_cjs/stores/form/useTouchedFields.d.ts +14 -1
  301. package/_cjs/stores/form/useValidationActions.js +7 -11
  302. package/_cjs/stores/form/useValidationActions.js.map +1 -1
  303. package/_cjs/stores/routes/useExecutingRoutesIds.d.ts +1 -1
  304. package/_cjs/stores/routes/useExecutingRoutesIds.js +5 -2
  305. package/_cjs/stores/routes/useExecutingRoutesIds.js.map +1 -1
  306. package/_cjs/stores/settings/useSettingsStore.d.ts +1 -0
  307. package/_cjs/stores/settings/useSettingsStore.js +3 -2
  308. package/_cjs/stores/settings/useSettingsStore.js.map +1 -1
  309. package/_cjs/types/widget.d.ts +26 -23
  310. package/_cjs/types/widget.js +1 -0
  311. package/_cjs/types/widget.js.map +1 -1
  312. package/_cjs/utils/converters.js +12 -6
  313. package/_cjs/utils/converters.js.map +1 -1
  314. package/_cjs/utils/fees.d.ts +9 -0
  315. package/_cjs/{components/RouteCard/utils.js → utils/fees.js} +15 -8
  316. package/_cjs/utils/fees.js.map +1 -0
  317. package/_cjs/utils/index.d.ts +2 -0
  318. package/_cjs/utils/index.js +2 -0
  319. package/_cjs/utils/index.js.map +1 -1
  320. package/_cjs/utils/item.d.ts +2 -0
  321. package/_cjs/{providers/WidgetProvider/utils.js → utils/item.js} +1 -1
  322. package/_cjs/utils/item.js.map +1 -0
  323. package/_esm/App.js +16 -3
  324. package/_esm/App.js.map +1 -1
  325. package/_esm/AppDrawer.d.ts +4 -2
  326. package/_esm/AppDrawer.js +21 -19
  327. package/_esm/AppDrawer.js.map +1 -1
  328. package/_esm/AppDrawerContext.d.ts +6 -0
  329. package/_esm/AppDrawerContext.js +4 -0
  330. package/_esm/AppDrawerContext.js.map +1 -0
  331. package/_esm/components/ActiveTransactions/ActiveTransactions.js +1 -3
  332. package/_esm/components/ActiveTransactions/ActiveTransactions.js.map +1 -1
  333. package/_esm/components/AmountInput/AmountInput.js +8 -9
  334. package/_esm/components/AmountInput/AmountInput.js.map +1 -1
  335. package/_esm/components/AmountInput/AmountInput.style.d.ts +3 -0
  336. package/_esm/components/AmountInput/AmountInput.style.js +9 -4
  337. package/_esm/components/AmountInput/AmountInput.style.js.map +1 -1
  338. package/_esm/components/AmountInput/AmountInputAdornment.style.d.ts +4 -1
  339. package/_esm/components/AmountInput/AmountInputAdornment.style.js +7 -2
  340. package/_esm/components/AmountInput/AmountInputAdornment.style.js.map +1 -1
  341. package/_esm/components/AmountInput/AmountInputEndAdornment.js +4 -4
  342. package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  343. package/_esm/components/AmountInput/AmountInputStartAdornment.js +2 -2
  344. package/_esm/components/AmountInput/AmountInputStartAdornment.js.map +1 -1
  345. package/_esm/components/AmountInput/{FormPriceHelperText.d.ts → PriceFormHelperText.d.ts} +2 -2
  346. package/_esm/components/AmountInput/{FormPriceHelperText.js → PriceFormHelperText.js} +13 -7
  347. package/_esm/components/AmountInput/PriceFormHelperText.js.map +1 -0
  348. package/_esm/components/BaseTransactionButton/BaseTransactionButton.js +6 -6
  349. package/_esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  350. package/_esm/components/Card/CardHeader.js +6 -5
  351. package/_esm/components/Card/CardHeader.js.map +1 -1
  352. package/_esm/components/Card/CardTitle.js +3 -4
  353. package/_esm/components/Card/CardTitle.js.map +1 -1
  354. package/_esm/components/ChainSelect/ChainSelect.js +8 -6
  355. package/_esm/components/ChainSelect/ChainSelect.js.map +1 -1
  356. package/_esm/components/ChainSelect/useChainSelect.d.ts +1 -1
  357. package/_esm/components/ChainSelect/useChainSelect.js +4 -4
  358. package/_esm/components/ChainSelect/useChainSelect.js.map +1 -1
  359. package/_esm/components/Header/CloseDrawerButton.d.ts +1 -0
  360. package/_esm/components/Header/CloseDrawerButton.js +12 -0
  361. package/_esm/components/Header/CloseDrawerButton.js.map +1 -0
  362. package/_esm/components/Header/EVMDisconnectIconButton.d.ts +4 -0
  363. package/_esm/components/Header/EVMDisconnectIconButton.js +12 -0
  364. package/_esm/components/Header/EVMDisconnectIconButton.js.map +1 -0
  365. package/_esm/components/Header/Header.js +1 -6
  366. package/_esm/components/Header/Header.js.map +1 -1
  367. package/_esm/components/Header/Header.style.js +10 -4
  368. package/_esm/components/Header/Header.style.js.map +1 -1
  369. package/_esm/components/Header/NavigationHeader.d.ts +0 -1
  370. package/_esm/components/Header/NavigationHeader.js +8 -11
  371. package/_esm/components/Header/NavigationHeader.js.map +1 -1
  372. package/_esm/components/Header/SVMDisconnectIconButton.d.ts +1 -0
  373. package/_esm/components/Header/SVMDisconnectIconButton.js +12 -0
  374. package/_esm/components/Header/SVMDisconnectIconButton.js.map +1 -0
  375. package/_esm/components/Header/SettingsButton.style.js +18 -21
  376. package/_esm/components/Header/SettingsButton.style.js.map +1 -1
  377. package/_esm/components/Header/TransactionHistoryButton.d.ts +1 -0
  378. package/_esm/components/Header/TransactionHistoryButton.js +13 -0
  379. package/_esm/components/Header/TransactionHistoryButton.js.map +1 -0
  380. package/_esm/components/Header/WalletHeader.d.ts +1 -0
  381. package/_esm/components/Header/WalletHeader.js +24 -9
  382. package/_esm/components/Header/WalletHeader.js.map +1 -1
  383. package/_esm/components/Header/WalletMenu.js +7 -23
  384. package/_esm/components/Header/WalletMenu.js.map +1 -1
  385. package/_esm/components/Insurance/InsuranceCard.js +2 -9
  386. package/_esm/components/Insurance/InsuranceCard.js.map +1 -1
  387. package/_esm/components/PageContainer.d.ts +9 -0
  388. package/_esm/components/PageContainer.js +10 -0
  389. package/_esm/components/PageContainer.js.map +1 -0
  390. package/_esm/components/ReverseTokensButton/ReverseTokensButton.js +10 -9
  391. package/_esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  392. package/_esm/components/ReverseTokensButton/ReverseTokensButton.style.js +3 -0
  393. package/_esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -1
  394. package/_esm/components/RouteCard/RouteCard.js +6 -6
  395. package/_esm/components/RouteCard/RouteCard.js.map +1 -1
  396. package/_esm/components/RouteCard/RouteCard.style.d.ts +3 -0
  397. package/_esm/components/RouteCard/RouteCard.style.js +7 -2
  398. package/_esm/components/RouteCard/RouteCard.style.js.map +1 -1
  399. package/_esm/components/RouteCard/RouteCardEssentials.js +12 -10
  400. package/_esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  401. package/_esm/components/RouteCard/RouteCardEssentialsExpanded.d.ts +3 -0
  402. package/_esm/components/RouteCard/RouteCardEssentialsExpanded.js +28 -0
  403. package/_esm/components/RouteCard/RouteCardEssentialsExpanded.js.map +1 -0
  404. package/_esm/components/RouteCard/RouteCardSkeleton.js +2 -1
  405. package/_esm/components/RouteCard/RouteCardSkeleton.js.map +1 -1
  406. package/_esm/components/RouteCard/types.d.ts +6 -2
  407. package/_esm/components/Routes/Routes.js +1 -1
  408. package/_esm/components/Routes/Routes.js.map +1 -1
  409. package/_esm/components/Routes/RoutesExpanded.js +2 -1
  410. package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
  411. package/_esm/components/SelectTokenButton/SelectTokenButton.js +9 -3
  412. package/_esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
  413. package/_esm/components/SelectTokenButton/SelectTokenButton.style.js +6 -7
  414. package/_esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
  415. package/_esm/components/SmallAvatar.js +4 -4
  416. package/_esm/components/Step/CircularProgress.js +5 -5
  417. package/_esm/components/Step/CircularProgress.js.map +1 -1
  418. package/_esm/components/Step/CircularProgress.style.js +3 -4
  419. package/_esm/components/Step/CircularProgress.style.js.map +1 -1
  420. package/_esm/components/Step/DestinationWalletAddress.js +2 -2
  421. package/_esm/components/Step/DestinationWalletAddress.js.map +1 -1
  422. package/_esm/components/Step/Step.js +1 -2
  423. package/_esm/components/Step/Step.js.map +1 -1
  424. package/_esm/components/Step/StepProcess.js +1 -1
  425. package/_esm/components/Step/StepProcess.js.map +1 -1
  426. package/_esm/components/Step/StepTimer.js +9 -8
  427. package/_esm/components/Step/StepTimer.js.map +1 -1
  428. package/_esm/components/StepActions/StepActions.js +16 -19
  429. package/_esm/components/StepActions/StepActions.js.map +1 -1
  430. package/_esm/components/StepActions/StepActions.style.d.ts +8 -1
  431. package/_esm/components/StepActions/StepActions.style.js +27 -17
  432. package/_esm/components/StepActions/StepActions.style.js.map +1 -1
  433. package/_esm/components/{Step/GasStepProcess.d.ts → StepActions/StepFeeBreakdown.d.ts} +1 -1
  434. package/_esm/components/StepActions/StepFeeBreakdown.js +41 -0
  435. package/_esm/components/StepActions/StepFeeBreakdown.js.map +1 -0
  436. package/_esm/components/StepActions/StepFees.d.ts +6 -0
  437. package/_esm/components/StepActions/StepFees.js +24 -0
  438. package/_esm/components/StepActions/StepFees.js.map +1 -0
  439. package/_esm/components/Token/Token.d.ts +6 -5
  440. package/_esm/components/Token/Token.js +31 -16
  441. package/_esm/components/Token/Token.js.map +1 -1
  442. package/_esm/components/Token/Token.style.d.ts +1 -4
  443. package/_esm/components/Token/Token.style.js +6 -21
  444. package/_esm/components/Token/Token.style.js.map +1 -1
  445. package/_esm/components/TokenAvatar/TokenAvatar.d.ts +3 -0
  446. package/_esm/components/TokenAvatar/TokenAvatar.js +5 -2
  447. package/_esm/components/TokenAvatar/TokenAvatar.js.map +1 -1
  448. package/_esm/components/TokenAvatar/TokenAvatar.style.js +23 -13
  449. package/_esm/components/TokenAvatar/TokenAvatar.style.js.map +1 -1
  450. package/_esm/components/TokenList/TokenList.js +4 -5
  451. package/_esm/components/TokenList/TokenList.js.map +1 -1
  452. package/_esm/components/TokenList/TokenList.style.js +7 -5
  453. package/_esm/components/TokenList/TokenList.style.js.map +1 -1
  454. package/_esm/components/TokenList/TokenListItem.js +7 -4
  455. package/_esm/components/TokenList/TokenListItem.js.map +1 -1
  456. package/_esm/components/TokenList/VirtualizedTokenList.js +4 -2
  457. package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  458. package/_esm/components/TokenList/types.d.ts +3 -4
  459. package/_esm/components/TokenList/useTokenSelect.js +7 -5
  460. package/_esm/components/TokenList/useTokenSelect.js.map +1 -1
  461. package/_esm/config/queryClient.js +0 -1
  462. package/_esm/config/queryClient.js.map +1 -1
  463. package/_esm/config/theme.js +2 -9
  464. package/_esm/config/theme.js.map +1 -1
  465. package/_esm/config/version.d.ts +1 -1
  466. package/_esm/config/version.js +1 -1
  467. package/_esm/config/walletConnect.d.ts +1 -0
  468. package/_esm/config/walletConnect.js +2 -0
  469. package/_esm/config/walletConnect.js.map +1 -0
  470. package/_esm/hooks/useAccount.d.ts +4 -1
  471. package/_esm/hooks/useAccount.js +5 -15
  472. package/_esm/hooks/useAccount.js.map +1 -1
  473. package/_esm/hooks/useAvailableChains.js +12 -6
  474. package/_esm/hooks/useAvailableChains.js.map +1 -1
  475. package/_esm/hooks/useChains.d.ts +2 -1
  476. package/_esm/hooks/useChains.js +8 -4
  477. package/_esm/hooks/useChains.js.map +1 -1
  478. package/_esm/hooks/useDebouncedWatch.d.ts +1 -2
  479. package/_esm/hooks/useDebouncedWatch.js +1 -1
  480. package/_esm/hooks/useDebouncedWatch.js.map +1 -1
  481. package/_esm/hooks/useFromTokenSufficiency.js +8 -7
  482. package/_esm/hooks/useFromTokenSufficiency.js.map +1 -1
  483. package/_esm/hooks/useGasRecommendation.d.ts +1 -1
  484. package/_esm/hooks/useGasRecommendation.js.map +1 -1
  485. package/_esm/hooks/useGasRefuel.js +2 -2
  486. package/_esm/hooks/useGasRefuel.js.map +1 -1
  487. package/_esm/hooks/useGasSufficiency.js +7 -6
  488. package/_esm/hooks/useGasSufficiency.js.map +1 -1
  489. package/_esm/hooks/useRouteExecution.js +5 -5
  490. package/_esm/hooks/useRouteExecution.js.map +1 -1
  491. package/_esm/hooks/useRoutes.d.ts +1 -1
  492. package/_esm/hooks/useRoutes.js +23 -16
  493. package/_esm/hooks/useRoutes.js.map +1 -1
  494. package/_esm/hooks/useTokenAddressBalance.d.ts +2 -1
  495. package/_esm/hooks/useTokenAddressBalance.js +2 -1
  496. package/_esm/hooks/useTokenAddressBalance.js.map +1 -1
  497. package/_esm/hooks/useTokenBalance.d.ts +1 -1
  498. package/_esm/hooks/useTokenBalance.js +8 -19
  499. package/_esm/hooks/useTokenBalance.js.map +1 -1
  500. package/_esm/hooks/useTokenBalances.d.ts +2 -1
  501. package/_esm/hooks/useTokenBalances.js +1 -0
  502. package/_esm/hooks/useTokenBalances.js.map +1 -1
  503. package/_esm/hooks/useTools.js +2 -1
  504. package/_esm/hooks/useTools.js.map +1 -1
  505. package/_esm/hooks/useTransactionHistory.d.ts +2 -2
  506. package/_esm/hooks/useTransactionHistory.js +33 -24
  507. package/_esm/hooks/useTransactionHistory.js.map +1 -1
  508. package/_esm/i18n/en.json +10 -6
  509. package/_esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +4 -5
  510. package/_esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js.map +1 -1
  511. package/_esm/pages/LanguagesPage/LanguagesPage.js +3 -2
  512. package/_esm/pages/LanguagesPage/LanguagesPage.js.map +1 -1
  513. package/_esm/pages/MainPage/MainPage.js +2 -2
  514. package/_esm/pages/MainPage/MainPage.js.map +1 -1
  515. package/_esm/pages/RoutesPage/RoutesPage.js +2 -2
  516. package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  517. package/_esm/pages/SelectChainPage/SelectChainPage.js +3 -2
  518. package/_esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
  519. package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +3 -2
  520. package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
  521. package/_esm/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +3 -2
  522. package/_esm/pages/SelectNativeTokenPage/SelectNativeTokenPage.js.map +1 -1
  523. package/_esm/pages/SelectTokenPage/SearchTokenInput.js +2 -2
  524. package/_esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
  525. package/_esm/pages/SelectTokenPage/SelectTokenPage.js +3 -2
  526. package/_esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  527. package/_esm/pages/SelectWalletPage/SelectWalletPage.js +3 -2
  528. package/_esm/pages/SelectWalletPage/SelectWalletPage.js.map +1 -1
  529. package/_esm/pages/SettingsPage/ResetSettingsButton.js +1 -1
  530. package/_esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -1
  531. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.js +1 -1
  532. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +7 -6
  533. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
  534. package/_esm/pages/SettingsPage/SettingsPage.js +6 -6
  535. package/_esm/pages/SettingsPage/SettingsPage.js.map +1 -1
  536. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +7 -8
  537. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  538. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +1 -1
  539. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -1
  540. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +2 -2
  541. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  542. package/_esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +7 -15
  543. package/_esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -1
  544. package/_esm/pages/TransactionHistoryPage/TransactionHistoryItem.js +1 -1
  545. package/_esm/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
  546. package/_esm/pages/TransactionHistoryPage/TransactionHistoryPage.js +5 -4
  547. package/_esm/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
  548. package/_esm/pages/TransactionHistoryPage/TransactionHistorySkeleton.d.ts +1 -1
  549. package/_esm/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +3 -8
  550. package/_esm/pages/TransactionHistoryPage/TransactionHistorySkeleton.js.map +1 -1
  551. package/_esm/pages/TransactionPage/StatusBottomSheet.js +13 -9
  552. package/_esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  553. package/_esm/pages/TransactionPage/TransactionPage.js +2 -2
  554. package/_esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  555. package/_esm/providers/I18nProvider/I18nProvider.js +3 -2
  556. package/_esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  557. package/_esm/providers/WalletProvider/EVMBaseProvider.d.ts +2 -0
  558. package/_esm/providers/WalletProvider/EVMBaseProvider.js +87 -0
  559. package/_esm/providers/WalletProvider/EVMBaseProvider.js.map +1 -0
  560. package/_esm/providers/WalletProvider/EVMExternalContext.d.ts +2 -0
  561. package/_esm/providers/WalletProvider/EVMExternalContext.js +3 -0
  562. package/_esm/providers/WalletProvider/EVMExternalContext.js.map +1 -0
  563. package/_esm/providers/WalletProvider/EVMProvider.d.ts +1 -1
  564. package/_esm/providers/WalletProvider/EVMProvider.js +13 -70
  565. package/_esm/providers/WalletProvider/EVMProvider.js.map +1 -1
  566. package/_esm/providers/WalletProvider/SDKProviders.js +15 -7
  567. package/_esm/providers/WalletProvider/SDKProviders.js.map +1 -1
  568. package/_esm/providers/WalletProvider/SVMBaseProvider.d.ts +2 -0
  569. package/_esm/providers/WalletProvider/{SolanaProvider.js → SVMBaseProvider.js} +3 -12
  570. package/_esm/providers/WalletProvider/SVMBaseProvider.js.map +1 -0
  571. package/_esm/providers/WalletProvider/SVMExternalContext.d.ts +2 -0
  572. package/_esm/providers/WalletProvider/SVMExternalContext.js +3 -0
  573. package/_esm/providers/WalletProvider/SVMExternalContext.js.map +1 -0
  574. package/_esm/providers/WalletProvider/SVMProvider.d.ts +3 -0
  575. package/_esm/providers/WalletProvider/SVMProvider.js +18 -0
  576. package/_esm/providers/WalletProvider/SVMProvider.js.map +1 -0
  577. package/_esm/providers/WalletProvider/WalletProvider.js +2 -2
  578. package/_esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  579. package/_esm/providers/WalletProvider/index.d.ts +1 -0
  580. package/_esm/providers/WalletProvider/index.js +1 -0
  581. package/_esm/providers/WalletProvider/index.js.map +1 -1
  582. package/_esm/providers/WalletProvider/useHasExternalWalletProvider.d.ts +7 -0
  583. package/_esm/providers/WalletProvider/useHasExternalWalletProvider.js +23 -0
  584. package/_esm/providers/WalletProvider/useHasExternalWalletProvider.js.map +1 -0
  585. package/_esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
  586. package/_esm/providers/WidgetProvider/index.d.ts +1 -2
  587. package/_esm/providers/WidgetProvider/index.js +1 -2
  588. package/_esm/providers/WidgetProvider/index.js.map +1 -1
  589. package/_esm/stores/StoreProvider.js +3 -3
  590. package/_esm/stores/StoreProvider.js.map +1 -1
  591. package/_esm/stores/chains/ChainOrderStore.js +18 -15
  592. package/_esm/stores/chains/ChainOrderStore.js.map +1 -1
  593. package/_esm/stores/chains/createChainOrderStore.js +34 -15
  594. package/_esm/stores/chains/createChainOrderStore.js.map +1 -1
  595. package/_esm/stores/chains/types.d.ts +11 -4
  596. package/_esm/stores/chains/useChainOrder.d.ts +2 -1
  597. package/_esm/stores/chains/useChainOrder.js +2 -2
  598. package/_esm/stores/chains/useChainOrder.js.map +1 -1
  599. package/_esm/stores/form/FormStore.d.ts +1 -1
  600. package/_esm/stores/form/FormStore.js +12 -17
  601. package/_esm/stores/form/FormStore.js.map +1 -1
  602. package/_esm/stores/form/FormUpdater.d.ts +3 -3
  603. package/_esm/stores/form/FormUpdater.js +5 -6
  604. package/_esm/stores/form/FormUpdater.js.map +1 -1
  605. package/_esm/stores/form/URLSearchParamsBuilder.js +3 -2
  606. package/_esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
  607. package/_esm/stores/form/createFormStore.d.ts +1 -1
  608. package/_esm/stores/form/createFormStore.js +121 -115
  609. package/_esm/stores/form/createFormStore.js.map +1 -1
  610. package/_esm/stores/form/types.d.ts +21 -35
  611. package/_esm/stores/form/types.js +0 -15
  612. package/_esm/stores/form/types.js.map +1 -1
  613. package/_esm/stores/form/useFieldActions.js +9 -10
  614. package/_esm/stores/form/useFieldActions.js.map +1 -1
  615. package/_esm/stores/form/useFieldController.d.ts +1 -1
  616. package/_esm/stores/form/useFieldValues.d.ts +2 -2
  617. package/_esm/stores/form/useFieldValues.js +3 -2
  618. package/_esm/stores/form/useFieldValues.js.map +1 -1
  619. package/_esm/stores/form/useTouchedFields.d.ts +14 -1
  620. package/_esm/stores/form/useValidationActions.js +7 -11
  621. package/_esm/stores/form/useValidationActions.js.map +1 -1
  622. package/_esm/stores/routes/useExecutingRoutesIds.d.ts +1 -1
  623. package/_esm/stores/routes/useExecutingRoutesIds.js +5 -2
  624. package/_esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
  625. package/_esm/stores/settings/useSettingsStore.d.ts +1 -0
  626. package/_esm/stores/settings/useSettingsStore.js +2 -1
  627. package/_esm/stores/settings/useSettingsStore.js.map +1 -1
  628. package/_esm/types/widget.d.ts +26 -23
  629. package/_esm/types/widget.js +1 -0
  630. package/_esm/types/widget.js.map +1 -1
  631. package/_esm/utils/converters.js +12 -6
  632. package/_esm/utils/converters.js.map +1 -1
  633. package/_esm/utils/fees.d.ts +9 -0
  634. package/_esm/{components/RouteCard/utils.js → utils/fees.js} +13 -7
  635. package/_esm/utils/fees.js.map +1 -0
  636. package/_esm/utils/index.d.ts +2 -0
  637. package/_esm/utils/index.js +2 -0
  638. package/_esm/utils/index.js.map +1 -1
  639. package/_esm/utils/item.d.ts +2 -0
  640. package/_esm/{providers/WidgetProvider/utils.js → utils/item.js} +1 -1
  641. package/_esm/utils/item.js.map +1 -0
  642. package/components/ActiveTransactions/ActiveTransactions.tsx +1 -3
  643. package/components/AmountInput/AmountInput.style.tsx +10 -4
  644. package/components/AmountInput/AmountInput.tsx +33 -28
  645. package/components/AmountInput/AmountInputAdornment.style.tsx +8 -2
  646. package/components/AmountInput/AmountInputEndAdornment.tsx +5 -10
  647. package/components/AmountInput/AmountInputStartAdornment.tsx +3 -3
  648. package/components/AmountInput/{FormPriceHelperText.tsx → PriceFormHelperText.tsx} +14 -14
  649. package/components/BaseTransactionButton/BaseTransactionButton.tsx +6 -6
  650. package/components/Card/CardHeader.tsx +6 -5
  651. package/components/Card/CardTitle.tsx +3 -4
  652. package/components/ChainSelect/ChainSelect.tsx +8 -6
  653. package/components/ChainSelect/useChainSelect.ts +5 -5
  654. package/components/Header/CloseDrawerButton.tsx +18 -0
  655. package/components/Header/EVMDisconnectIconButton.tsx +24 -0
  656. package/components/Header/Header.style.ts +10 -4
  657. package/components/Header/Header.tsx +1 -8
  658. package/components/Header/NavigationHeader.tsx +13 -30
  659. package/components/Header/SVMDisconnectIconButton.tsx +19 -0
  660. package/components/Header/SettingsButton.style.tsx +18 -22
  661. package/components/Header/TransactionHistoryButton.tsx +23 -0
  662. package/components/Header/WalletHeader.tsx +36 -8
  663. package/components/Header/WalletMenu.tsx +67 -99
  664. package/components/Insurance/InsuranceCard.tsx +4 -22
  665. package/components/PageContainer.ts +18 -0
  666. package/components/ReverseTokensButton/ReverseTokensButton.style.tsx +3 -0
  667. package/components/ReverseTokensButton/ReverseTokensButton.tsx +20 -10
  668. package/components/RouteCard/RouteCard.style.ts +8 -2
  669. package/components/RouteCard/RouteCard.tsx +34 -29
  670. package/components/RouteCard/RouteCardEssentials.tsx +37 -88
  671. package/components/RouteCard/RouteCardEssentialsExpanded.tsx +127 -0
  672. package/components/RouteCard/RouteCardSkeleton.tsx +3 -20
  673. package/components/RouteCard/types.ts +7 -2
  674. package/components/Routes/Routes.tsx +1 -1
  675. package/components/Routes/RoutesExpanded.tsx +22 -25
  676. package/components/SelectTokenButton/SelectTokenButton.style.tsx +6 -7
  677. package/components/SelectTokenButton/SelectTokenButton.tsx +19 -7
  678. package/components/SmallAvatar.tsx +4 -4
  679. package/components/Step/CircularProgress.style.tsx +3 -4
  680. package/components/Step/CircularProgress.tsx +5 -5
  681. package/components/Step/DestinationWalletAddress.tsx +2 -3
  682. package/components/Step/Step.tsx +0 -2
  683. package/components/Step/StepProcess.tsx +2 -3
  684. package/components/Step/StepTimer.tsx +9 -14
  685. package/components/StepActions/StepActions.style.tsx +31 -20
  686. package/components/StepActions/StepActions.tsx +52 -43
  687. package/components/StepActions/StepFeeBreakdown.tsx +107 -0
  688. package/components/StepActions/StepFees.tsx +44 -0
  689. package/components/Token/Token.style.tsx +6 -22
  690. package/components/Token/Token.tsx +136 -66
  691. package/components/TokenAvatar/TokenAvatar.style.tsx +26 -15
  692. package/components/TokenAvatar/TokenAvatar.tsx +25 -12
  693. package/components/TokenList/TokenList.style.tsx +7 -5
  694. package/components/TokenList/TokenList.tsx +2 -5
  695. package/components/TokenList/TokenListItem.tsx +11 -8
  696. package/components/TokenList/VirtualizedTokenList.tsx +3 -2
  697. package/components/TokenList/types.ts +3 -4
  698. package/components/TokenList/useTokenSelect.ts +8 -6
  699. package/config/queryClient.ts +0 -1
  700. package/config/theme.ts +2 -9
  701. package/config/version.ts +1 -1
  702. package/config/walletConnect.ts +1 -0
  703. package/hooks/useAccount.ts +9 -17
  704. package/hooks/useAvailableChains.ts +13 -6
  705. package/hooks/useChains.ts +12 -6
  706. package/hooks/useDebouncedWatch.ts +6 -5
  707. package/hooks/useFromTokenSufficiency.ts +18 -9
  708. package/hooks/useGasRecommendation.ts +1 -1
  709. package/hooks/useGasRefuel.ts +2 -2
  710. package/hooks/useGasSufficiency.ts +11 -6
  711. package/hooks/useRouteExecution.ts +5 -5
  712. package/hooks/useRoutes.ts +31 -24
  713. package/hooks/useTokenAddressBalance.ts +2 -1
  714. package/hooks/useTokenBalance.ts +12 -22
  715. package/hooks/useTokenBalances.ts +1 -0
  716. package/hooks/useTools.ts +2 -1
  717. package/hooks/useTransactionHistory.ts +39 -29
  718. package/i18n/en.json +10 -6
  719. package/package.json +15 -15
  720. package/pages/ActiveTransactionsPage/ActiveTransactionsPage.tsx +4 -6
  721. package/pages/LanguagesPage/LanguagesPage.tsx +4 -3
  722. package/pages/MainPage/MainPage.tsx +12 -12
  723. package/pages/RoutesPage/RoutesPage.tsx +1 -2
  724. package/pages/SelectChainPage/SelectChainPage.tsx +4 -3
  725. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx +3 -3
  726. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.tsx +4 -3
  727. package/pages/SelectTokenPage/SearchTokenInput.tsx +1 -2
  728. package/pages/SelectTokenPage/SelectTokenPage.tsx +4 -3
  729. package/pages/SelectWalletPage/SelectWalletPage.tsx +3 -3
  730. package/pages/SettingsPage/ResetSettingsButton.tsx +1 -1
  731. package/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +7 -6
  732. package/pages/SettingsPage/SettingsCard/SettingCard.tsx +1 -1
  733. package/pages/SettingsPage/SettingsPage.tsx +7 -7
  734. package/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +3 -2
  735. package/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +12 -10
  736. package/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +3 -3
  737. package/pages/TransactionDetailsPage/TransactionDetailsSkeleton.tsx +15 -58
  738. package/pages/TransactionHistoryPage/TransactionHistoryItem.tsx +6 -4
  739. package/pages/TransactionHistoryPage/TransactionHistoryPage.tsx +8 -7
  740. package/pages/TransactionHistoryPage/TransactionHistorySkeleton.tsx +7 -47
  741. package/pages/TransactionPage/StatusBottomSheet.tsx +14 -9
  742. package/pages/TransactionPage/TransactionPage.tsx +3 -3
  743. package/providers/I18nProvider/I18nProvider.tsx +3 -2
  744. package/providers/WalletProvider/EVMBaseProvider.tsx +130 -0
  745. package/providers/WalletProvider/EVMExternalContext.ts +3 -0
  746. package/providers/WalletProvider/EVMProvider.tsx +17 -110
  747. package/providers/WalletProvider/SDKProviders.tsx +21 -11
  748. package/providers/WalletProvider/{SolanaProvider.tsx → SVMBaseProvider.tsx} +2 -17
  749. package/providers/WalletProvider/SVMExternalContext.ts +3 -0
  750. package/providers/WalletProvider/SVMProvider.tsx +27 -0
  751. package/providers/WalletProvider/WalletProvider.tsx +5 -5
  752. package/providers/WalletProvider/index.ts +1 -0
  753. package/providers/WalletProvider/useHasExternalWalletProvider.ts +30 -0
  754. package/providers/WidgetProvider/WidgetProvider.tsx +2 -2
  755. package/providers/WidgetProvider/index.ts +1 -2
  756. package/stores/StoreProvider.tsx +12 -12
  757. package/stores/chains/ChainOrderStore.tsx +21 -17
  758. package/stores/chains/createChainOrderStore.ts +34 -15
  759. package/stores/chains/types.ts +12 -4
  760. package/stores/chains/useChainOrder.ts +5 -2
  761. package/stores/form/FormStore.tsx +15 -23
  762. package/stores/form/FormUpdater.tsx +12 -9
  763. package/stores/form/URLSearchParamsBuilder.tsx +4 -2
  764. package/stores/form/createFormStore.ts +21 -15
  765. package/stores/form/types.ts +25 -39
  766. package/stores/form/useFieldActions.ts +11 -20
  767. package/stores/form/useFieldValues.ts +6 -4
  768. package/stores/form/useValidationActions.ts +9 -17
  769. package/stores/routes/useExecutingRoutesIds.ts +5 -2
  770. package/stores/settings/useSettingsStore.ts +3 -1
  771. package/types/widget.ts +32 -24
  772. package/utils/converters.ts +12 -6
  773. package/{components/RouteCard/utils.ts → utils/fees.ts} +43 -37
  774. package/utils/index.ts +2 -0
  775. package/{providers/WidgetProvider/utils.ts → utils/item.ts} +3 -7
  776. package/_cjs/components/AmountInput/FormPriceHelperText.js.map +0 -1
  777. package/_cjs/components/RouteCard/utils.d.ts +0 -11
  778. package/_cjs/components/RouteCard/utils.js.map +0 -1
  779. package/_cjs/components/Step/GasStepProcess.js +0 -25
  780. package/_cjs/components/Step/GasStepProcess.js.map +0 -1
  781. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.style.d.ts +0 -4
  782. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.style.js +0 -9
  783. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.style.js.map +0 -1
  784. package/_cjs/pages/TransactionPage/TransactionPage.style.d.ts +0 -4
  785. package/_cjs/pages/TransactionPage/TransactionPage.style.js +0 -9
  786. package/_cjs/pages/TransactionPage/TransactionPage.style.js.map +0 -1
  787. package/_cjs/providers/WalletProvider/SolanaProvider.d.ts +0 -3
  788. package/_cjs/providers/WalletProvider/SolanaProvider.js.map +0 -1
  789. package/_cjs/providers/WidgetProvider/utils.d.ts +0 -4
  790. package/_cjs/providers/WidgetProvider/utils.js.map +0 -1
  791. package/_esm/components/AmountInput/FormPriceHelperText.js.map +0 -1
  792. package/_esm/components/RouteCard/utils.d.ts +0 -11
  793. package/_esm/components/RouteCard/utils.js.map +0 -1
  794. package/_esm/components/Step/GasStepProcess.js +0 -21
  795. package/_esm/components/Step/GasStepProcess.js.map +0 -1
  796. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.style.d.ts +0 -4
  797. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.style.js +0 -6
  798. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.style.js.map +0 -1
  799. package/_esm/pages/TransactionPage/TransactionPage.style.d.ts +0 -4
  800. package/_esm/pages/TransactionPage/TransactionPage.style.js +0 -6
  801. package/_esm/pages/TransactionPage/TransactionPage.style.js.map +0 -1
  802. package/_esm/providers/WalletProvider/SolanaProvider.d.ts +0 -3
  803. package/_esm/providers/WalletProvider/SolanaProvider.js.map +0 -1
  804. package/_esm/providers/WidgetProvider/utils.d.ts +0 -4
  805. package/_esm/providers/WidgetProvider/utils.js.map +0 -1
  806. package/components/Step/GasStepProcess.tsx +0 -45
  807. package/pages/TransactionDetailsPage/TransactionDetailsPage.style.tsx +0 -6
  808. package/pages/TransactionPage/TransactionPage.style.tsx +0 -6
@@ -1,13 +1,11 @@
1
- import ExpandLessIcon from '@mui/icons-material/ExpandLess';
2
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
3
1
  import VerifiedUserIcon from '@mui/icons-material/VerifiedUser';
4
2
  import { Box, Collapse, Link, Typography } from '@mui/material';
5
- import type { ChangeEvent, MouseEventHandler } from 'react';
3
+ import type { ChangeEvent } from 'react';
6
4
  import { useState } from 'react';
7
5
  import { Trans, useTranslation } from 'react-i18next';
8
6
  import { InsuraceLogo } from '../../icons';
9
7
  import { RouteExecutionStatus } from '../../stores';
10
- import { Card, CardIconButton, CardLabel, CardLabelTypography } from '../Card';
8
+ import { Card, CardLabel, CardLabelTypography } from '../Card';
11
9
  import { Switch } from '../Switch';
12
10
  import type { InsuranceCardProps } from './types';
13
11
 
@@ -22,14 +20,6 @@ export const InsuranceCard: React.FC<InsuranceCardProps> = ({
22
20
  }) => {
23
21
  const { t } = useTranslation();
24
22
  const [enabled, setEnabled] = useState(false);
25
- const [cardExpanded, setCardExpanded] = useState(
26
- status === RouteExecutionStatus.Idle,
27
- );
28
-
29
- const handleExpand: MouseEventHandler<HTMLButtonElement> = (e) => {
30
- e.stopPropagation();
31
- setCardExpanded((expanded) => !expanded);
32
- };
33
23
 
34
24
  const handleSwitch = (_: ChangeEvent<HTMLInputElement>, checked: boolean) => {
35
25
  setEnabled(checked);
@@ -47,17 +37,9 @@ export const InsuranceCard: React.FC<InsuranceCardProps> = ({
47
37
  : t('main.tags.insured')}
48
38
  </CardLabelTypography>
49
39
  </CardLabel>
50
- {status === RouteExecutionStatus.Idle ? (
51
- <Switch onChange={handleSwitch} value={enabled} />
52
- ) : (
53
- <Box my={-0.5}>
54
- <CardIconButton onClick={handleExpand} size="small">
55
- {cardExpanded ? <ExpandLessIcon /> : <ExpandMoreIcon />}
56
- </CardIconButton>
57
- </Box>
58
- )}
40
+ <Switch onChange={handleSwitch} value={enabled} />
59
41
  </Box>
60
- <Collapse timeout={225} in={cardExpanded} mountOnEnter unmountOnExit>
42
+ <Collapse timeout={225} in={enabled} mountOnEnter unmountOnExit>
61
43
  <Box mt={2}>
62
44
  <Box
63
45
  display="flex"
@@ -0,0 +1,18 @@
1
+ import { Container } from '@mui/material';
2
+ import { styled } from '@mui/material/styles';
3
+
4
+ interface PageContainerProps {
5
+ halfGutters?: boolean;
6
+ topBottomGutters?: boolean;
7
+ }
8
+
9
+ export const PageContainer = styled(Container, {
10
+ shouldForwardProp: (prop) =>
11
+ !['halfGutters', 'topBottomGutters'].includes(prop as string),
12
+ })<PageContainerProps>(
13
+ ({ theme, disableGutters, halfGutters, topBottomGutters }) => ({
14
+ padding: disableGutters
15
+ ? 0
16
+ : theme.spacing(topBottomGutters ? 1 : 0, halfGutters ? 1.5 : 3),
17
+ }),
18
+ );
@@ -2,6 +2,9 @@ import { IconButton as MuiIconButton } from '@mui/material';
2
2
  import { darken, lighten, styled } from '@mui/material/styles';
3
3
 
4
4
  export const IconButton = styled(MuiIconButton)(({ theme }) => ({
5
+ height: 32,
6
+ width: 32,
7
+ fontSize: 16,
5
8
  backgroundColor: theme.palette.background.paper,
6
9
  border: `1px solid`,
7
10
  borderColor:
@@ -1,23 +1,33 @@
1
- import SwapHorizIcon from '@mui/icons-material/SwapHoriz';
2
- import SwapVertIcon from '@mui/icons-material/SwapVert';
3
- import { IconButton } from './ReverseTokensButton.style';
1
+ import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';
2
+ import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
4
3
  import { useFieldActions } from '../../stores';
4
+ import { IconButton } from './ReverseTokensButton.style';
5
5
 
6
6
  export const ReverseTokensButton: React.FC<{ vertical?: boolean }> = ({
7
7
  vertical,
8
8
  }) => {
9
- const { setAsTouched, setFieldValue } = useFieldActions();
9
+ const { setFieldValue, getFieldValues } = useFieldActions();
10
10
 
11
11
  const handleClick = () => {
12
+ const [fromChain, fromToken, toChain, toToken] = getFieldValues(
13
+ 'fromChain',
14
+ 'fromToken',
15
+ 'toChain',
16
+ 'toToken',
17
+ );
12
18
  setFieldValue('fromAmount', '', { isTouched: true });
13
- setAsTouched('fromChain');
14
- setAsTouched('fromToken');
15
- setAsTouched('toChain');
16
- setAsTouched('toToken');
19
+ setFieldValue('fromChain', toChain, { isTouched: true });
20
+ setFieldValue('fromToken', toToken, { isTouched: true });
21
+ setFieldValue('toChain', fromChain, { isTouched: true });
22
+ setFieldValue('toToken', fromToken, { isTouched: true });
17
23
  };
18
24
  return (
19
- <IconButton onClick={handleClick} size="small">
20
- {vertical ? <SwapVertIcon /> : <SwapHorizIcon />}
25
+ <IconButton onClick={handleClick} size="medium">
26
+ {vertical ? (
27
+ <ArrowDownwardIcon fontSize="inherit" />
28
+ ) : (
29
+ <ArrowForwardIcon fontSize="inherit" />
30
+ )}
21
31
  </IconButton>
22
32
  );
23
33
  };
@@ -1,4 +1,4 @@
1
- import { Typography } from '@mui/material';
1
+ import { Box, Typography } from '@mui/material';
2
2
  import { alpha, styled } from '@mui/material/styles';
3
3
 
4
4
  export const IconTypography = styled(Typography)(({ theme }) => ({
@@ -7,5 +7,11 @@ export const IconTypography = styled(Typography)(({ theme }) => ({
7
7
  ? alpha(theme.palette.common.black, 0.24)
8
8
  : alpha(theme.palette.common.white, 0.32),
9
9
  lineHeight: 0,
10
- marginRight: theme.spacing(0.5),
10
+ }));
11
+
12
+ export const TokenContainer = styled(Box)(({ theme }) => ({
13
+ display: 'flex',
14
+ alignItems: 'center',
15
+ justifyContent: 'space-between',
16
+ height: 40,
11
17
  }));
@@ -14,22 +14,31 @@ import { Card, CardIconButton, CardLabel, CardLabelTypography } from '../Card';
14
14
  import type { InsuredAmount } from '../Insurance';
15
15
  import { StepActions } from '../StepActions';
16
16
  import { Token } from '../Token';
17
+ import { TokenContainer } from './RouteCard.style';
17
18
  import { RouteCardEssentials } from './RouteCardEssentials';
19
+ import { RouteCardEssentialsExpanded } from './RouteCardEssentialsExpanded';
18
20
  import type { RouteCardProps } from './types';
19
21
 
20
22
  export const RouteCard: React.FC<
21
23
  RouteCardProps & Omit<CardProps, 'variant'>
22
- > = ({ route, active, variant = 'default', expanded, ...other }) => {
24
+ > = ({
25
+ route,
26
+ active,
27
+ variant = 'default',
28
+ expanded: defaulExpanded,
29
+ ...other
30
+ }) => {
23
31
  const { t } = useTranslation();
24
32
  const { subvariant } = useWidgetConfig();
25
- const [cardExpanded, setCardExpanded] = useState(expanded);
26
- const insurable = route.insurance?.state === 'INSURABLE';
33
+ const [cardExpanded, setCardExpanded] = useState(defaulExpanded);
27
34
 
28
35
  const handleExpand: MouseEventHandler<HTMLButtonElement> = (e) => {
29
36
  e.stopPropagation();
30
37
  setCardExpanded((expanded) => !expanded);
31
38
  };
32
39
 
40
+ const insurable = route.insurance?.state === 'INSURABLE';
41
+
33
42
  const token: TokenAmount =
34
43
  subvariant === 'nft'
35
44
  ? { ...route.fromToken, amount: BigInt(route.fromAmount) }
@@ -42,6 +51,15 @@ export const RouteCard: React.FC<
42
51
  <Box flex={1}>
43
52
  {subvariant !== 'refuel' && (insurable || route.tags?.length) ? (
44
53
  <Box display="flex" alignItems="center" mb={2}>
54
+ {route.tags?.length ? (
55
+ <RecommendedTagTooltip>
56
+ <CardLabel type={active ? 'active' : undefined}>
57
+ <CardLabelTypography>
58
+ {t(`main.tags.${route.tags[0].toLowerCase()}` as any)}
59
+ </CardLabelTypography>
60
+ </CardLabel>
61
+ </RecommendedTagTooltip>
62
+ ) : null}
45
63
  {insurable ? (
46
64
  <InsuranceTooltip
47
65
  insuredAmount={formatTokenAmount(
@@ -50,50 +68,37 @@ export const RouteCard: React.FC<
50
68
  )}
51
69
  insuredTokenSymbol={route.toToken.symbol}
52
70
  >
53
- <CardLabel
54
- type={
55
- route.tags?.length && !cardExpanded
56
- ? 'insurance-icon'
57
- : 'insurance'
58
- }
59
- >
71
+ <CardLabel type={'insurance'}>
60
72
  <VerifiedUserIcon fontSize="inherit" />
61
- {cardExpanded || !route.tags?.length ? (
62
- <CardLabelTypography type="icon">
63
- {t(`main.tags.insurable`)}
64
- </CardLabelTypography>
65
- ) : null}
66
- </CardLabel>
67
- </InsuranceTooltip>
68
- ) : null}
69
- {route.tags?.length ? (
70
- <RecommendedTagTooltip>
71
- <CardLabel type={active ? 'active' : undefined}>
72
- <CardLabelTypography>
73
- {t(`main.tags.${route.tags[0].toLowerCase()}` as any)}
73
+ <CardLabelTypography type="icon">
74
+ {t(`main.tags.insurable`)}
74
75
  </CardLabelTypography>
75
76
  </CardLabel>
76
- </RecommendedTagTooltip>
77
+ </InsuranceTooltip>
77
78
  ) : null}
78
79
  </Box>
79
80
  ) : null}
80
- <Box display="flex" justifyContent="space-between" alignItems="start">
81
+ <TokenContainer>
81
82
  <Token
82
83
  token={token}
83
- step={!cardExpanded ? route.steps[0] : undefined}
84
+ step={route.steps[0]}
85
+ stepVisible={!cardExpanded}
84
86
  />
85
- {!expanded ? (
87
+ {!defaulExpanded ? (
86
88
  <CardIconButton onClick={handleExpand} size="small">
87
89
  {cardExpanded ? <ExpandLessIcon /> : <ExpandMoreIcon />}
88
90
  </CardIconButton>
89
91
  ) : null}
90
- </Box>
92
+ </TokenContainer>
91
93
  <Collapse timeout={225} in={cardExpanded} mountOnEnter unmountOnExit>
92
94
  {route.steps.map((step) => (
93
95
  <StepActions key={step.id} step={step} mt={2} />
94
96
  ))}
97
+ <RouteCardEssentialsExpanded route={route} />
98
+ </Collapse>
99
+ <Collapse timeout={225} in={!cardExpanded} mountOnEnter unmountOnExit>
100
+ <RouteCardEssentials route={route} />
95
101
  </Collapse>
96
- <RouteCardEssentials route={route} />
97
102
  </Box>
98
103
  );
99
104
 
@@ -1,19 +1,17 @@
1
1
  import AccessTimeIcon from '@mui/icons-material/AccessTimeFilled';
2
- import EvStationIcon from '@mui/icons-material/EvStation';
3
- import LayersIcon from '@mui/icons-material/Layers';
4
2
  import MonetizationOnIcon from '@mui/icons-material/MonetizationOn';
5
3
  import { Box, Tooltip, Typography } from '@mui/material';
4
+ import type { TFunction } from 'i18next';
6
5
  import { useTranslation } from 'react-i18next';
7
6
  import { formatUnits } from 'viem';
7
+ import { getFeeCostsBreakdown, getGasCostsBreakdown } from '../../utils';
8
8
  import { IconTypography } from './RouteCard.style';
9
- import type { RouteCardEssentialsProps } from './types';
10
- import { getFeeCostsBreakdown, getGasCostsBreakdown } from './utils';
9
+ import type { FeesBreakdown, RouteCardEssentialsProps } from './types';
11
10
 
12
11
  export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
13
12
  route,
14
- dense,
15
13
  }) => {
16
- const { t } = useTranslation();
14
+ const { t, i18n } = useTranslation();
17
15
  const executionTimeMinutes = Math.ceil(
18
16
  route.steps
19
17
  .map((step) => step.estimate.executionDuration)
@@ -22,70 +20,29 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
22
20
  const gasCostUSD = parseFloat(route.gasCostUSD ?? '') || 0.01;
23
21
  const gasCosts = getGasCostsBreakdown(route);
24
22
  const feeCosts = getFeeCostsBreakdown(route, false);
23
+ const fees =
24
+ gasCostUSD + feeCosts.reduce((sum, feeCost) => sum + feeCost.amountUSD, 0);
25
25
  return (
26
26
  <Box display="flex" justifyContent={'space-between'} flex={1} mt={2}>
27
27
  <Tooltip
28
28
  title={
29
29
  <Box component="span">
30
- {t(`tooltip.estimatedNetworkFee`)}
31
- {gasCosts.map((gas, index) => (
32
- <Typography
33
- fontSize={12}
34
- fontWeight="500"
35
- key={`${gas.token.address}${index}`}
36
- >
37
- {parseFloat(
38
- formatUnits(gas.amount, gas.token.decimals),
39
- )?.toFixed(9)}{' '}
40
- {gas.token.symbol} (
41
- {t(`format.currency`, { value: gas.amountUSD })})
42
- </Typography>
43
- ))}
30
+ {t('main.fees.networkEstimated')}
31
+ {getFeeBreakdownTypography(gasCosts, t)}
32
+ {feeCosts.length ? (
33
+ <Box mt={1}>
34
+ {t('main.fees.providerEstimated')}
35
+ {getFeeBreakdownTypography(feeCosts, t)}
36
+ </Box>
37
+ ) : null}
44
38
  </Box>
45
39
  }
46
40
  placement="top"
47
41
  enterDelay={400}
48
42
  arrow
49
43
  >
50
- <Box display="flex" alignItems="center" mr={dense ? 0 : 2}>
51
- <IconTypography>
52
- <EvStationIcon fontSize="small" />
53
- </IconTypography>
54
- <Typography
55
- fontSize={14}
56
- color="text.primary"
57
- fontWeight="500"
58
- lineHeight={1}
59
- >
60
- {t(`format.currency`, { value: gasCostUSD })}
61
- </Typography>
62
- </Box>
63
- </Tooltip>
64
- <Tooltip
65
- title={
66
- <Box component="span">
67
- {t(`tooltip.additionalProviderFee`)}
68
- {feeCosts.map((fee, index) => (
69
- <Typography
70
- fontSize={12}
71
- fontWeight="500"
72
- key={`${fee.token.address}${index}`}
73
- >
74
- {parseFloat(
75
- formatUnits(fee.amount, fee.token.decimals),
76
- )?.toFixed(9)}{' '}
77
- {fee.token.symbol} (
78
- {t(`format.currency`, { value: fee.amountUSD })})
79
- </Typography>
80
- ))}
81
- </Box>
82
- }
83
- placement="top"
84
- enterDelay={400}
85
- arrow
86
- >
87
- <Box display="flex" alignItems="center" mr={dense ? 0 : 2}>
88
- <IconTypography>
44
+ <Box display="flex" alignItems="center">
45
+ <IconTypography mr={0.5}>
89
46
  <MonetizationOnIcon fontSize="small" />
90
47
  </IconTypography>
91
48
  <Typography
@@ -95,10 +52,7 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
95
52
  lineHeight={1}
96
53
  >
97
54
  {t(`format.currency`, {
98
- value: feeCosts.reduce(
99
- (sum, feeCost) => sum + feeCost.amountUSD,
100
- 0,
101
- ),
55
+ value: fees,
102
56
  })}
103
57
  </Typography>
104
58
  </Box>
@@ -108,32 +62,10 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
108
62
  placement="top"
109
63
  enterDelay={400}
110
64
  arrow
111
- >
112
- <Box display="flex" alignItems="center" mr={dense ? 0 : 2}>
113
- <IconTypography>
114
- <AccessTimeIcon fontSize="small" />
115
- </IconTypography>
116
- <Typography
117
- fontSize={14}
118
- color="text.primary"
119
- fontWeight="500"
120
- lineHeight={1}
121
- >
122
- {t('main.estimatedTime', {
123
- value: executionTimeMinutes,
124
- })}
125
- </Typography>
126
- </Box>
127
- </Tooltip>
128
- <Tooltip
129
- title={t(`tooltip.numberOfSteps`)}
130
- placement="top"
131
- enterDelay={400}
132
- arrow
133
65
  >
134
66
  <Box display="flex" alignItems="center">
135
- <IconTypography>
136
- <LayersIcon fontSize="small" />
67
+ <IconTypography mr={0.5}>
68
+ <AccessTimeIcon fontSize="small" />
137
69
  </IconTypography>
138
70
  <Typography
139
71
  fontSize={14}
@@ -141,10 +73,27 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
141
73
  fontWeight="500"
142
74
  lineHeight={1}
143
75
  >
144
- {route.steps.length}
76
+ {new Intl.NumberFormat(i18n.language, {
77
+ style: 'unit',
78
+ unit: 'minute',
79
+ unitDisplay: 'narrow',
80
+ }).format(executionTimeMinutes)}
145
81
  </Typography>
146
82
  </Box>
147
83
  </Tooltip>
148
84
  </Box>
149
85
  );
150
86
  };
87
+
88
+ const getFeeBreakdownTypography = (fees: FeesBreakdown[], t: TFunction) =>
89
+ fees.map((fee, index) => (
90
+ <Typography
91
+ fontSize={12}
92
+ fontWeight="500"
93
+ key={`${fee.token.address}${index}`}
94
+ >
95
+ {t(`format.currency`, { value: fee.amountUSD })} (
96
+ {parseFloat(formatUnits(fee.amount, fee.token.decimals))?.toFixed(9)}{' '}
97
+ {fee.token.symbol})
98
+ </Typography>
99
+ ));
@@ -0,0 +1,127 @@
1
+ import AccessTimeIcon from '@mui/icons-material/AccessTimeFilled';
2
+ import LayersIcon from '@mui/icons-material/Layers';
3
+ import MonetizationOnIcon from '@mui/icons-material/MonetizationOn';
4
+ import { Box, Typography } from '@mui/material';
5
+ import type { TFunction } from 'i18next';
6
+ import { useTranslation } from 'react-i18next';
7
+ import { formatUnits } from 'viem';
8
+ import { getFeeCostsBreakdown, getGasCostsBreakdown } from '../../utils';
9
+ import { IconTypography } from './RouteCard.style';
10
+ import type { FeesBreakdown, RouteCardEssentialsProps } from './types';
11
+
12
+ export const RouteCardEssentialsExpanded: React.FC<
13
+ RouteCardEssentialsProps
14
+ > = ({ route }) => {
15
+ const { t, i18n } = useTranslation();
16
+ const executionTimeMinutes = Math.ceil(
17
+ route.steps
18
+ .map((step) => step.estimate.executionDuration)
19
+ .reduce((duration, x) => duration + x, 0) / 60,
20
+ );
21
+ const gasCostUSD = parseFloat(route.gasCostUSD ?? '') || 0.01;
22
+ const gasCosts = getGasCostsBreakdown(route);
23
+ const feeCosts = getFeeCostsBreakdown(route, false);
24
+ const fees =
25
+ gasCostUSD + feeCosts.reduce((sum, feeCost) => sum + feeCost.amountUSD, 0);
26
+ return (
27
+ <Box flex={1} mt={2}>
28
+ <Box>
29
+ <Box display="flex" alignItems="center">
30
+ <IconTypography ml={1} mr={3}>
31
+ <MonetizationOnIcon />
32
+ </IconTypography>
33
+ <Typography
34
+ fontSize={16}
35
+ color="text.primary"
36
+ fontWeight="600"
37
+ lineHeight={1.125}
38
+ >
39
+ {t(`format.currency`, {
40
+ value: fees,
41
+ })}
42
+ </Typography>
43
+ </Box>
44
+ <Box mt={0.5} ml={7}>
45
+ <Typography
46
+ fontSize={12}
47
+ color="text.secondary"
48
+ fontWeight="500"
49
+ lineHeight={1.125}
50
+ >
51
+ {t('main.fees.networkEstimated')}
52
+ </Typography>
53
+ {getFeeBreakdownTypography(gasCosts, t)}
54
+ {feeCosts.length ? (
55
+ <Box mt={0.5}>
56
+ <Typography
57
+ fontSize={12}
58
+ color="text.secondary"
59
+ fontWeight="500"
60
+ lineHeight={1.125}
61
+ >
62
+ {t('main.fees.providerEstimated')}
63
+ </Typography>
64
+ {getFeeBreakdownTypography(feeCosts, t)}
65
+ </Box>
66
+ ) : null}
67
+ </Box>
68
+ </Box>
69
+ <Box mt={2}>
70
+ <Box display="flex" alignItems="center">
71
+ <IconTypography ml={1} mr={3}>
72
+ <LayersIcon />
73
+ </IconTypography>
74
+ <Typography
75
+ fontSize={16}
76
+ color="text.primary"
77
+ fontWeight="600"
78
+ lineHeight={1.125}
79
+ >
80
+ {route.steps.length}
81
+ </Typography>
82
+ </Box>
83
+ <Box mt={0.5} ml={7}>
84
+ <Typography
85
+ fontSize={12}
86
+ color="text.secondary"
87
+ fontWeight="500"
88
+ lineHeight={1.125}
89
+ >
90
+ {t(`tooltip.numberOfSteps`)}
91
+ </Typography>
92
+ </Box>
93
+ </Box>
94
+ <Box display="flex" alignItems="center" mt={2}>
95
+ <IconTypography ml={1} mr={3}>
96
+ <AccessTimeIcon />
97
+ </IconTypography>
98
+ <Typography
99
+ fontSize={16}
100
+ color="text.primary"
101
+ fontWeight="600"
102
+ lineHeight={1.125}
103
+ >
104
+ {new Intl.NumberFormat(i18n.language, {
105
+ style: 'unit',
106
+ unit: 'minute',
107
+ unitDisplay: 'long',
108
+ }).format(executionTimeMinutes)}
109
+ </Typography>
110
+ </Box>
111
+ </Box>
112
+ );
113
+ };
114
+
115
+ const getFeeBreakdownTypography = (fees: FeesBreakdown[], t: TFunction) =>
116
+ fees.map((fee, index) => (
117
+ <Typography
118
+ fontSize={12}
119
+ fontWeight="500"
120
+ color="text.secondary"
121
+ key={`${fee.token.address}${index}`}
122
+ >
123
+ {t(`format.currency`, { value: fee.amountUSD })} (
124
+ {parseFloat(formatUnits(fee.amount, fee.token.decimals))?.toFixed(9)}{' '}
125
+ {fee.token.symbol})
126
+ </Typography>
127
+ ));
@@ -2,6 +2,7 @@ import type { BoxProps } from '@mui/material';
2
2
  import { Box, Skeleton } from '@mui/material';
3
3
  import { useWidgetConfig } from '../../providers';
4
4
  import { Card } from '../Card';
5
+ import { TokenSkeleton } from '../Token';
5
6
  import type { RouteCardSkeletonProps } from './types';
6
7
 
7
8
  export const RouteCardSkeleton: React.FC<RouteCardSkeletonProps & BoxProps> = ({
@@ -24,28 +25,10 @@ export const RouteCardSkeleton: React.FC<RouteCardSkeletonProps & BoxProps> = ({
24
25
  />
25
26
  </Box>
26
27
  ) : null}
27
- <Box>
28
- <Box display="flex" alignItems="center">
29
- <Box mr={2}>
30
- <Skeleton variant="circular" width={32} height={32} />
31
- </Box>
32
- <Skeleton variant="text" width={96} height={32} />
33
- </Box>
34
- <Box ml={6} display="flex" alignItems="center">
35
- <Skeleton variant="text" width={102} height={16} />
36
- <Skeleton
37
- variant="text"
38
- width={72}
39
- height={16}
40
- sx={{ marginLeft: 1 }}
41
- />
42
- </Box>
43
- </Box>
28
+ <TokenSkeleton />
44
29
  <Box mt={2} display="flex" justifyContent="space-between">
45
30
  <Skeleton variant="text" width={64} height={20} />
46
- <Skeleton variant="text" width={64} height={20} />
47
- <Skeleton variant="text" width={48} height={20} />
48
- <Skeleton variant="text" width={32} height={20} />
31
+ <Skeleton variant="text" width={56} height={20} />
49
32
  </Box>
50
33
  </Box>
51
34
  );
@@ -1,4 +1,4 @@
1
- import type { Route } from '@lifi/sdk';
1
+ import type { Route, Token } from '@lifi/sdk';
2
2
 
3
3
  export interface RouteCardProps {
4
4
  route: Route;
@@ -9,9 +9,14 @@ export interface RouteCardProps {
9
9
 
10
10
  export interface RouteCardEssentialsProps {
11
11
  route: Route;
12
- dense?: boolean;
13
12
  }
14
13
 
15
14
  export interface RouteCardSkeletonProps {
16
15
  variant?: 'default' | 'cardless';
17
16
  }
17
+
18
+ export interface FeesBreakdown {
19
+ amount: bigint;
20
+ amountUSD: number;
21
+ token: Token;
22
+ }
@@ -4,11 +4,11 @@ import { useTranslation } from 'react-i18next';
4
4
  import { useNavigate } from 'react-router-dom';
5
5
  import { useRoutes } from '../../hooks';
6
6
  import { useWidgetConfig } from '../../providers';
7
+ import { useValidation } from '../../stores';
7
8
  import { navigationRoutes } from '../../utils';
8
9
  import { Card, CardTitle } from '../Card';
9
10
  import { ProgressToNextUpdate } from '../ProgressToNextUpdate';
10
11
  import { RouteCard, RouteCardSkeleton, RouteNotFoundCard } from '../RouteCard';
11
- import { useValidation } from '../../stores';
12
12
 
13
13
  export const Routes: React.FC<BoxProps> = (props) => {
14
14
  const { t } = useTranslation();