@lifi/widget 2.9.3 → 3.0.0-alpha.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 (600) hide show
  1. package/AppProvider.js +2 -2
  2. package/AppRoutes.js +75 -67
  3. package/cjs/AppProvider.js +1 -1
  4. package/cjs/AppRoutes.js +74 -66
  5. package/cjs/components/ActiveTransactions/ActiveTransactionItem.js +1 -5
  6. package/cjs/components/ActiveTransactions/ActiveTransactions.js +2 -2
  7. package/cjs/components/AmountInput/AmountInputEndAdornment.js +9 -10
  8. package/cjs/components/AmountInput/FormPriceHelperText.js +1 -1
  9. package/cjs/components/BaseTransactionButton/BaseTransactionButton.js +5 -4
  10. package/cjs/components/Card/CardLabel.d.ts +1 -1
  11. package/cjs/components/ChainSelect/ChainSelect.js +8 -5
  12. package/cjs/components/ChainSelect/useChainSelect.js +21 -2
  13. package/cjs/components/GasMessage/GasMessage.style.js +3 -6
  14. package/cjs/components/GasMessage/GasSufficiencyMessage.js +2 -1
  15. package/cjs/components/Header/Header.style.d.ts +8 -0
  16. package/cjs/components/Header/Header.style.js +16 -1
  17. package/cjs/components/Header/NavigationHeader.d.ts +1 -0
  18. package/cjs/components/Header/NavigationHeader.js +15 -8
  19. package/cjs/components/Header/NavigationTabs.js +2 -2
  20. package/cjs/components/Header/SettingsButton.d.ts +1 -0
  21. package/cjs/components/Header/SettingsButton.js +25 -0
  22. package/cjs/components/Header/SettingsButton.style.d.ts +11 -0
  23. package/cjs/components/Header/SettingsButton.style.js +43 -0
  24. package/cjs/components/Header/WalletHeader.js +11 -24
  25. package/cjs/components/Header/WalletMenu.d.ts +3 -1
  26. package/cjs/components/Header/WalletMenu.js +58 -24
  27. package/cjs/components/Header/WalletMenu.style.d.ts +1 -0
  28. package/cjs/components/Header/WalletMenu.style.js +27 -0
  29. package/cjs/components/Insurance/InsuranceCollapsed.js +1 -1
  30. package/cjs/components/NFT/NFT.js +3 -1
  31. package/cjs/components/NFT/types.d.ts +1 -1
  32. package/cjs/components/PoweredBy/PoweredBy.js +2 -1
  33. package/cjs/components/RouteCard/RouteCard.js +3 -3
  34. package/cjs/components/RouteCard/RouteCardEssentials.js +2 -1
  35. package/cjs/components/RouteCard/utils.d.ts +2 -3
  36. package/cjs/components/RouteCard/utils.js +4 -9
  37. package/cjs/components/SendToWallet/SendToWallet.js +24 -21
  38. package/cjs/components/SendToWallet/SendToWalletButton.js +3 -2
  39. package/{pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts → cjs/components/SettingsListItemButton.d.ts} +1 -1
  40. package/cjs/components/SettingsListItemButton.js +8 -0
  41. package/cjs/components/Step/DestinationWalletAddress.d.ts +2 -2
  42. package/cjs/components/Step/GasStepProcess.d.ts +2 -2
  43. package/cjs/components/Step/Step.d.ts +2 -2
  44. package/cjs/components/Step/Step.js +1 -1
  45. package/cjs/components/Step/StepList.d.ts +2 -2
  46. package/cjs/components/Step/StepList.js +4 -4
  47. package/cjs/components/Step/StepProcess.d.ts +2 -2
  48. package/cjs/components/Step/StepTimer.d.ts +2 -2
  49. package/cjs/components/StepActions/StepActions.d.ts +3 -3
  50. package/cjs/components/StepActions/StepActions.js +11 -14
  51. package/cjs/components/StepActions/types.d.ts +2 -2
  52. package/cjs/components/{Header/NavigationTabs.style.d.ts → Tabs/Tabs.style.d.ts} +2 -2
  53. package/cjs/components/{Header/NavigationTabs.style.js → Tabs/Tabs.style.js} +9 -31
  54. package/cjs/components/Tabs/index.d.ts +1 -0
  55. package/cjs/{providers/SDKProvider → components/Tabs}/index.js +1 -1
  56. package/cjs/components/Token/Token.d.ts +3 -3
  57. package/cjs/components/Token/Token.js +5 -5
  58. package/cjs/components/TokenList/TokenList.js +2 -2
  59. package/cjs/components/TokenList/TokenListItem.js +9 -5
  60. package/cjs/components/TokenList/TokenNotFound.js +1 -1
  61. package/cjs/components/TokenList/VirtualizedTokenList.js +2 -1
  62. package/cjs/config/queryClient.js +0 -4
  63. package/cjs/config/version.d.ts +1 -1
  64. package/cjs/config/version.js +1 -1
  65. package/cjs/hooks/index.d.ts +7 -1
  66. package/cjs/hooks/index.js +7 -1
  67. package/cjs/hooks/useAccount.d.ts +31 -0
  68. package/cjs/hooks/useAccount.js +53 -0
  69. package/cjs/hooks/useAvailableChains.d.ts +6 -0
  70. package/cjs/hooks/useAvailableChains.js +36 -0
  71. package/cjs/hooks/useChain.js +3 -6
  72. package/cjs/hooks/useChains.d.ts +1 -1
  73. package/cjs/hooks/useChains.js +7 -38
  74. package/cjs/hooks/useFromTokenSufficiency.d.ts +3 -3
  75. package/cjs/hooks/useFromTokenSufficiency.js +39 -41
  76. package/cjs/hooks/useGasRecommendation.d.ts +2 -2
  77. package/cjs/hooks/useGasRecommendation.js +23 -18
  78. package/cjs/hooks/useGasRefuel.js +18 -11
  79. package/cjs/hooks/useGasSufficiency.d.ts +6 -7
  80. package/cjs/hooks/useGasSufficiency.js +68 -71
  81. package/cjs/hooks/useLanguages.d.ts +6 -0
  82. package/cjs/hooks/useLanguages.js +28 -0
  83. package/cjs/hooks/useProcessMessage.d.ts +3 -3
  84. package/cjs/hooks/useProcessMessage.js +32 -28
  85. package/cjs/hooks/useRequiredToAddress.d.ts +1 -0
  86. package/cjs/hooks/useRequiredToAddress.js +19 -0
  87. package/cjs/hooks/useRouteExecution.d.ts +2 -2
  88. package/cjs/hooks/useRouteExecution.js +44 -58
  89. package/cjs/hooks/useRoutes.d.ts +1 -1
  90. package/cjs/hooks/useRoutes.js +128 -113
  91. package/cjs/hooks/useSettingMonitor.d.ts +11 -0
  92. package/cjs/hooks/useSettingMonitor.js +57 -0
  93. package/cjs/hooks/useTokenAddressBalance.d.ts +1 -1
  94. package/cjs/hooks/useTokenBalance.d.ts +5 -3
  95. package/cjs/hooks/useTokenBalance.js +77 -47
  96. package/cjs/hooks/useTokenBalances.d.ts +3 -3
  97. package/cjs/hooks/useTokenBalances.js +34 -24
  98. package/cjs/hooks/useTokenSearch.js +18 -17
  99. package/cjs/hooks/useTokens.d.ts +2 -1
  100. package/cjs/hooks/useTokens.js +18 -15
  101. package/cjs/hooks/useTools.d.ts +1 -1
  102. package/cjs/hooks/useTools.js +12 -11
  103. package/cjs/hooks/useTransactionDetails.d.ts +4 -0
  104. package/cjs/hooks/useTransactionDetails.js +56 -0
  105. package/cjs/hooks/useTransactionHistory.d.ts +5 -0
  106. package/cjs/hooks/useTransactionHistory.js +39 -0
  107. package/cjs/i18n/en.json +18 -9
  108. package/cjs/i18n/fr.json +7 -4
  109. package/cjs/i18n/pt.json +7 -4
  110. package/cjs/i18n/tr.json +7 -4
  111. package/cjs/i18n/uk.json +7 -4
  112. package/cjs/i18n/zh.json +7 -4
  113. package/cjs/icons/index.d.ts +1 -3
  114. package/cjs/icons/index.js +1 -3
  115. package/cjs/icons/lifi.d.ts +1 -0
  116. package/cjs/icons/lifi.js +4 -0
  117. package/cjs/index.d.ts +2 -3
  118. package/cjs/index.js +4 -4
  119. package/cjs/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +2 -2
  120. package/cjs/pages/LanguagesPage/LanguagesPage.d.ts +2 -0
  121. package/cjs/pages/LanguagesPage/LanguagesPage.js +22 -0
  122. package/cjs/pages/LanguagesPage/index.d.ts +1 -0
  123. package/cjs/pages/LanguagesPage/index.js +17 -0
  124. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +15 -5
  125. package/cjs/pages/SelectWalletPage/EVMListItemButton.d.ts +8 -0
  126. package/cjs/pages/SelectWalletPage/EVMListItemButton.js +40 -0
  127. package/cjs/pages/SelectWalletPage/SVMListItemButton.d.ts +6 -0
  128. package/cjs/pages/SelectWalletPage/SVMListItemButton.js +34 -0
  129. package/cjs/pages/SelectWalletPage/SelectWalletPage.js +31 -32
  130. package/cjs/pages/SelectWalletPage/utils.d.ts +3 -0
  131. package/cjs/pages/SelectWalletPage/utils.js +21 -0
  132. package/{pages/SettingsPage/EnabledToolsButton.d.ts → cjs/pages/SettingsPage/BridgeAndExchangeSettings.d.ts} +1 -1
  133. package/cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +36 -0
  134. package/cjs/pages/SettingsPage/GasPriceSettings.d.ts +2 -0
  135. package/cjs/pages/SettingsPage/GasPriceSettings.js +21 -0
  136. package/cjs/pages/SettingsPage/LanguageSetting.d.ts +2 -0
  137. package/cjs/pages/SettingsPage/LanguageSetting.js +26 -0
  138. package/cjs/pages/SettingsPage/ResetSettingsButton.js +3 -30
  139. package/cjs/pages/SettingsPage/RoutePrioritySettings.d.ts +2 -0
  140. package/cjs/pages/SettingsPage/RoutePrioritySettings.js +25 -0
  141. package/cjs/pages/SettingsPage/SendToWalletOptionSetting.d.ts +1 -0
  142. package/cjs/pages/SettingsPage/{ShowDestinationWallet.js → SendToWalletOptionSetting.js} +6 -9
  143. package/cjs/pages/SettingsPage/SettingsCard/BadgedValue.d.ts +8 -0
  144. package/cjs/pages/SettingsPage/SettingsCard/BadgedValue.js +7 -0
  145. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.d.ts +2 -0
  146. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.js +11 -0
  147. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +19 -0
  148. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js +53 -0
  149. package/cjs/pages/SettingsPage/SettingsCard/SettingCardButton.d.ts +7 -0
  150. package/cjs/pages/SettingsPage/SettingsCard/SettingCardButton.js +8 -0
  151. package/cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.d.ts +7 -0
  152. package/cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +16 -0
  153. package/cjs/pages/SettingsPage/SettingsCard/SettingsAccordian.d.ts +6 -0
  154. package/cjs/pages/SettingsPage/SettingsCard/SettingsAccordian.js +36 -0
  155. package/cjs/pages/SettingsPage/SettingsCard/index.d.ts +6 -0
  156. package/cjs/pages/SettingsPage/SettingsCard/index.js +22 -0
  157. package/cjs/pages/SettingsPage/SettingsCard/types.d.ts +5 -0
  158. package/cjs/pages/SettingsPage/SettingsPage.js +9 -8
  159. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.d.ts +2 -0
  160. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.js +51 -0
  161. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +16 -0
  162. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +74 -0
  163. package/cjs/pages/SettingsPage/SlippageSettings/index.d.ts +1 -0
  164. package/cjs/pages/SettingsPage/SlippageSettings/index.js +17 -0
  165. package/cjs/pages/SettingsPage/ThemeSettings.d.ts +2 -0
  166. package/cjs/pages/SettingsPage/ThemeSettings.js +39 -0
  167. package/cjs/pages/TransactionDetailsPage/ContactSupportButton.js +2 -2
  168. package/cjs/pages/TransactionDetailsPage/TransactionDetailsPage.js +33 -28
  169. package/cjs/pages/TransactionDetailsPage/TransactionDetailsSkeleton.d.ts +1 -0
  170. package/cjs/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +31 -0
  171. package/cjs/pages/TransactionHistoryPage/TransactionHistoryItem.d.ts +4 -2
  172. package/cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js +34 -7
  173. package/cjs/pages/TransactionHistoryPage/TransactionHistoryPage.js +21 -22
  174. package/cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.d.ts +1 -0
  175. package/cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +26 -0
  176. package/cjs/pages/TransactionHistoryPage/constants.d.ts +1 -0
  177. package/cjs/pages/TransactionHistoryPage/constants.js +4 -0
  178. package/cjs/pages/TransactionPage/ExchangeRateBottomSheet.js +11 -10
  179. package/cjs/pages/TransactionPage/StartTransactionButton.js +2 -2
  180. package/cjs/pages/TransactionPage/StatusBottomSheet.js +12 -8
  181. package/cjs/pages/TransactionPage/TransactionPage.js +1 -1
  182. package/cjs/providers/FormProvider/FormUpdater.js +4 -4
  183. package/cjs/providers/I18nProvider/I18nProvider.js +3 -7
  184. package/cjs/providers/I18nProvider/types.d.ts +4 -3
  185. package/cjs/providers/WalletProvider/EVMProvider.d.ts +3 -0
  186. package/cjs/providers/WalletProvider/EVMProvider.js +79 -0
  187. package/cjs/providers/WalletProvider/SDKProviders.d.ts +1 -0
  188. package/cjs/providers/WalletProvider/SDKProviders.js +31 -0
  189. package/cjs/providers/WalletProvider/SolanaProvider.d.ts +3 -0
  190. package/cjs/providers/WalletProvider/SolanaProvider.js +35 -0
  191. package/cjs/providers/WalletProvider/WalletProvider.d.ts +1 -15
  192. package/cjs/providers/WalletProvider/WalletProvider.js +5 -183
  193. package/cjs/providers/WalletProvider/index.d.ts +1 -1
  194. package/cjs/providers/WalletProvider/index.js +1 -1
  195. package/cjs/providers/WalletProvider/utils.d.ts +3 -0
  196. package/cjs/providers/WalletProvider/utils.js +25 -0
  197. package/cjs/providers/WidgetProvider/WidgetProvider.js +51 -35
  198. package/cjs/providers/index.d.ts +0 -1
  199. package/cjs/providers/index.js +0 -1
  200. package/cjs/stores/chains/ChainOrderStore.js +24 -0
  201. package/cjs/stores/header/useHeaderStore.d.ts +1 -1
  202. package/cjs/stores/header/useHeaderStore.js +2 -2
  203. package/cjs/stores/routes/createRouteExecutionStore.js +6 -60
  204. package/cjs/stores/routes/index.d.ts +0 -1
  205. package/cjs/stores/routes/index.js +0 -1
  206. package/cjs/stores/routes/types.d.ts +2 -2
  207. package/cjs/stores/routes/utils.d.ts +8 -8
  208. package/cjs/stores/routes/utils.js +7 -5
  209. package/cjs/stores/settings/useSettingsStore.js +2 -4
  210. package/cjs/stores/settings/useSplitSubvariantStore.d.ts +1 -1
  211. package/cjs/stores/settings/useSplitSubvariantStore.js +2 -2
  212. package/cjs/types/events.d.ts +6 -5
  213. package/cjs/types/events.js +1 -1
  214. package/cjs/types/widget.d.ts +7 -14
  215. package/cjs/utils/colors.d.ts +3 -0
  216. package/cjs/utils/colors.js +13 -1
  217. package/cjs/utils/converters.d.ts +3 -0
  218. package/cjs/utils/converters.js +172 -0
  219. package/cjs/utils/format.d.ts +1 -1
  220. package/cjs/utils/format.js +5 -12
  221. package/cjs/utils/index.d.ts +1 -0
  222. package/cjs/utils/index.js +1 -0
  223. package/cjs/utils/navigationRoutes.d.ts +1 -0
  224. package/cjs/utils/navigationRoutes.js +3 -1
  225. package/cjs/utils/svm.d.ts +1 -0
  226. package/cjs/utils/svm.js +14 -0
  227. package/components/ActiveTransactions/ActiveTransactionItem.js +1 -5
  228. package/components/ActiveTransactions/ActiveTransactions.js +2 -2
  229. package/components/AmountInput/AmountInputEndAdornment.js +10 -11
  230. package/components/AmountInput/FormPriceHelperText.js +1 -1
  231. package/components/BaseTransactionButton/BaseTransactionButton.js +6 -5
  232. package/components/Card/CardLabel.d.ts +1 -1
  233. package/components/ChainSelect/ChainSelect.js +8 -5
  234. package/components/ChainSelect/useChainSelect.js +22 -3
  235. package/components/GasMessage/GasMessage.style.js +3 -6
  236. package/components/GasMessage/GasSufficiencyMessage.js +2 -1
  237. package/components/Header/Header.style.d.ts +8 -0
  238. package/components/Header/Header.style.js +16 -1
  239. package/components/Header/NavigationHeader.d.ts +1 -0
  240. package/components/Header/NavigationHeader.js +16 -10
  241. package/components/Header/NavigationTabs.js +3 -3
  242. package/components/Header/SettingsButton.d.ts +1 -0
  243. package/components/Header/SettingsButton.js +21 -0
  244. package/components/Header/SettingsButton.style.d.ts +11 -0
  245. package/components/Header/SettingsButton.style.js +40 -0
  246. package/components/Header/WalletHeader.js +15 -28
  247. package/components/Header/WalletMenu.d.ts +3 -1
  248. package/components/Header/WalletMenu.js +58 -25
  249. package/components/Header/WalletMenu.style.d.ts +1 -0
  250. package/components/Header/WalletMenu.style.js +24 -0
  251. package/components/Insurance/InsuranceCollapsed.js +1 -1
  252. package/components/NFT/NFT.js +3 -1
  253. package/components/NFT/types.d.ts +1 -1
  254. package/components/PoweredBy/PoweredBy.js +2 -1
  255. package/components/RouteCard/RouteCard.js +3 -3
  256. package/components/RouteCard/RouteCardEssentials.js +2 -1
  257. package/components/RouteCard/utils.d.ts +2 -3
  258. package/components/RouteCard/utils.js +4 -9
  259. package/components/SendToWallet/SendToWallet.js +26 -23
  260. package/components/SendToWallet/SendToWalletButton.js +5 -4
  261. package/{cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts → components/SettingsListItemButton.d.ts} +1 -1
  262. package/components/SettingsListItemButton.js +5 -0
  263. package/components/Step/DestinationWalletAddress.d.ts +2 -2
  264. package/components/Step/GasStepProcess.d.ts +2 -2
  265. package/components/Step/Step.d.ts +2 -2
  266. package/components/Step/Step.js +2 -2
  267. package/components/Step/StepList.d.ts +2 -2
  268. package/components/Step/StepList.js +4 -4
  269. package/components/Step/StepProcess.d.ts +2 -2
  270. package/components/Step/StepTimer.d.ts +2 -2
  271. package/components/StepActions/StepActions.d.ts +3 -3
  272. package/components/StepActions/StepActions.js +12 -15
  273. package/components/StepActions/types.d.ts +2 -2
  274. package/components/{Header/NavigationTabs.style.d.ts → Tabs/Tabs.style.d.ts} +2 -2
  275. package/components/Tabs/Tabs.style.js +36 -0
  276. package/components/Tabs/index.d.ts +1 -0
  277. package/components/Tabs/index.js +1 -0
  278. package/components/Token/Token.d.ts +3 -3
  279. package/components/Token/Token.js +5 -5
  280. package/components/TokenList/TokenList.js +4 -4
  281. package/components/TokenList/TokenListItem.js +9 -6
  282. package/components/TokenList/TokenNotFound.js +2 -2
  283. package/components/TokenList/VirtualizedTokenList.js +2 -1
  284. package/config/queryClient.js +0 -4
  285. package/config/version.d.ts +1 -1
  286. package/config/version.js +1 -1
  287. package/hooks/index.d.ts +7 -1
  288. package/hooks/index.js +7 -1
  289. package/hooks/useAccount.d.ts +31 -0
  290. package/hooks/useAccount.js +48 -0
  291. package/hooks/useAvailableChains.d.ts +6 -0
  292. package/hooks/useAvailableChains.js +32 -0
  293. package/hooks/useChain.js +3 -6
  294. package/hooks/useChains.d.ts +1 -1
  295. package/hooks/useChains.js +9 -40
  296. package/hooks/useFromTokenSufficiency.d.ts +3 -3
  297. package/hooks/useFromTokenSufficiency.js +41 -43
  298. package/hooks/useGasRecommendation.d.ts +2 -2
  299. package/hooks/useGasRecommendation.js +23 -18
  300. package/hooks/useGasRefuel.js +19 -12
  301. package/hooks/useGasSufficiency.d.ts +6 -7
  302. package/hooks/useGasSufficiency.js +69 -72
  303. package/hooks/useLanguages.d.ts +6 -0
  304. package/hooks/useLanguages.js +24 -0
  305. package/hooks/useProcessMessage.d.ts +3 -3
  306. package/hooks/useProcessMessage.js +33 -29
  307. package/hooks/useRequiredToAddress.d.ts +1 -0
  308. package/hooks/useRequiredToAddress.js +15 -0
  309. package/hooks/useRouteExecution.d.ts +2 -2
  310. package/hooks/useRouteExecution.js +44 -58
  311. package/hooks/useRoutes.d.ts +1 -1
  312. package/hooks/useRoutes.js +131 -116
  313. package/hooks/useSettingMonitor.d.ts +11 -0
  314. package/hooks/useSettingMonitor.js +53 -0
  315. package/hooks/useTokenAddressBalance.d.ts +1 -1
  316. package/hooks/useTokenBalance.d.ts +5 -3
  317. package/hooks/useTokenBalance.js +74 -45
  318. package/hooks/useTokenBalances.d.ts +3 -3
  319. package/hooks/useTokenBalances.js +34 -24
  320. package/hooks/useTokenSearch.js +18 -17
  321. package/hooks/useTokens.d.ts +2 -1
  322. package/hooks/useTokens.js +19 -16
  323. package/hooks/useTools.d.ts +1 -1
  324. package/hooks/useTools.js +13 -12
  325. package/hooks/useTransactionDetails.d.ts +4 -0
  326. package/hooks/useTransactionDetails.js +52 -0
  327. package/hooks/useTransactionHistory.d.ts +5 -0
  328. package/hooks/useTransactionHistory.js +35 -0
  329. package/i18n/en.json +18 -9
  330. package/i18n/fr.json +7 -4
  331. package/i18n/pt.json +7 -4
  332. package/i18n/tr.json +7 -4
  333. package/i18n/uk.json +7 -4
  334. package/i18n/zh.json +7 -4
  335. package/icons/index.d.ts +1 -3
  336. package/icons/index.js +1 -3
  337. package/icons/lifi.d.ts +1 -0
  338. package/icons/lifi.js +1 -0
  339. package/index.d.ts +2 -3
  340. package/index.js +2 -4
  341. package/package.json +19 -19
  342. package/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +2 -2
  343. package/pages/LanguagesPage/LanguagesPage.d.ts +2 -0
  344. package/pages/LanguagesPage/LanguagesPage.js +18 -0
  345. package/pages/LanguagesPage/index.d.ts +1 -0
  346. package/pages/LanguagesPage/index.js +1 -0
  347. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +16 -6
  348. package/pages/SelectWalletPage/EVMListItemButton.d.ts +8 -0
  349. package/pages/SelectWalletPage/EVMListItemButton.js +36 -0
  350. package/pages/SelectWalletPage/SVMListItemButton.d.ts +6 -0
  351. package/pages/SelectWalletPage/SVMListItemButton.js +30 -0
  352. package/pages/SelectWalletPage/SelectWalletPage.js +34 -35
  353. package/pages/SelectWalletPage/utils.d.ts +3 -0
  354. package/pages/SelectWalletPage/utils.js +17 -0
  355. package/{cjs/pages/SettingsPage/EnabledToolsButton.d.ts → pages/SettingsPage/BridgeAndExchangeSettings.d.ts} +1 -1
  356. package/pages/SettingsPage/BridgeAndExchangeSettings.js +32 -0
  357. package/pages/SettingsPage/GasPriceSettings.d.ts +2 -0
  358. package/pages/SettingsPage/GasPriceSettings.js +17 -0
  359. package/pages/SettingsPage/LanguageSetting.d.ts +2 -0
  360. package/pages/SettingsPage/LanguageSetting.js +22 -0
  361. package/pages/SettingsPage/ResetSettingsButton.js +4 -31
  362. package/pages/SettingsPage/RoutePrioritySettings.d.ts +2 -0
  363. package/pages/SettingsPage/RoutePrioritySettings.js +21 -0
  364. package/pages/SettingsPage/SendToWalletOptionSetting.d.ts +1 -0
  365. package/pages/SettingsPage/{ShowDestinationWallet.js → SendToWalletOptionSetting.js} +4 -7
  366. package/pages/SettingsPage/SettingsCard/BadgedValue.d.ts +8 -0
  367. package/pages/SettingsPage/SettingsCard/BadgedValue.js +3 -0
  368. package/pages/SettingsPage/SettingsCard/SettingCard.d.ts +2 -0
  369. package/pages/SettingsPage/SettingsCard/SettingCard.js +7 -0
  370. package/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +19 -0
  371. package/pages/SettingsPage/SettingsCard/SettingCard.style.js +50 -0
  372. package/pages/SettingsPage/SettingsCard/SettingCardButton.d.ts +7 -0
  373. package/pages/SettingsPage/SettingsCard/SettingCardButton.js +4 -0
  374. package/pages/SettingsPage/SettingsCard/SettingCardExpandable.d.ts +7 -0
  375. package/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +12 -0
  376. package/pages/SettingsPage/SettingsCard/SettingsAccordian.d.ts +6 -0
  377. package/pages/SettingsPage/SettingsCard/SettingsAccordian.js +31 -0
  378. package/pages/SettingsPage/SettingsCard/index.d.ts +6 -0
  379. package/pages/SettingsPage/SettingsCard/index.js +6 -0
  380. package/pages/SettingsPage/SettingsCard/types.d.ts +5 -0
  381. package/pages/SettingsPage/SettingsPage.js +10 -9
  382. package/pages/SettingsPage/SlippageSettings/SlippageSettings.d.ts +2 -0
  383. package/pages/SettingsPage/SlippageSettings/SlippageSettings.js +47 -0
  384. package/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +16 -0
  385. package/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +71 -0
  386. package/pages/SettingsPage/SlippageSettings/index.d.ts +1 -0
  387. package/pages/SettingsPage/SlippageSettings/index.js +1 -0
  388. package/pages/SettingsPage/ThemeSettings.d.ts +2 -0
  389. package/pages/SettingsPage/ThemeSettings.js +35 -0
  390. package/pages/TransactionDetailsPage/ContactSupportButton.js +2 -2
  391. package/pages/TransactionDetailsPage/TransactionDetailsPage.js +38 -33
  392. package/pages/TransactionDetailsPage/TransactionDetailsSkeleton.d.ts +1 -0
  393. package/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +27 -0
  394. package/pages/TransactionHistoryPage/TransactionHistoryItem.d.ts +4 -2
  395. package/pages/TransactionHistoryPage/TransactionHistoryItem.js +34 -7
  396. package/pages/TransactionHistoryPage/TransactionHistoryPage.js +24 -25
  397. package/pages/TransactionHistoryPage/TransactionHistorySkeleton.d.ts +1 -0
  398. package/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +22 -0
  399. package/pages/TransactionHistoryPage/constants.d.ts +1 -0
  400. package/pages/TransactionHistoryPage/constants.js +1 -0
  401. package/pages/TransactionPage/ExchangeRateBottomSheet.js +11 -10
  402. package/pages/TransactionPage/StartTransactionButton.js +2 -2
  403. package/pages/TransactionPage/StatusBottomSheet.js +14 -10
  404. package/pages/TransactionPage/TransactionPage.js +1 -1
  405. package/providers/FormProvider/FormUpdater.js +4 -4
  406. package/providers/I18nProvider/I18nProvider.js +4 -8
  407. package/providers/I18nProvider/types.d.ts +4 -3
  408. package/providers/WalletProvider/EVMProvider.d.ts +3 -0
  409. package/providers/WalletProvider/EVMProvider.js +74 -0
  410. package/providers/WalletProvider/SDKProviders.d.ts +1 -0
  411. package/providers/WalletProvider/SDKProviders.js +27 -0
  412. package/providers/WalletProvider/SolanaProvider.d.ts +3 -0
  413. package/providers/WalletProvider/SolanaProvider.js +30 -0
  414. package/providers/WalletProvider/WalletProvider.d.ts +1 -15
  415. package/providers/WalletProvider/WalletProvider.js +5 -181
  416. package/providers/WalletProvider/index.d.ts +1 -1
  417. package/providers/WalletProvider/index.js +1 -1
  418. package/providers/WalletProvider/utils.d.ts +3 -0
  419. package/providers/WalletProvider/utils.js +21 -0
  420. package/providers/WidgetProvider/WidgetProvider.js +52 -36
  421. package/providers/index.d.ts +0 -1
  422. package/providers/index.js +0 -1
  423. package/stores/chains/ChainOrderStore.js +25 -1
  424. package/stores/header/useHeaderStore.d.ts +1 -1
  425. package/stores/header/useHeaderStore.js +2 -2
  426. package/stores/routes/createRouteExecutionStore.js +6 -60
  427. package/stores/routes/index.d.ts +0 -1
  428. package/stores/routes/index.js +0 -1
  429. package/stores/routes/types.d.ts +2 -2
  430. package/stores/routes/utils.d.ts +8 -8
  431. package/stores/routes/utils.js +5 -3
  432. package/stores/settings/useSettingsStore.js +2 -4
  433. package/stores/settings/useSplitSubvariantStore.d.ts +1 -1
  434. package/stores/settings/useSplitSubvariantStore.js +2 -2
  435. package/tsconfig.cjs.tsbuildinfo +1 -1
  436. package/types/events.d.ts +6 -5
  437. package/types/events.js +1 -1
  438. package/types/widget.d.ts +7 -14
  439. package/utils/colors.d.ts +3 -0
  440. package/utils/colors.js +10 -1
  441. package/utils/converters.d.ts +3 -0
  442. package/utils/converters.js +168 -0
  443. package/utils/format.d.ts +1 -1
  444. package/utils/format.js +5 -12
  445. package/utils/index.d.ts +1 -0
  446. package/utils/index.js +1 -0
  447. package/utils/navigationRoutes.d.ts +1 -0
  448. package/utils/navigationRoutes.js +3 -1
  449. package/utils/svm.d.ts +1 -0
  450. package/utils/svm.js +10 -0
  451. package/cjs/components/LiFiLogo.d.ts +0 -5
  452. package/cjs/components/LiFiLogo.js +0 -10
  453. package/cjs/fonts/Inter-Black.woff +0 -0
  454. package/cjs/fonts/Inter-Black.woff2 +0 -0
  455. package/cjs/fonts/Inter-BlackItalic.woff +0 -0
  456. package/cjs/fonts/Inter-BlackItalic.woff2 +0 -0
  457. package/cjs/fonts/Inter-Bold.woff +0 -0
  458. package/cjs/fonts/Inter-Bold.woff2 +0 -0
  459. package/cjs/fonts/Inter-BoldItalic.woff +0 -0
  460. package/cjs/fonts/Inter-BoldItalic.woff2 +0 -0
  461. package/cjs/fonts/Inter-ExtraBold.woff +0 -0
  462. package/cjs/fonts/Inter-ExtraBold.woff2 +0 -0
  463. package/cjs/fonts/Inter-ExtraBoldItalic.woff +0 -0
  464. package/cjs/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
  465. package/cjs/fonts/Inter-ExtraLight.woff +0 -0
  466. package/cjs/fonts/Inter-ExtraLight.woff2 +0 -0
  467. package/cjs/fonts/Inter-ExtraLightItalic.woff +0 -0
  468. package/cjs/fonts/Inter-ExtraLightItalic.woff2 +0 -0
  469. package/cjs/fonts/Inter-Italic.woff +0 -0
  470. package/cjs/fonts/Inter-Italic.woff2 +0 -0
  471. package/cjs/fonts/Inter-Light.woff +0 -0
  472. package/cjs/fonts/Inter-Light.woff2 +0 -0
  473. package/cjs/fonts/Inter-LightItalic.woff +0 -0
  474. package/cjs/fonts/Inter-LightItalic.woff2 +0 -0
  475. package/cjs/fonts/Inter-Medium.woff +0 -0
  476. package/cjs/fonts/Inter-Medium.woff2 +0 -0
  477. package/cjs/fonts/Inter-MediumItalic.woff +0 -0
  478. package/cjs/fonts/Inter-MediumItalic.woff2 +0 -0
  479. package/cjs/fonts/Inter-Regular.woff +0 -0
  480. package/cjs/fonts/Inter-Regular.woff2 +0 -0
  481. package/cjs/fonts/Inter-SemiBold.woff +0 -0
  482. package/cjs/fonts/Inter-SemiBold.woff2 +0 -0
  483. package/cjs/fonts/Inter-SemiBoldItalic.woff +0 -0
  484. package/cjs/fonts/Inter-SemiBoldItalic.woff2 +0 -0
  485. package/cjs/fonts/Inter-Thin.woff +0 -0
  486. package/cjs/fonts/Inter-Thin.woff2 +0 -0
  487. package/cjs/fonts/Inter-ThinItalic.woff +0 -0
  488. package/cjs/fonts/Inter-ThinItalic.woff2 +0 -0
  489. package/cjs/fonts/Inter-italic.var.woff2 +0 -0
  490. package/cjs/fonts/Inter-roman.var.woff2 +0 -0
  491. package/cjs/fonts/Inter.var.woff2 +0 -0
  492. package/cjs/fonts/inter.css +0 -217
  493. package/cjs/hooks/useGetTokenBalancesWithRetry.d.ts +0 -3
  494. package/cjs/hooks/useGetTokenBalancesWithRetry.js +0 -33
  495. package/cjs/icons/LiFiFullLogo.d.ts +0 -2
  496. package/cjs/icons/LiFiFullLogo.js +0 -6
  497. package/cjs/icons/LiFiLogo.d.ts +0 -2
  498. package/cjs/icons/LiFiLogo.js +0 -6
  499. package/cjs/icons/LiFiToolLogo.d.ts +0 -2
  500. package/cjs/icons/LiFiToolLogo.js +0 -6
  501. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +0 -8
  502. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.d.ts +0 -2
  503. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +0 -27
  504. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +0 -4
  505. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.js +0 -19
  506. package/cjs/pages/SettingsPage/EnabledToolsButton.js +0 -25
  507. package/cjs/pages/SettingsPage/EnabledToolsButton.style.d.ts +0 -5
  508. package/cjs/pages/SettingsPage/EnabledToolsButton.style.js +0 -17
  509. package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  510. package/cjs/pages/SettingsPage/GasPriceSelect.js +0 -17
  511. package/cjs/pages/SettingsPage/LanguageSelect.d.ts +0 -2
  512. package/cjs/pages/SettingsPage/LanguageSelect.js +0 -37
  513. package/cjs/pages/SettingsPage/RoutePrioritySelect.d.ts +0 -2
  514. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +0 -23
  515. package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  516. package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
  517. package/cjs/pages/SettingsPage/SlippageInput.js +0 -30
  518. package/cjs/providers/SDKProvider/SDKProvider.d.ts +0 -4
  519. package/cjs/providers/SDKProvider/SDKProvider.js +0 -41
  520. package/cjs/providers/SDKProvider/index.d.ts +0 -1
  521. package/cjs/providers/WalletProvider/types.d.ts +0 -17
  522. package/cjs/stores/routes/useTransactionHistory.d.ts +0 -2
  523. package/cjs/stores/routes/useTransactionHistory.js +0 -15
  524. package/components/Header/NavigationTabs.style.js +0 -58
  525. package/components/LiFiLogo.d.ts +0 -5
  526. package/components/LiFiLogo.js +0 -6
  527. package/fonts/Inter-Black.woff +0 -0
  528. package/fonts/Inter-Black.woff2 +0 -0
  529. package/fonts/Inter-BlackItalic.woff +0 -0
  530. package/fonts/Inter-BlackItalic.woff2 +0 -0
  531. package/fonts/Inter-Bold.woff +0 -0
  532. package/fonts/Inter-Bold.woff2 +0 -0
  533. package/fonts/Inter-BoldItalic.woff +0 -0
  534. package/fonts/Inter-BoldItalic.woff2 +0 -0
  535. package/fonts/Inter-ExtraBold.woff +0 -0
  536. package/fonts/Inter-ExtraBold.woff2 +0 -0
  537. package/fonts/Inter-ExtraBoldItalic.woff +0 -0
  538. package/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
  539. package/fonts/Inter-ExtraLight.woff +0 -0
  540. package/fonts/Inter-ExtraLight.woff2 +0 -0
  541. package/fonts/Inter-ExtraLightItalic.woff +0 -0
  542. package/fonts/Inter-ExtraLightItalic.woff2 +0 -0
  543. package/fonts/Inter-Italic.woff +0 -0
  544. package/fonts/Inter-Italic.woff2 +0 -0
  545. package/fonts/Inter-Light.woff +0 -0
  546. package/fonts/Inter-Light.woff2 +0 -0
  547. package/fonts/Inter-LightItalic.woff +0 -0
  548. package/fonts/Inter-LightItalic.woff2 +0 -0
  549. package/fonts/Inter-Medium.woff +0 -0
  550. package/fonts/Inter-Medium.woff2 +0 -0
  551. package/fonts/Inter-MediumItalic.woff +0 -0
  552. package/fonts/Inter-MediumItalic.woff2 +0 -0
  553. package/fonts/Inter-Regular.woff +0 -0
  554. package/fonts/Inter-Regular.woff2 +0 -0
  555. package/fonts/Inter-SemiBold.woff +0 -0
  556. package/fonts/Inter-SemiBold.woff2 +0 -0
  557. package/fonts/Inter-SemiBoldItalic.woff +0 -0
  558. package/fonts/Inter-SemiBoldItalic.woff2 +0 -0
  559. package/fonts/Inter-Thin.woff +0 -0
  560. package/fonts/Inter-Thin.woff2 +0 -0
  561. package/fonts/Inter-ThinItalic.woff +0 -0
  562. package/fonts/Inter-ThinItalic.woff2 +0 -0
  563. package/fonts/Inter-italic.var.woff2 +0 -0
  564. package/fonts/Inter-roman.var.woff2 +0 -0
  565. package/fonts/Inter.var.woff2 +0 -0
  566. package/fonts/inter.css +0 -217
  567. package/hooks/useGetTokenBalancesWithRetry.d.ts +0 -3
  568. package/hooks/useGetTokenBalancesWithRetry.js +0 -29
  569. package/icons/LiFiFullLogo.d.ts +0 -2
  570. package/icons/LiFiFullLogo.js +0 -2
  571. package/icons/LiFiLogo.d.ts +0 -2
  572. package/icons/LiFiLogo.js +0 -2
  573. package/icons/LiFiToolLogo.d.ts +0 -2
  574. package/icons/LiFiToolLogo.js +0 -2
  575. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +0 -5
  576. package/pages/SettingsPage/ColorSchemeButtonGroup.d.ts +0 -2
  577. package/pages/SettingsPage/ColorSchemeButtonGroup.js +0 -23
  578. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +0 -4
  579. package/pages/SettingsPage/ColorSchemeButtonGroup.style.js +0 -16
  580. package/pages/SettingsPage/EnabledToolsButton.js +0 -21
  581. package/pages/SettingsPage/EnabledToolsButton.style.d.ts +0 -5
  582. package/pages/SettingsPage/EnabledToolsButton.style.js +0 -14
  583. package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  584. package/pages/SettingsPage/GasPriceSelect.js +0 -13
  585. package/pages/SettingsPage/LanguageSelect.d.ts +0 -2
  586. package/pages/SettingsPage/LanguageSelect.js +0 -33
  587. package/pages/SettingsPage/RoutePrioritySelect.d.ts +0 -2
  588. package/pages/SettingsPage/RoutePrioritySelect.js +0 -19
  589. package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  590. package/pages/SettingsPage/SlippageInput.d.ts +0 -1
  591. package/pages/SettingsPage/SlippageInput.js +0 -26
  592. package/providers/SDKProvider/SDKProvider.d.ts +0 -4
  593. package/providers/SDKProvider/SDKProvider.js +0 -36
  594. package/providers/SDKProvider/index.d.ts +0 -1
  595. package/providers/SDKProvider/index.js +0 -1
  596. package/providers/WalletProvider/types.d.ts +0 -17
  597. package/stores/routes/useTransactionHistory.d.ts +0 -2
  598. package/stores/routes/useTransactionHistory.js +0 -11
  599. /package/cjs/{providers/WalletProvider → pages/SettingsPage/SettingsCard}/types.js +0 -0
  600. /package/{providers/WalletProvider → pages/SettingsPage/SettingsCard}/types.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "2.9.3",
3
+ "version": "3.0.0-alpha.0",
4
4
  "description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -39,31 +39,31 @@
39
39
  "dependencies": {
40
40
  "@emotion/react": "^11.11.1",
41
41
  "@emotion/styled": "^11.11.0",
42
- "@ethersproject/abstract-signer": "^5.7.0",
43
- "@ethersproject/address": "^5.7.0",
44
- "@ethersproject/experimental": "^5.7.0",
45
- "@ethersproject/providers": "^5.7.2",
46
- "@lifi/sdk": "^2.4.3",
47
- "@lifi/wallet-management": "^2.5.2",
48
- "@mui/icons-material": "^5.14.14",
49
- "@mui/lab": "^5.0.0-alpha.149",
50
- "@mui/material": "^5.14.14",
51
- "@tanstack/react-query": "^4.36.1",
42
+ "@lifi/sdk": "^3.0.0-alpha.36",
43
+ "@lifi/wallet-management": "^3.0.0-alpha.0",
44
+ "@mui/icons-material": "^5.14.19",
45
+ "@mui/lab": "^5.0.0-alpha.154",
46
+ "@mui/material": "^5.14.19",
47
+ "@solana/wallet-adapter-base": "^0.9.23",
48
+ "@solana/wallet-adapter-react": "^0.15.35",
49
+ "@solana/wallet-adapter-wallets": "^0.19.23",
50
+ "@solana/web3.js": "^1.87.6",
51
+ "@tanstack/react-query": "^5.12.0",
52
52
  "@tanstack/react-virtual": "^3.0.0-beta.68",
53
- "big.js": "^6.2.1",
54
- "i18next": "^23.6.0",
55
- "i18next-browser-languagedetector": "^7.1.0",
53
+ "i18next": "^23.7.7",
56
54
  "microdiff": "^1.3.2",
57
55
  "mitt": "^3.0.1",
58
56
  "react": "^18.2.0",
59
57
  "react-dom": "^18.2.0",
60
- "react-hook-form": "^7.47.0",
61
- "react-i18next": "^13.3.1",
62
- "react-intersection-observer": "^9.5.2",
63
- "react-router-dom": "^6.17.0",
58
+ "react-hook-form": "^7.48.2",
59
+ "react-i18next": "^13.5.0",
60
+ "react-intersection-observer": "^9.5.3",
61
+ "react-router-dom": "^6.20.0",
64
62
  "react-timer-hook": "^3.0.7",
65
63
  "uuid": "^9.0.1",
66
- "zustand": "^4.4.4"
64
+ "viem": "^2.0.0-beta.6",
65
+ "wagmi": "^2.0.0-beta.5",
66
+ "zustand": "^4.4.7"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "@types/react": "^18.0.0",
@@ -5,12 +5,12 @@ import { useCallback, useEffect, useState } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { ActiveTransactionItem } from '../../components/ActiveTransactions';
7
7
  import { Dialog } from '../../components/Dialog';
8
- import { useWallet } from '../../providers';
8
+ import { useAccount } from '../../hooks';
9
9
  import { useExecutingRoutesIds, useHeaderStoreContext, useRouteExecutionStore, } from '../../stores';
10
10
  import { ActiveTransactionsEmpty } from './ActiveTransactionsEmpty';
11
11
  export const ActiveTransactionsPage = () => {
12
12
  const { t } = useTranslation();
13
- const { account } = useWallet();
13
+ const { account } = useAccount();
14
14
  const executingRoutes = useExecutingRoutesIds(account.address);
15
15
  const deleteRoutes = useRouteExecutionStore((store) => store.deleteRoutes);
16
16
  const headerStoreContext = useHeaderStoreContext();
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const LanguagesPage: React.FC;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useTranslation } from 'react-i18next';
3
+ import CheckIcon from '@mui/icons-material/Check';
4
+ import { Container, List } from '@mui/material';
5
+ import { ListItemText } from '../../components/ListItemText';
6
+ import { SettingsListItemButton } from '../../components/SettingsListItemButton';
7
+ import { useLanguages } from '../../hooks';
8
+ export const LanguagesPage = () => {
9
+ const { selectedLanguageCode, availableLanguages, setLanguageWithCode } = useLanguages();
10
+ const { t } = useTranslation();
11
+ if (availableLanguages.length < 1) {
12
+ return null;
13
+ }
14
+ return (_jsx(Container, { disableGutters: true, children: _jsx(List, { sx: {
15
+ paddingLeft: 1.5,
16
+ paddingRight: 1.5,
17
+ }, children: availableLanguages.map((language) => (_jsxs(SettingsListItemButton, { onClick: () => setLanguageWithCode(language), children: [_jsx(ListItemText, { primary: t('language.name', { lng: language }) }), selectedLanguageCode === language && _jsx(CheckIcon, { color: "primary" })] }, language))) }) }));
18
+ };
@@ -0,0 +1 @@
1
+ export * from './LanguagesPage';
@@ -0,0 +1 @@
1
+ export * from './LanguagesPage';
@@ -1,15 +1,23 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import CheckBoxIcon from '@mui/icons-material/CheckBox';
2
+ import { useEffect } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import CheckIcon from '@mui/icons-material/Check';
3
5
  import CheckBoxOutlineBlankOutlinedIcon from '@mui/icons-material/CheckBoxOutlineBlankOutlined';
4
6
  import CheckBoxOutlinedIcon from '@mui/icons-material/CheckBoxOutlined';
5
7
  import IndeterminateCheckBoxOutlinedIcon from '@mui/icons-material/IndeterminateCheckBoxOutlined';
6
- import { Avatar, Container, IconButton, List, ListItemAvatar, } from '@mui/material';
7
- import { useEffect } from 'react';
8
+ import { Avatar, Container, IconButton, List, ListItemAvatar, Tooltip, } from '@mui/material';
8
9
  import { shallow } from 'zustand/shallow';
9
10
  import { ListItemText } from '../../components/ListItemText';
10
11
  import { useTools } from '../../hooks';
11
12
  import { useHeaderStoreContext, useSettingsStore } from '../../stores';
12
- import { ListItemButton } from './SelectEnabledToolsPage.style';
13
+ import { SettingsListItemButton } from '../../components/SettingsListItemButton';
14
+ const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, onClick, }) => {
15
+ const { t } = useTranslation();
16
+ const tooltipTitle = allCheckboxesSelected
17
+ ? t('tooltip.deselectAll')
18
+ : t('tooltip.selectAll');
19
+ return (_jsx(Tooltip, { title: tooltipTitle, arrow: true, children: _jsx(IconButton, { size: "medium", edge: "end", onClick: onClick, children: allCheckboxesSelected ? (_jsx(CheckBoxOutlinedIcon, {})) : anyCheckboxesSelected ? (_jsx(IndeterminateCheckBoxOutlinedIcon, {})) : (_jsx(CheckBoxOutlineBlankOutlinedIcon, {})) }) }));
20
+ };
13
21
  export const SelectEnabledToolsPage = ({ type }) => {
14
22
  const typeKey = type.toLowerCase();
15
23
  const { tools } = useTools();
@@ -41,10 +49,12 @@ export const SelectEnabledToolsPage = ({ type }) => {
41
49
  setTools(type, toolKeys, toolKeys);
42
50
  }
43
51
  };
44
- return headerStoreContext.getState().setAction(_jsx(IconButton, { size: "medium", edge: "end", onClick: toggleCheckboxes, children: allToolsSelected ? (_jsx(CheckBoxOutlinedIcon, {})) : enabledTools.length ? (_jsx(IndeterminateCheckBoxOutlinedIcon, {})) : (_jsx(CheckBoxOutlineBlankOutlinedIcon, {})) }));
52
+ return headerStoreContext
53
+ .getState()
54
+ .setAction(_jsx(SelectAllCheckbox, { allCheckboxesSelected: allToolsSelected, anyCheckboxesSelected: !!enabledTools.length, onClick: toggleCheckboxes }));
45
55
  }, [enabledTools.length, headerStoreContext, setTools, tools, type, typeKey]);
46
56
  return (_jsx(Container, { disableGutters: true, children: _jsx(List, { sx: {
47
57
  paddingLeft: 1.5,
48
58
  paddingRight: 1.5,
49
- }, children: tools?.[typeKey].map((tool) => (_jsxs(ListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools?.includes(tool.key) ? (_jsx(CheckBoxIcon, { color: "primary" })) : (_jsx(CheckBoxOutlineBlankOutlinedIcon, {}))] }, tool.name))) }) }));
59
+ }, children: tools?.[typeKey].map((tool) => (_jsxs(SettingsListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools?.includes(tool.key) && _jsx(CheckIcon, { color: "primary" })] }, tool.name))) }) }));
50
60
  };
@@ -0,0 +1,8 @@
1
+ import type { Connector } from 'wagmi';
2
+ interface EVMListItemButtonProps {
3
+ connectedConnector?: Connector;
4
+ connector: Connector;
5
+ onNotInstalled(connector: Connector): void;
6
+ }
7
+ export declare const EVMListItemButton: ({ connectedConnector, connector, onNotInstalled, }: EVMListItemButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChainType } from '@lifi/sdk';
3
+ import { getWalletIcon, isWalletInstalledAsync } from '@lifi/wallet-management';
4
+ import { Avatar, ListItemAvatar } from '@mui/material';
5
+ import { useConnect, useDisconnect } from 'wagmi';
6
+ import { ListItemButton } from '../../components/ListItemButton';
7
+ import { ListItemText } from '../../components/ListItemText';
8
+ import { useNavigateBack, useWidgetEvents } from '../../hooks';
9
+ import { WidgetEvent } from '../../types';
10
+ export const EVMListItemButton = ({ connectedConnector, connector, onNotInstalled, }) => {
11
+ const { navigateBack } = useNavigateBack();
12
+ const emitter = useWidgetEvents();
13
+ const { connectAsync } = useConnect();
14
+ const { disconnectAsync } = useDisconnect();
15
+ const handleEVMConnect = async () => {
16
+ const identityCheckPassed = await isWalletInstalledAsync(connector.id);
17
+ if (!identityCheckPassed) {
18
+ onNotInstalled(connector);
19
+ return;
20
+ }
21
+ if (connectedConnector) {
22
+ await disconnectAsync({ connector: connectedConnector });
23
+ }
24
+ await connectAsync({ connector }, {
25
+ onSuccess(data) {
26
+ emitter.emit(WidgetEvent.WalletConnected, {
27
+ address: data.accounts[0],
28
+ chainId: data.chainId,
29
+ chainType: ChainType.EVM,
30
+ });
31
+ },
32
+ });
33
+ navigateBack();
34
+ };
35
+ return (_jsxs(ListItemButton, { onClick: handleEVMConnect, children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: connector.icon || getWalletIcon(connector.id), alt: connector.name, children: connector.name[0] }) }), _jsx(ListItemText, { primary: connector.name })] }, connector.uid));
36
+ };
@@ -0,0 +1,6 @@
1
+ import type { Wallet } from '@solana/wallet-adapter-react';
2
+ interface SVMListItemButtonProps {
3
+ wallet: Wallet;
4
+ }
5
+ export declare const SVMListItemButton: ({ wallet }: SVMListItemButtonProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChainId, ChainType } from '@lifi/sdk';
3
+ import { Avatar, ListItemAvatar } from '@mui/material';
4
+ import { useWallet } from '@solana/wallet-adapter-react';
5
+ import { ListItemButton } from '../../components/ListItemButton';
6
+ import { ListItemText } from '../../components/ListItemText';
7
+ import { useNavigateBack, useWidgetEvents } from '../../hooks';
8
+ import { WidgetEvent } from '../../types';
9
+ export const SVMListItemButton = ({ wallet }) => {
10
+ const { navigateBack } = useNavigateBack();
11
+ const emitter = useWidgetEvents();
12
+ const { select, disconnect, connected } = useWallet();
13
+ const connect = async () => {
14
+ if (connected) {
15
+ await disconnect();
16
+ }
17
+ select(wallet.adapter.name);
18
+ // We use autoConnect on wallet selection
19
+ // await solanaConnect();
20
+ wallet.adapter.once('connect', (publicKey) => {
21
+ emitter.emit(WidgetEvent.WalletConnected, {
22
+ address: publicKey?.toString(),
23
+ chainId: ChainId.SOL,
24
+ chainType: ChainType.SVM,
25
+ });
26
+ });
27
+ navigateBack();
28
+ };
29
+ return (_jsxs(ListItemButton, { onClick: connect, children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: wallet.adapter.icon, alt: wallet.adapter.name, children: wallet.adapter.name[0] }) }), _jsx(ListItemText, { primary: `${wallet.adapter.name} (Solana)` })] }, wallet.adapter.name));
30
+ };
@@ -1,19 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { supportedWallets } from '@lifi/wallet-management';
3
- import { Avatar, Button, Container, DialogActions, DialogContent, DialogContentText, List, ListItemAvatar, useMediaQuery, } from '@mui/material';
4
- import { useCallback, useEffect, useState } from 'react';
2
+ import { isWalletInstalled } from '@lifi/wallet-management';
3
+ import { Button, Container, DialogActions, DialogContent, DialogContentText, List, useMediaQuery, } from '@mui/material';
4
+ import { WalletReadyState } from '@solana/wallet-adapter-base';
5
+ import { useWallet } from '@solana/wallet-adapter-react';
6
+ import { useCallback, useMemo, useState } from 'react';
5
7
  import { useTranslation } from 'react-i18next';
8
+ import { useConnect, useAccount as useWagmiAccount } from 'wagmi';
6
9
  import { Dialog } from '../../components/Dialog';
7
- import { ListItemButton } from '../../components/ListItemButton';
8
- import { ListItemText } from '../../components/ListItemText';
9
- import { useNavigateBack } from '../../hooks';
10
- import { useWallet } from '../../providers';
10
+ import { EVMListItemButton } from './EVMListItemButton';
11
+ import { SVMListItemButton } from './SVMListItemButton';
12
+ import { walletComparator } from './utils';
11
13
  export const SelectWalletPage = () => {
12
14
  const { t } = useTranslation();
13
- const { navigateBack } = useNavigateBack();
14
- const { connect } = useWallet();
15
+ const account = useWagmiAccount();
16
+ const { connectors } = useConnect();
15
17
  const [walletIdentity, setWalletIdentity] = useState({ show: false });
16
- const [wallets, setWallets] = useState();
18
+ const { wallets: solanaWallets } = useWallet();
17
19
  const isDesktopView = useMediaQuery((theme) => theme.breakpoints.up('sm'));
18
20
  const closeDialog = () => {
19
21
  setWalletIdentity((state) => ({
@@ -21,35 +23,32 @@ export const SelectWalletPage = () => {
21
23
  show: false,
22
24
  }));
23
25
  };
24
- const handleConnect = useCallback(async (wallet) => {
25
- const identityCheckPassed = await wallet.installed();
26
- if (!identityCheckPassed) {
27
- setWalletIdentity({
28
- show: true,
29
- wallet,
30
- });
31
- return;
32
- }
33
- navigateBack();
34
- await connect(wallet);
35
- }, [connect, navigateBack]);
36
- useEffect(() => {
37
- Promise.all(supportedWallets.map((wallet) => wallet.installed())).then((installed) => {
38
- // separate into installed and not installed wallets
39
- const installedWallets = supportedWallets.filter((_, index) => installed[index]);
40
- // always remove Default Wallet from not installed Wallets
41
- const notInstalledWallets = supportedWallets.filter((wallet, index) => !installed[index] && wallet.name !== 'Default Wallet');
42
- const allowedWallets = [...installedWallets];
43
- if (isDesktopView) {
44
- allowedWallets.push(...notInstalledWallets);
45
- }
46
- setWallets(allowedWallets);
26
+ const handleNotInstalled = useCallback(async (connector) => {
27
+ setWalletIdentity({
28
+ show: true,
29
+ connector,
47
30
  });
48
31
  }, []);
32
+ const wallets = useMemo(() => {
33
+ const evmInstalled = connectors.filter((connector) => isWalletInstalled(connector.id) &&
34
+ // We should not show already connected connectors
35
+ account.connector?.id !== connector.id);
36
+ const evmNotDetected = connectors.filter((connector) => !isWalletInstalled(connector.id));
37
+ const svmInstalled = solanaWallets?.filter((connector) => connector.adapter.readyState === WalletReadyState.Installed &&
38
+ // We should not show already connected connectors
39
+ !connector.adapter.connected);
40
+ const svmNotDetected = solanaWallets?.filter((connector) => connector.adapter.readyState !== WalletReadyState.Installed);
41
+ const installedWallets = [...evmInstalled, ...svmInstalled].sort(walletComparator);
42
+ if (isDesktopView) {
43
+ const notDetectedWallets = [...evmNotDetected, ...svmNotDetected].sort(walletComparator);
44
+ installedWallets.push(...notDetectedWallets);
45
+ }
46
+ return installedWallets;
47
+ }, [account.connector?.id, connectors, isDesktopView, solanaWallets]);
49
48
  return (_jsxs(Container, { disableGutters: true, children: [_jsx(List, { sx: {
50
49
  paddingLeft: 1.5,
51
50
  paddingRight: 1.5,
52
- }, children: wallets?.map((wallet) => (_jsxs(ListItemButton, { onClick: () => handleConnect(wallet), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: wallet.icon.src || wallet.icon, alt: wallet.name, children: wallet.name[0] }) }), _jsx(ListItemText, { primary: wallet.name })] }, wallet.name))) }), _jsxs(Dialog, { open: walletIdentity.show, onClose: closeDialog, children: [_jsx(DialogContent, { children: _jsx(DialogContentText, { children: t('wallet.extensionNotFound', {
53
- name: walletIdentity.wallet?.name,
51
+ }, children: wallets?.map((connector) => connector.uid ? (_jsx(EVMListItemButton, { connector: connector, connectedConnector: account.connector, onNotInstalled: handleNotInstalled }, connector.uid)) : (_jsx(SVMListItemButton, { wallet: connector }, connector.adapter.name))) }), _jsxs(Dialog, { open: walletIdentity.show, onClose: closeDialog, children: [_jsx(DialogContent, { children: _jsx(DialogContentText, { children: t('wallet.extensionNotFound', {
52
+ name: walletIdentity.connector?.name,
54
53
  }) }) }), _jsx(DialogActions, { children: _jsx(Button, { variant: "contained", onClick: closeDialog, autoFocus: true, children: t('button.ok') }) })] })] }));
55
54
  };
@@ -0,0 +1,3 @@
1
+ import type { Wallet } from '@solana/wallet-adapter-react';
2
+ import type { Connector } from 'wagmi';
3
+ export declare const walletComparator: (a: Connector | Wallet, b: Connector | Wallet) => number;
@@ -0,0 +1,17 @@
1
+ import { getWalletPriority } from '@lifi/wallet-management';
2
+ export const walletComparator = (a, b) => {
3
+ let aId = a.id || a.adapter?.name;
4
+ let bId = b.id || b.adapter?.name;
5
+ const priorityA = getWalletPriority(aId);
6
+ const priorityB = getWalletPriority(bId);
7
+ if (priorityA !== priorityB) {
8
+ return priorityA - priorityB;
9
+ }
10
+ if (aId < bId) {
11
+ return -1;
12
+ }
13
+ if (aId > bId) {
14
+ return 1;
15
+ }
16
+ return 0;
17
+ };
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- export declare const EnabledToolsButton: React.FC<{
2
+ export declare const BridgeAndExchangeSettings: React.FC<{
3
3
  type: 'Bridges' | 'Exchanges';
4
4
  }>;
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useTranslation } from 'react-i18next';
3
+ import { useNavigate } from 'react-router-dom';
4
+ import { shallow } from 'zustand/shallow';
5
+ import AirlineStopsIcon from '@mui/icons-material/AirlineStops';
6
+ import SwapHorizIcon from '@mui/icons-material/SwapHoriz';
7
+ import { useSettingsStore } from '../../stores';
8
+ import { navigationRoutes } from '../../utils';
9
+ import { useSettingMonitor } from '../../hooks';
10
+ import { SettingCardButton, BadgedValue } from './SettingsCard';
11
+ const supportedIcons = {
12
+ Bridges: AirlineStopsIcon,
13
+ Exchanges: SwapHorizIcon,
14
+ };
15
+ export const BridgeAndExchangeSettings = ({ type }) => {
16
+ const { isBridgesChanged, isExchangesChanged } = useSettingMonitor();
17
+ const { t } = useTranslation();
18
+ const navigate = useNavigate();
19
+ const [enabledTools, tools] = useSettingsStore((state) => {
20
+ const enabledTools = Object.values(state[`_enabled${type}`] ?? {});
21
+ return [enabledTools.filter(Boolean).length, enabledTools.length];
22
+ }, shallow);
23
+ const customisationLookUp = {
24
+ Bridges: isBridgesChanged,
25
+ Exchanges: isExchangesChanged,
26
+ };
27
+ const handleClick = () => {
28
+ navigate(navigationRoutes[type.toLowerCase()]);
29
+ };
30
+ const Icon = supportedIcons[type];
31
+ return (_jsx(SettingCardButton, { onClick: handleClick, icon: _jsx(Icon, {}), title: t(`settings.enabled${type}`), children: _jsx(BadgedValue, { badgeColor: "info", showBadge: customisationLookUp[type], children: `${enabledTools}/${tools}` }) }));
32
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const GasPriceSettings: React.FC;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import EvStationIcon from '@mui/icons-material/EvStation';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { useSettings, useSettingsStore } from '../../stores';
5
+ import { Tab, Tabs } from '../../components/Tabs';
6
+ import { useSettingMonitor } from '../../hooks';
7
+ import { SettingCardExpandable, BadgedValue } from './SettingsCard';
8
+ export const GasPriceSettings = () => {
9
+ const { t } = useTranslation();
10
+ const setValue = useSettingsStore((state) => state.setValue);
11
+ const { isGasPriceChanged } = useSettingMonitor();
12
+ const { gasPrice } = useSettings(['gasPrice']);
13
+ const handleGasPriceChange = (_, gasPrice) => {
14
+ setValue('gasPrice', gasPrice);
15
+ };
16
+ return (_jsx(SettingCardExpandable, { value: _jsx(BadgedValue, { badgeColor: "info", showBadge: isGasPriceChanged, children: t(`settings.gasPrice.${gasPrice}`) }), icon: _jsx(EvStationIcon, {}), title: t(`settings.gasPrice.title`), children: _jsxs(Tabs, { value: gasPrice, "aria-label": "tabs", indicatorColor: "primary", onChange: handleGasPriceChange, sx: { mt: 1.5 }, children: [_jsx(Tab, { label: t(`settings.gasPrice.slow`), value: "slow", disableRipple: true }), _jsx(Tab, { label: t(`settings.gasPrice.normal`), value: "normal", disableRipple: true }), _jsx(Tab, { label: t(`settings.gasPrice.fast`), value: "fast", disableRipple: true })] }) }));
17
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const LanguageSetting: React.FC;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useNavigate } from 'react-router-dom';
3
+ import { useTranslation } from 'react-i18next';
4
+ import LanguageIcon from '@mui/icons-material/Language';
5
+ import { useWidgetConfig } from '../../providers';
6
+ import { HiddenUI } from '../../types';
7
+ import { navigationRoutes } from '../../utils';
8
+ import { useLanguages } from '../../hooks';
9
+ import { SettingCardButton, SummaryValue } from './SettingsCard';
10
+ export const LanguageSetting = () => {
11
+ const { t } = useTranslation();
12
+ const navigate = useNavigate();
13
+ const { hiddenUI } = useWidgetConfig();
14
+ const { selectedLanguageDisplayName } = useLanguages();
15
+ if (hiddenUI?.includes(HiddenUI.Language)) {
16
+ return null;
17
+ }
18
+ const handleClick = () => {
19
+ navigate(navigationRoutes.languages);
20
+ };
21
+ return (_jsx(SettingCardButton, { onClick: handleClick, icon: _jsx(LanguageIcon, {}), title: t(`language.title`), children: _jsx(SummaryValue, { children: selectedLanguageDisplayName }) }));
22
+ };
@@ -3,51 +3,24 @@ import { Box, Button, DialogActions, DialogContent, DialogContentText, DialogTit
3
3
  import { useCallback, useState } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { Dialog } from '../../components/Dialog';
6
- import { useTools } from '../../hooks';
7
- import { useWidgetConfig } from '../../providers';
8
- import { defaultConfigurableSettings, setDefaultSettings, useSettingsStore, } from '../../stores';
6
+ import { useSettingMonitor } from '../../hooks';
9
7
  import { ResetButtonContainer } from './ResetSettingsButton.style';
10
8
  import { InfoRounded } from '@mui/icons-material';
11
- import { shallow } from 'zustand/shallow';
12
9
  export const ResetSettingsButton = () => {
13
- const [enabledBridges, enabledExchanges, routePriority, slippage, gasPrice] = useSettingsStore((state) => [
14
- state.enabledBridges,
15
- state.enabledExchanges,
16
- state.routePriority,
17
- state.slippage,
18
- state.gasPrice,
19
- ], shallow);
20
10
  const { t } = useTranslation();
21
- const { tools } = useTools();
22
- const config = useWidgetConfig();
23
- const resetSettings = useSettingsStore((state) => state.reset);
11
+ const { isCustomRouteSettings, reset } = useSettingMonitor();
24
12
  const [open, setOpen] = useState(false);
25
13
  const toggleDialog = useCallback(() => {
26
14
  setOpen((open) => !open);
27
15
  }, []);
28
16
  const handleReset = () => {
29
- if (tools) {
30
- resetSettings(config, tools.bridges.map((tool) => tool.key), tools.exchanges.map((tool) => tool.key));
31
- setDefaultSettings(config);
32
- }
17
+ reset();
33
18
  toggleDialog();
34
19
  };
35
- const isSlippageChanged = config.slippage
36
- ? Number(slippage) !== config.slippage * 100
37
- : slippage !== defaultConfigurableSettings.slippage;
38
- const isRoutePriorityChanged = config.routePriority
39
- ? routePriority !== config.routePriority
40
- : routePriority !== defaultConfigurableSettings.routePriority;
41
- const isGasPriceChanged = gasPrice !== defaultConfigurableSettings.gasPrice;
42
- const isCustomRouteSettings = tools?.bridges?.length !== enabledBridges?.length ||
43
- tools?.exchanges?.length !== enabledExchanges?.length ||
44
- isSlippageChanged ||
45
- isRoutePriorityChanged ||
46
- isGasPriceChanged;
47
20
  if (!isCustomRouteSettings) {
48
21
  return null;
49
22
  }
50
- return (_jsx(Box, { px: 3, mt: 1.5, mb: 1, children: _jsxs(ResetButtonContainer, { children: [_jsxs(Box, { display: "flex", marginBottom: "12px", children: [_jsx(InfoRounded, { sx: {
23
+ return (_jsx(Box, { px: 3, mb: 1, children: _jsxs(ResetButtonContainer, { children: [_jsxs(Box, { display: "flex", marginBottom: "12px", children: [_jsx(InfoRounded, { sx: {
51
24
  marginRight: '8px',
52
25
  } }), _jsx(Box, { fontSize: 14, children: t(`settings.resetSettings`) })] }), _jsx(Button, { onClick: toggleDialog, fullWidth: true, children: t('button.resetSettings') }), _jsxs(Dialog, { open: open, onClose: toggleDialog, children: [_jsx(DialogTitle, { children: t('warning.title.resetSettings') }), _jsx(DialogContent, { children: _jsx(DialogContentText, { children: t('warning.message.resetSettings') }) }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: toggleDialog, children: t('button.cancel') }), _jsx(Button, { variant: "contained", onClick: handleReset, autoFocus: true, children: t('button.reset') })] })] })] }) }));
53
26
  };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const RoutePrioritySettings: React.FC;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useTranslation } from 'react-i18next';
3
+ import RouteIcon from '@mui/icons-material/Route';
4
+ import { Orders } from '@lifi/sdk';
5
+ import { Tab, Tabs } from '../../components/Tabs';
6
+ import { useSettings, useSettingsStore } from '../../stores';
7
+ import { useSettingMonitor } from '../../hooks';
8
+ import { SettingCardExpandable, BadgedValue } from './SettingsCard';
9
+ export const RoutePrioritySettings = () => {
10
+ const { t } = useTranslation();
11
+ const setValue = useSettingsStore((state) => state.setValue);
12
+ const { isRoutePriorityChanged } = useSettingMonitor();
13
+ const { routePriority } = useSettings(['routePriority']);
14
+ const currentRoutePriority = routePriority ?? '';
15
+ const handleRoutePriorityChange = (_, routePriority) => {
16
+ setValue('routePriority', routePriority);
17
+ };
18
+ return (_jsx(SettingCardExpandable, { value: _jsx(BadgedValue, { badgeColor: "info", showBadge: isRoutePriorityChanged, children: t(`main.tags.${currentRoutePriority.toLowerCase()}`) }), icon: _jsx(RouteIcon, {}), title: t(`settings.routePriority`), children: _jsx(Tabs, { value: currentRoutePriority, "aria-label": "tabs", indicatorColor: "primary", onChange: handleRoutePriorityChange, orientation: "vertical", sx: { mt: 1.5 }, children: Orders.map((order) => {
19
+ return (_jsx(Tab, { label: t(`main.tags.${order.toLowerCase()}`), value: order, disableRipple: true }, order));
20
+ }) }) }));
21
+ };
@@ -0,0 +1 @@
1
+ export declare const SendToWalletOptionSetting: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Typography } from '@mui/material';
3
2
  import { useTranslation } from 'react-i18next';
3
+ import WalletIcon from '@mui/icons-material/Wallet';
4
4
  import { Switch } from '../../components/Switch';
5
5
  import { useWidgetConfig } from '../../providers';
6
6
  import { useSendToWalletStore, useSettings, useSettingsStore, } from '../../stores';
7
7
  import { HiddenUI } from '../../types';
8
- export const ShowDestinationWallet = () => {
8
+ import { SettingCard, SummaryRowContainer, SummaryTitleContainer, SummaryValue, } from './SettingsCard';
9
+ export const SendToWalletOptionSetting = () => {
9
10
  const { t } = useTranslation();
10
11
  const { hiddenUI } = useWidgetConfig();
11
12
  const setSendToWallet = useSendToWalletStore((state) => state.setSendToWallet);
@@ -18,9 +19,5 @@ export const ShowDestinationWallet = () => {
18
19
  setValue('showDestinationWallet', checked);
19
20
  setSendToWallet(false);
20
21
  };
21
- return (_jsx(Box, { px: 3, pt: 2, pb: 1.5, children: _jsxs(Box, { sx: {
22
- display: 'flex',
23
- justifyContent: 'space-between',
24
- alignItems: 'center',
25
- }, children: [_jsx(Box, { sx: { display: 'flex', alignItems: 'center' }, children: _jsx(Typography, { variant: "subtitle1", color: "text.primary", lineHeight: "normal", children: t(`settings.showDestinationWallet`) }) }), _jsx(Switch, { checked: showDestinationWallet, onChange: onChange })] }) }));
22
+ return (_jsx(SettingCard, { children: _jsxs(SummaryRowContainer, { children: [_jsxs(SummaryTitleContainer, { children: [_jsx(WalletIcon, {}), _jsx(SummaryValue, { children: t(`settings.sendToWalletOption`) })] }), _jsx(Switch, { checked: showDestinationWallet, onChange: onChange })] }) }));
26
23
  };
@@ -0,0 +1,8 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { BadgeProps } from '@mui/material';
3
+ interface BadgedValueProps {
4
+ showBadge: boolean;
5
+ badgeColor?: BadgeProps['color'];
6
+ }
7
+ export declare const BadgedValue: React.FC<PropsWithChildren<BadgedValueProps>>;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SummaryValue, Badge } from './SettingCard.style';
3
+ export const BadgedValue = ({ showBadge, badgeColor, children, }) => showBadge && badgeColor ? (_jsx(Badge, { variant: "dot", color: badgeColor, children: _jsx(SummaryValue, { children: children }) })) : (_jsx(SummaryValue, { children: children }));
@@ -0,0 +1,2 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ export declare const SettingCard: React.FC<PropsWithChildren>;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Card } from '../../../components/Card';
3
+ export const SettingCard = ({ children }) => {
4
+ return (_jsx(Card, { variant: "default", selectionColor: "primary", sx: {
5
+ p: 2,
6
+ }, children: children }));
7
+ };
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ export declare const SettingsList: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
+ ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
4
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
5
+ export declare const SummaryTitleContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
6
+ ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
7
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
8
+ export declare const SummaryRowContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
9
+ ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
10
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
11
+ export declare const SummaryRowButton: import("@emotion/styled").StyledComponent<import("@mui/material").ButtonBaseOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
12
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
13
+ }, "className" | "style" | "classes" | "action" | "centerRipple" | "children" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "tabIndex" | "TouchRippleProps" | "touchRippleRef"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
14
+ export declare const SummaryValue: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
15
+ ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
16
+ }, "className" | "style" | "classes" | "children" | "sx" | "p" | "color" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "variant" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
17
+ export declare const Badge: import("@emotion/styled").StyledComponent<import("@mui/material").BadgeOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
18
+ ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
19
+ }, "className" | "style" | "classes" | "children" | "sx" | "color" | "variant" | "max" | "components" | "componentsProps" | "slots" | "slotProps" | "invisible" | "anchorOrigin" | "badgeContent" | "overlap" | "showZero"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;