@lifi/widget 1.31.1 → 1.32.1

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 (441) hide show
  1. package/App.js +4 -16
  2. package/AppDrawer.js +13 -7
  3. package/AppDrawer.style.d.ts +3 -3
  4. package/AppDrawer.style.js +1 -1
  5. package/AppProvider.js +1 -1
  6. package/AppRoutes.js +9 -0
  7. package/cjs/App.js +4 -16
  8. package/cjs/AppDrawer.js +13 -7
  9. package/cjs/AppDrawer.style.d.ts +3 -3
  10. package/cjs/AppDrawer.style.js +1 -1
  11. package/cjs/AppProvider.js +1 -1
  12. package/cjs/AppRoutes.js +9 -0
  13. package/cjs/components/ActiveSwaps/ActiveSwapItem.js +9 -7
  14. package/cjs/components/ActiveSwaps/ActiveSwaps.js +3 -3
  15. package/cjs/components/ActiveSwaps/ActiveSwaps.style.d.ts +5 -5
  16. package/cjs/components/AppContainer.d.ts +2 -2
  17. package/cjs/components/AppContainer.js +1 -1
  18. package/cjs/components/BottomSheet/BottomSheet.d.ts +1 -1
  19. package/cjs/components/BottomSheet/BottomSheet.js +2 -2
  20. package/cjs/components/Card/Card.d.ts +2 -2
  21. package/cjs/components/Card/CardHeader.d.ts +1 -1
  22. package/cjs/components/Card/CardTitle.d.ts +1 -1
  23. package/cjs/components/ChainSelect/ChainSelect.d.ts +0 -1
  24. package/cjs/components/ChainSelect/ChainSelect.js +3 -4
  25. package/cjs/components/ChainSelect/ChainSelect.style.d.ts +3 -3
  26. package/cjs/components/ContractComponent/ContractComponent.js +1 -1
  27. package/cjs/components/Dialog.js +1 -1
  28. package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
  29. package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
  30. package/cjs/components/Header/Header.js +1 -1
  31. package/cjs/components/Header/Header.style.d.ts +4 -4
  32. package/cjs/components/Header/NavigationHeader.js +6 -2
  33. package/cjs/components/Header/WalletHeader.js +12 -22
  34. package/cjs/{pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
  35. package/cjs/{pages/SelectWalletPage/SelectWalletPage.style.js → components/ListItemButton.js} +2 -8
  36. package/cjs/components/ListItemText.d.ts +2 -0
  37. package/cjs/{pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js → components/ListItemText.js} +1 -10
  38. package/cjs/components/NFT/NFT.js +2 -14
  39. package/cjs/components/NFT/NFT.style.d.ts +1 -1
  40. package/cjs/components/NotFound.js +2 -2
  41. package/cjs/components/PoweredBy/PoweredBy.js +2 -2
  42. package/cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  43. package/cjs/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
  44. package/cjs/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
  45. package/cjs/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
  46. package/cjs/components/Select.js +1 -0
  47. package/cjs/components/SelectChainAndToken.js +4 -4
  48. package/cjs/components/SelectTokenButton/SelectTokenButton.js +2 -2
  49. package/cjs/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
  50. package/cjs/components/SendToWallet/SendToWallet.js +9 -19
  51. package/cjs/components/SendToWallet/SendToWallet.style.d.ts +2 -2
  52. package/cjs/components/SendToWallet/SendToWalletButton.js +5 -5
  53. package/cjs/components/SmallAvatar.d.ts +3 -3
  54. package/cjs/components/Step/CircularProgress.d.ts +0 -1
  55. package/cjs/components/Step/CircularProgress.js +2 -2
  56. package/cjs/components/Step/CircularProgress.style.d.ts +1 -1
  57. package/cjs/components/Step/DestinationWalletAddress.js +6 -7
  58. package/cjs/components/Step/GasStepProcess.js +8 -8
  59. package/cjs/components/Step/Step.js +4 -5
  60. package/cjs/components/Step/StepList.d.ts +0 -1
  61. package/cjs/components/Step/StepList.js +8 -4
  62. package/cjs/components/Step/StepProcess.js +3 -3
  63. package/cjs/components/Step/StepProcess.style.d.ts +3 -3
  64. package/cjs/components/Step/StepTimer.js +4 -8
  65. package/cjs/components/StepActions/StepActions.js +20 -37
  66. package/cjs/components/StepActions/StepActions.style.d.ts +1 -1
  67. package/cjs/components/StepDivider/StepDivider.style.d.ts +1 -1
  68. package/cjs/components/SwapButton/SwapButton.js +5 -14
  69. package/cjs/components/SwapInput/FormPriceHelperText.js +6 -6
  70. package/cjs/components/SwapInput/SwapInput.js +4 -16
  71. package/cjs/components/SwapInput/SwapInput.style.d.ts +2 -2
  72. package/cjs/components/SwapInput/SwapInputAdornment.style.d.ts +2 -2
  73. package/cjs/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
  74. package/cjs/components/SwapInput/SwapInputEndAdornment.js +2 -3
  75. package/cjs/components/SwapRouteCard/SwapRouteCard.js +9 -25
  76. package/cjs/components/SwapRouteCard/SwapRouteCard.style.d.ts +3 -3
  77. package/cjs/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
  78. package/cjs/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
  79. package/cjs/components/SwapRouteCard/utils.js +1 -1
  80. package/cjs/components/SwapRoutes/SwapRoutes.js +4 -4
  81. package/cjs/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
  82. package/cjs/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
  83. package/cjs/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
  84. package/cjs/components/TextFitter/TextFitter.js +3 -3
  85. package/cjs/components/Token/Token.js +19 -33
  86. package/cjs/components/Token/Token.style.d.ts +3 -3
  87. package/cjs/components/TokenAvatar/TokenAvatar.js +6 -7
  88. package/cjs/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
  89. package/cjs/components/TokenList/TokenList.js +3 -4
  90. package/cjs/components/TokenList/TokenList.style.d.ts +3 -3
  91. package/cjs/components/TokenList/TokenList.style.js +2 -6
  92. package/cjs/components/TokenList/TokenListItem.js +9 -9
  93. package/cjs/components/TokenList/TokenNotFound.js +4 -5
  94. package/cjs/components/TokenList/VirtualizedTokenList.js +10 -11
  95. package/cjs/components/TokenList/useTokenSelect.js +2 -2
  96. package/cjs/config/env.js +1 -1
  97. package/cjs/config/sentry.js +3 -12
  98. package/cjs/config/theme.js +44 -16
  99. package/cjs/config/version.d.ts +1 -1
  100. package/cjs/config/version.js +1 -1
  101. package/cjs/hooks/useChain.js +1 -1
  102. package/cjs/hooks/useChains.js +5 -14
  103. package/cjs/hooks/useContentHeight.js +1 -2
  104. package/cjs/hooks/useFeaturedTokens.js +1 -4
  105. package/cjs/hooks/useGasSufficiency.js +28 -34
  106. package/cjs/hooks/useProcessMessage.js +7 -11
  107. package/cjs/hooks/useRouteExecution.js +16 -26
  108. package/cjs/hooks/useSwapRoutes.js +16 -26
  109. package/cjs/hooks/useToken.js +2 -2
  110. package/cjs/hooks/useTokenAddressBalance.js +1 -2
  111. package/cjs/hooks/useTokenBalance.js +24 -27
  112. package/cjs/hooks/useTokenBalances.d.ts +1 -1
  113. package/cjs/hooks/useTokenBalances.js +8 -20
  114. package/cjs/hooks/useTokenSearch.d.ts +1 -1
  115. package/cjs/hooks/useTokenSearch.js +12 -21
  116. package/cjs/hooks/useTokens.d.ts +1 -1
  117. package/cjs/hooks/useTokens.js +36 -38
  118. package/cjs/hooks/useTools.d.ts +2 -11
  119. package/cjs/hooks/useTools.js +11 -21
  120. package/cjs/i18n/en.json +8 -8
  121. package/cjs/i18n/uk.json +8 -8
  122. package/cjs/icons/LiFiFullLogo.js +1 -1
  123. package/cjs/icons/LiFiLogo.js +1 -1
  124. package/cjs/icons/LiFiToolLogo.js +1 -1
  125. package/cjs/index.d.ts +1 -0
  126. package/cjs/index.js +2 -0
  127. package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
  128. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  129. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
  130. package/cjs/pages/MainPage/MainPage.js +1 -1
  131. package/cjs/pages/MainPage/MainPage.style.d.ts +1 -1
  132. package/cjs/pages/MainPage/MainSwapButton.js +3 -12
  133. package/cjs/pages/SelectChainPage/SelectChainPage.js +6 -14
  134. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
  135. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +51 -0
  136. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
  137. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +8 -0
  138. package/cjs/pages/SelectEnabledToolsPage/index.d.ts +1 -0
  139. package/cjs/pages/SelectEnabledToolsPage/index.js +17 -0
  140. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
  141. package/cjs/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
  142. package/cjs/pages/SelectTokenPage/SearchTokenInput.js +4 -1
  143. package/cjs/pages/SelectTokenPage/SelectTokenPage.js +2 -3
  144. package/cjs/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
  145. package/cjs/pages/SelectWalletPage/SelectWalletPage.js +13 -19
  146. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
  147. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
  148. package/cjs/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
  149. package/cjs/pages/SettingsPage/EnabledToolsButton.js +25 -0
  150. package/cjs/pages/{SelectChainPage/SelectChainPage.style.d.ts → SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
  151. package/cjs/pages/{SelectChainPage/SelectChainPage.style.js → SettingsPage/EnabledToolsButton.style.js} +7 -10
  152. package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  153. package/cjs/pages/SettingsPage/GasPriceSelect.js +1 -1
  154. package/cjs/pages/SettingsPage/LanguageSelect.js +5 -6
  155. package/cjs/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
  156. package/cjs/pages/SettingsPage/ResetSettingsButton.js +27 -0
  157. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +4 -4
  158. package/cjs/pages/SettingsPage/SettingsPage.d.ts +0 -1
  159. package/cjs/pages/SettingsPage/SettingsPage.js +3 -2
  160. package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  161. package/cjs/pages/SettingsPage/ShowDestinationWallet.js +3 -3
  162. package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
  163. package/cjs/pages/SettingsPage/SlippageInput.js +3 -3
  164. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
  165. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
  166. package/cjs/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
  167. package/cjs/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
  168. package/cjs/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
  169. package/cjs/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
  170. package/cjs/pages/SwapPage/StartSwapButton.js +1 -1
  171. package/cjs/pages/SwapPage/StatusBottomSheet.js +21 -19
  172. package/cjs/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
  173. package/cjs/pages/SwapPage/SwapPage.js +9 -21
  174. package/cjs/pages/SwapPage/SwapPage.style.d.ts +1 -1
  175. package/cjs/pages/SwapPage/TokenValueBottomSheet.js +8 -9
  176. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
  177. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  178. package/cjs/providers/I18nProvider/I18nProvider.js +7 -8
  179. package/cjs/providers/SDKProvider/SDKProvider.js +15 -4
  180. package/cjs/providers/SwapFormProvider/SwapFormProvider.js +12 -6
  181. package/cjs/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
  182. package/cjs/providers/TelemetryProvider/TelemetryProvider.js +1 -1
  183. package/cjs/providers/ThemeProvider/ThemeProvider.js +2 -2
  184. package/cjs/providers/WalletProvider/WalletProvider.js +30 -39
  185. package/cjs/providers/WidgetProvider/WidgetProvider.js +20 -27
  186. package/cjs/providers/WidgetProvider/utils.js +2 -3
  187. package/cjs/stores/StoreProvider.js +1 -7
  188. package/cjs/stores/chains/index.d.ts +1 -2
  189. package/cjs/stores/chains/index.js +1 -2
  190. package/cjs/stores/chains/useChainOrder.js +2 -2
  191. package/cjs/stores/chains/useChainOrderStore.d.ts +3 -0
  192. package/cjs/stores/chains/{createChainOrderStore.js → useChainOrderStore.js} +3 -4
  193. package/cjs/stores/routes/RouteExecutionStore.js +2 -14
  194. package/cjs/stores/routes/createRouteExecutionStore.js +27 -16
  195. package/cjs/stores/routes/types.d.ts +1 -1
  196. package/cjs/stores/routes/useExecutingRoutesIds.js +2 -5
  197. package/cjs/stores/routes/useRecommendedRouteStore.d.ts +10 -2
  198. package/cjs/stores/routes/useRecommendedRouteStore.js +30 -2
  199. package/cjs/stores/routes/useSwapHistory.js +3 -6
  200. package/cjs/stores/routes/utils.js +4 -4
  201. package/cjs/stores/settings/index.d.ts +1 -1
  202. package/cjs/stores/settings/index.js +1 -1
  203. package/cjs/stores/settings/types.d.ts +6 -6
  204. package/cjs/stores/settings/useAppearance.js +2 -2
  205. package/cjs/stores/settings/useSettings.js +2 -2
  206. package/cjs/stores/settings/useSettingsStore.d.ts +6 -0
  207. package/cjs/stores/settings/{createSettingsStore.js → useSettingsStore.js} +48 -28
  208. package/cjs/utils/colors.js +1 -1
  209. package/cjs/utils/format.js +3 -3
  210. package/cjs/utils/navigationRoutes.d.ts +2 -0
  211. package/cjs/utils/navigationRoutes.js +6 -0
  212. package/components/ActiveSwaps/ActiveSwapItem.js +9 -7
  213. package/components/ActiveSwaps/ActiveSwaps.js +3 -3
  214. package/components/ActiveSwaps/ActiveSwaps.style.d.ts +5 -5
  215. package/components/AppContainer.d.ts +2 -2
  216. package/components/AppContainer.js +1 -1
  217. package/components/BottomSheet/BottomSheet.d.ts +1 -1
  218. package/components/BottomSheet/BottomSheet.js +2 -2
  219. package/components/Card/Card.d.ts +2 -2
  220. package/components/Card/CardHeader.d.ts +1 -1
  221. package/components/Card/CardTitle.d.ts +1 -1
  222. package/components/ChainSelect/ChainSelect.d.ts +0 -1
  223. package/components/ChainSelect/ChainSelect.js +3 -4
  224. package/components/ChainSelect/ChainSelect.style.d.ts +3 -3
  225. package/components/ContractComponent/ContractComponent.js +1 -1
  226. package/components/Dialog.js +1 -1
  227. package/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
  228. package/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
  229. package/components/Header/Header.js +1 -1
  230. package/components/Header/Header.style.d.ts +4 -4
  231. package/components/Header/NavigationHeader.js +6 -2
  232. package/components/Header/WalletHeader.js +12 -22
  233. package/{pages/SelectChainPage/SelectChainPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
  234. package/components/ListItemButton.js +11 -0
  235. package/components/ListItemText.d.ts +2 -0
  236. package/components/ListItemText.js +8 -0
  237. package/components/NFT/NFT.js +2 -14
  238. package/components/NFT/NFT.style.d.ts +1 -1
  239. package/components/NotFound.js +2 -2
  240. package/components/PoweredBy/PoweredBy.js +2 -2
  241. package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  242. package/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
  243. package/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
  244. package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
  245. package/components/Select.js +1 -0
  246. package/components/SelectChainAndToken.js +4 -4
  247. package/components/SelectTokenButton/SelectTokenButton.js +2 -2
  248. package/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
  249. package/components/SendToWallet/SendToWallet.js +9 -19
  250. package/components/SendToWallet/SendToWallet.style.d.ts +2 -2
  251. package/components/SendToWallet/SendToWalletButton.js +5 -5
  252. package/components/SmallAvatar.d.ts +3 -3
  253. package/components/Step/CircularProgress.d.ts +0 -1
  254. package/components/Step/CircularProgress.js +2 -2
  255. package/components/Step/CircularProgress.style.d.ts +1 -1
  256. package/components/Step/DestinationWalletAddress.js +6 -7
  257. package/components/Step/GasStepProcess.js +8 -8
  258. package/components/Step/Step.js +4 -5
  259. package/components/Step/StepList.d.ts +0 -1
  260. package/components/Step/StepList.js +8 -4
  261. package/components/Step/StepProcess.js +3 -3
  262. package/components/Step/StepProcess.style.d.ts +3 -3
  263. package/components/Step/StepTimer.js +4 -8
  264. package/components/StepActions/StepActions.js +20 -37
  265. package/components/StepActions/StepActions.style.d.ts +1 -1
  266. package/components/StepDivider/StepDivider.style.d.ts +1 -1
  267. package/components/SwapButton/SwapButton.js +5 -14
  268. package/components/SwapInput/FormPriceHelperText.js +6 -6
  269. package/components/SwapInput/SwapInput.js +4 -16
  270. package/components/SwapInput/SwapInput.style.d.ts +2 -2
  271. package/components/SwapInput/SwapInputAdornment.style.d.ts +2 -2
  272. package/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
  273. package/components/SwapInput/SwapInputEndAdornment.js +2 -3
  274. package/components/SwapRouteCard/SwapRouteCard.js +9 -25
  275. package/components/SwapRouteCard/SwapRouteCard.style.d.ts +3 -3
  276. package/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
  277. package/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
  278. package/components/SwapRouteCard/utils.js +1 -1
  279. package/components/SwapRoutes/SwapRoutes.js +4 -4
  280. package/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
  281. package/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
  282. package/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
  283. package/components/TextFitter/TextFitter.js +3 -3
  284. package/components/Token/Token.js +19 -33
  285. package/components/Token/Token.style.d.ts +3 -3
  286. package/components/TokenAvatar/TokenAvatar.js +6 -7
  287. package/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
  288. package/components/TokenList/TokenList.js +3 -4
  289. package/components/TokenList/TokenList.style.d.ts +3 -3
  290. package/components/TokenList/TokenList.style.js +3 -7
  291. package/components/TokenList/TokenListItem.js +9 -9
  292. package/components/TokenList/TokenNotFound.js +4 -5
  293. package/components/TokenList/VirtualizedTokenList.js +10 -11
  294. package/components/TokenList/useTokenSelect.js +2 -2
  295. package/config/env.js +1 -1
  296. package/config/sentry.js +3 -12
  297. package/config/theme.js +44 -16
  298. package/config/version.d.ts +1 -1
  299. package/config/version.js +1 -1
  300. package/hooks/useChain.js +1 -1
  301. package/hooks/useChains.js +5 -14
  302. package/hooks/useContentHeight.js +1 -2
  303. package/hooks/useFeaturedTokens.js +1 -4
  304. package/hooks/useGasSufficiency.js +28 -34
  305. package/hooks/useProcessMessage.js +7 -11
  306. package/hooks/useRouteExecution.js +16 -26
  307. package/hooks/useSwapRoutes.js +16 -26
  308. package/hooks/useToken.js +2 -2
  309. package/hooks/useTokenAddressBalance.js +1 -2
  310. package/hooks/useTokenBalance.js +24 -27
  311. package/hooks/useTokenBalances.d.ts +1 -1
  312. package/hooks/useTokenBalances.js +8 -20
  313. package/hooks/useTokenSearch.d.ts +1 -1
  314. package/hooks/useTokenSearch.js +12 -21
  315. package/hooks/useTokens.d.ts +1 -1
  316. package/hooks/useTokens.js +36 -38
  317. package/hooks/useTools.d.ts +2 -11
  318. package/hooks/useTools.js +12 -22
  319. package/i18n/en.json +8 -8
  320. package/i18n/uk.json +8 -8
  321. package/icons/LiFiFullLogo.js +1 -1
  322. package/icons/LiFiLogo.js +1 -1
  323. package/icons/LiFiToolLogo.js +1 -1
  324. package/index.d.ts +1 -0
  325. package/index.js +2 -0
  326. package/package.json +7 -7
  327. package/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
  328. package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  329. package/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
  330. package/pages/MainPage/MainPage.js +1 -1
  331. package/pages/MainPage/MainPage.style.d.ts +1 -1
  332. package/pages/MainPage/MainSwapButton.js +3 -12
  333. package/pages/SelectChainPage/SelectChainPage.js +6 -14
  334. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
  335. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +47 -0
  336. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
  337. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +5 -0
  338. package/pages/SelectEnabledToolsPage/index.d.ts +1 -0
  339. package/pages/SelectEnabledToolsPage/index.js +1 -0
  340. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
  341. package/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
  342. package/pages/SelectTokenPage/SearchTokenInput.js +4 -1
  343. package/pages/SelectTokenPage/SelectTokenPage.js +2 -3
  344. package/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
  345. package/pages/SelectWalletPage/SelectWalletPage.js +13 -19
  346. package/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
  347. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
  348. package/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
  349. package/pages/SettingsPage/EnabledToolsButton.js +21 -0
  350. package/{cjs/pages/SelectWalletPage/SelectWalletPage.style.d.ts → pages/SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
  351. package/pages/SettingsPage/EnabledToolsButton.style.js +14 -0
  352. package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  353. package/pages/SettingsPage/GasPriceSelect.js +1 -1
  354. package/pages/SettingsPage/LanguageSelect.js +5 -6
  355. package/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
  356. package/pages/SettingsPage/ResetSettingsButton.js +23 -0
  357. package/pages/SettingsPage/RoutePrioritySelect.js +4 -4
  358. package/pages/SettingsPage/SettingsPage.d.ts +0 -1
  359. package/pages/SettingsPage/SettingsPage.js +3 -2
  360. package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  361. package/pages/SettingsPage/ShowDestinationWallet.js +3 -3
  362. package/pages/SettingsPage/SlippageInput.d.ts +0 -1
  363. package/pages/SettingsPage/SlippageInput.js +3 -3
  364. package/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
  365. package/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
  366. package/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
  367. package/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
  368. package/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
  369. package/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
  370. package/pages/SwapPage/StartSwapButton.js +1 -1
  371. package/pages/SwapPage/StatusBottomSheet.js +21 -19
  372. package/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
  373. package/pages/SwapPage/SwapPage.js +9 -21
  374. package/pages/SwapPage/SwapPage.style.d.ts +1 -1
  375. package/pages/SwapPage/TokenValueBottomSheet.js +8 -9
  376. package/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
  377. package/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  378. package/providers/I18nProvider/I18nProvider.js +7 -8
  379. package/providers/SDKProvider/SDKProvider.js +15 -4
  380. package/providers/SwapFormProvider/SwapFormProvider.js +12 -6
  381. package/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
  382. package/providers/TelemetryProvider/TelemetryProvider.js +1 -1
  383. package/providers/ThemeProvider/ThemeProvider.js +2 -2
  384. package/providers/WalletProvider/WalletProvider.js +30 -39
  385. package/providers/WidgetProvider/WidgetProvider.js +22 -29
  386. package/providers/WidgetProvider/utils.js +2 -3
  387. package/stores/StoreProvider.js +2 -8
  388. package/stores/chains/index.d.ts +1 -2
  389. package/stores/chains/index.js +1 -2
  390. package/stores/chains/useChainOrder.js +1 -1
  391. package/stores/chains/useChainOrderStore.d.ts +3 -0
  392. package/stores/chains/{createChainOrderStore.js → useChainOrderStore.js} +2 -2
  393. package/stores/routes/RouteExecutionStore.js +2 -14
  394. package/stores/routes/createRouteExecutionStore.js +27 -16
  395. package/stores/routes/types.d.ts +1 -1
  396. package/stores/routes/useExecutingRoutesIds.js +2 -5
  397. package/stores/routes/useRecommendedRouteStore.d.ts +10 -2
  398. package/stores/routes/useRecommendedRouteStore.js +25 -1
  399. package/stores/routes/useSwapHistory.js +3 -6
  400. package/stores/routes/utils.js +4 -4
  401. package/stores/settings/index.d.ts +1 -1
  402. package/stores/settings/index.js +1 -1
  403. package/stores/settings/types.d.ts +6 -6
  404. package/stores/settings/useAppearance.js +1 -1
  405. package/stores/settings/useSettings.js +1 -1
  406. package/stores/settings/useSettingsStore.d.ts +6 -0
  407. package/stores/settings/{createSettingsStore.js → useSettingsStore.js} +46 -26
  408. package/tsconfig.cjs.tsbuildinfo +1 -1
  409. package/utils/colors.js +1 -1
  410. package/utils/format.js +3 -3
  411. package/utils/navigationRoutes.d.ts +2 -0
  412. package/utils/navigationRoutes.js +6 -0
  413. package/cjs/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
  414. package/cjs/pages/SettingsPage/AdvancedPreferences.js +0 -24
  415. package/cjs/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
  416. package/cjs/pages/SettingsPage/EnabledBridgesSelect.js +0 -24
  417. package/cjs/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
  418. package/cjs/pages/SettingsPage/EnabledExchangesSelect.js +0 -24
  419. package/cjs/stores/chains/ChainOrderStore.d.ts +0 -9
  420. package/cjs/stores/chains/ChainOrderStore.js +0 -44
  421. package/cjs/stores/chains/createChainOrderStore.d.ts +0 -4
  422. package/cjs/stores/settings/SettingsStore.d.ts +0 -11
  423. package/cjs/stores/settings/SettingsStore.js +0 -58
  424. package/cjs/stores/settings/createSettingsStore.d.ts +0 -5
  425. package/pages/SelectChainPage/SelectChainPage.style.js +0 -17
  426. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts +0 -21
  427. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js +0 -17
  428. package/pages/SelectWalletPage/SelectWalletPage.style.d.ts +0 -21
  429. package/pages/SelectWalletPage/SelectWalletPage.style.js +0 -17
  430. package/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
  431. package/pages/SettingsPage/AdvancedPreferences.js +0 -20
  432. package/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
  433. package/pages/SettingsPage/EnabledBridgesSelect.js +0 -20
  434. package/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
  435. package/pages/SettingsPage/EnabledExchangesSelect.js +0 -20
  436. package/stores/chains/ChainOrderStore.d.ts +0 -9
  437. package/stores/chains/ChainOrderStore.js +0 -38
  438. package/stores/chains/createChainOrderStore.d.ts +0 -4
  439. package/stores/settings/SettingsStore.d.ts +0 -11
  440. package/stores/settings/SettingsStore.js +0 -51
  441. package/stores/settings/createSettingsStore.d.ts +0 -5
@@ -11,10 +11,10 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
11
11
  setExecutableRoute: (route) => {
12
12
  if (!get().routes[route.id]) {
13
13
  set((state) => {
14
- const routes = Object.assign({}, state.routes);
14
+ const routes = { ...state.routes };
15
15
  // clean previous idle routes that were not executed
16
16
  Object.keys(routes)
17
- .filter((routeId) => { var _a; return ((_a = routes[routeId]) === null || _a === void 0 ? void 0 : _a.status) === types_1.RouteExecutionStatus.Idle; })
17
+ .filter((routeId) => routes[routeId]?.status === types_1.RouteExecutionStatus.Idle)
18
18
  .forEach((routeId) => delete routes[routeId]);
19
19
  routes[route.id] = {
20
20
  route,
@@ -30,7 +30,10 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
30
30
  if (get().routes[route.id]) {
31
31
  set((state) => {
32
32
  const updatedState = {
33
- routes: Object.assign(Object.assign({}, state.routes), { [route.id]: Object.assign(Object.assign({}, state.routes[route.id]), { route }) }),
33
+ routes: {
34
+ ...state.routes,
35
+ [route.id]: { ...state.routes[route.id], route },
36
+ },
34
37
  };
35
38
  const isFailed = (0, utils_2.isRouteFailed)(route);
36
39
  if (isFailed) {
@@ -64,14 +67,20 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
64
67
  restartRoute: (routeId) => {
65
68
  if (get().routes[routeId]) {
66
69
  set((state) => ({
67
- routes: Object.assign(Object.assign({}, state.routes), { [routeId]: Object.assign(Object.assign({}, state.routes[routeId]), { status: types_1.RouteExecutionStatus.Pending }) }),
70
+ routes: {
71
+ ...state.routes,
72
+ [routeId]: {
73
+ ...state.routes[routeId],
74
+ status: types_1.RouteExecutionStatus.Pending,
75
+ },
76
+ },
68
77
  }));
69
78
  }
70
79
  },
71
80
  deleteRoute: (routeId) => {
72
81
  if (get().routes[routeId]) {
73
82
  set((state) => {
74
- const routes = Object.assign({}, state.routes);
83
+ const routes = { ...state.routes };
75
84
  delete routes[routeId];
76
85
  return {
77
86
  routes,
@@ -80,14 +89,11 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
80
89
  }
81
90
  },
82
91
  deleteRoutes: (type) => set((state) => {
83
- const routes = Object.assign({}, state.routes);
92
+ const routes = { ...state.routes };
84
93
  Object.keys(routes)
85
- .filter((routeId) => {
86
- var _a, _b, _c, _d;
87
- return type === 'completed'
88
- ? (0, utils_1.hasEnumFlag)((_b = (_a = routes[routeId]) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 0, types_1.RouteExecutionStatus.Done)
89
- : !(0, utils_1.hasEnumFlag)((_d = (_c = routes[routeId]) === null || _c === void 0 ? void 0 : _c.status) !== null && _d !== void 0 ? _d : 0, types_1.RouteExecutionStatus.Done);
90
- })
94
+ .filter((routeId) => type === 'completed'
95
+ ? (0, utils_1.hasEnumFlag)(routes[routeId]?.status ?? 0, types_1.RouteExecutionStatus.Done)
96
+ : !(0, utils_1.hasEnumFlag)(routes[routeId]?.status ?? 0, types_1.RouteExecutionStatus.Done))
91
97
  .forEach((routeId) => delete routes[routeId]);
92
98
  return {
93
99
  routes,
@@ -98,16 +104,21 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
98
104
  version: 1,
99
105
  partialize: (state) => ({ routes: state.routes }),
100
106
  merge: (persistedState, currentState) => {
101
- const state = Object.assign(Object.assign({}, currentState), persistedState);
107
+ const state = {
108
+ ...currentState,
109
+ ...persistedState,
110
+ };
102
111
  try {
103
112
  // Move swaps to history after 1 day
104
113
  const currentTime = new Date().getTime();
105
114
  const oneDay = 1000 * 60 * 60 * 24;
106
115
  Object.values(state.routes).forEach((routeExecution) => {
107
- var _a, _b, _c, _d, _e;
108
- const startedAt = (_e = (_d = (_c = (_b = (_a = routeExecution === null || routeExecution === void 0 ? void 0 : routeExecution.route.steps) === null || _a === void 0 ? void 0 : _a.find((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'FAILED'; })) === null || _b === void 0 ? void 0 : _b.execution) === null || _c === void 0 ? void 0 : _c.process.find((process) => process.startedAt)) === null || _d === void 0 ? void 0 : _d.startedAt) !== null && _e !== void 0 ? _e : 0;
116
+ const startedAt = routeExecution?.route.steps
117
+ ?.find((step) => step.execution?.status === 'FAILED')
118
+ ?.execution?.process.find((process) => process.startedAt)
119
+ ?.startedAt ?? 0;
109
120
  const outdated = startedAt > 0 && currentTime - startedAt > oneDay;
110
- if ((routeExecution === null || routeExecution === void 0 ? void 0 : routeExecution.route) && outdated) {
121
+ if (routeExecution?.route && outdated) {
111
122
  routeExecution.status |= types_1.RouteExecutionStatus.Done;
112
123
  }
113
124
  });
@@ -19,7 +19,7 @@ export declare enum RouteExecutionStatus {
19
19
  Partial = 8,
20
20
  Refunded = 16
21
21
  }
22
- export interface RecommendedRouteStore {
22
+ export interface RecommendedRouteState {
23
23
  recommendedRoute?: Route;
24
24
  setRecommendedRoute: (route?: Route) => void;
25
25
  }
@@ -9,11 +9,8 @@ const useExecutingRoutesIds = (address) => {
9
9
  .filter((item) => item.route.fromAddress === address &&
10
10
  (item.status === types_1.RouteExecutionStatus.Pending ||
11
11
  item.status === types_1.RouteExecutionStatus.Failed))
12
- .sort((a, b) => {
13
- var _a, _b, _c, _d;
14
- return ((_b = (_a = b === null || b === void 0 ? void 0 : b.route.steps[0].execution) === null || _a === void 0 ? void 0 : _a.process[0].startedAt) !== null && _b !== void 0 ? _b : 0) -
15
- ((_d = (_c = a === null || a === void 0 ? void 0 : a.route.steps[0].execution) === null || _c === void 0 ? void 0 : _c.process[0].startedAt) !== null && _d !== void 0 ? _d : 0);
16
- })
12
+ .sort((a, b) => (b?.route.steps[0].execution?.process[0].startedAt ?? 0) -
13
+ (a?.route.steps[0].execution?.process[0].startedAt ?? 0))
17
14
  .map(({ route }) => route.id), shallow_1.shallow);
18
15
  };
19
16
  exports.useExecutingRoutesIds = useExecutingRoutesIds;
@@ -1,2 +1,10 @@
1
- import type { RecommendedRouteStore } from './types';
2
- export declare const useRecommendedRouteStore: import("zustand").UseBoundStore<import("zustand").StoreApi<RecommendedRouteStore>>;
1
+ /// <reference types="react" />
2
+ import type { StoreApi, UseBoundStore } from 'zustand';
3
+ import type { PersistStoreProviderProps } from '../types';
4
+ import type { RecommendedRouteState } from './types';
5
+ export declare const createRecommendedRouteStore: () => UseBoundStore<StoreApi<RecommendedRouteState>>;
6
+ export type RecommendedRouteStore = UseBoundStore<StoreApi<RecommendedRouteState>>;
7
+ export declare const RecommendedRouteStoreContext: import("react").Context<RecommendedRouteStore | null>;
8
+ export declare function RecommendedRouteStoreProvider({ children, ...props }: PersistStoreProviderProps): JSX.Element;
9
+ export declare function useRecommendedRouteStore<T>(selector: (state: RecommendedRouteState) => T, equalityFn?: (left: T, right: T) => boolean): T;
10
+ export declare function useRecommendedRouteStoreContext(): RecommendedRouteStore;
@@ -1,11 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useRecommendedRouteStore = void 0;
3
+ exports.useRecommendedRouteStoreContext = exports.useRecommendedRouteStore = exports.RecommendedRouteStoreProvider = exports.RecommendedRouteStoreContext = exports.createRecommendedRouteStore = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
4
6
  const zustand_1 = require("zustand");
5
- exports.useRecommendedRouteStore = (0, zustand_1.create)((set) => ({
7
+ const createRecommendedRouteStore = () => (0, zustand_1.create)((set) => ({
6
8
  setRecommendedRoute: (recommendedRoute) => {
7
9
  set(() => ({
8
10
  recommendedRoute,
9
11
  }));
10
12
  },
11
13
  }));
14
+ exports.createRecommendedRouteStore = createRecommendedRouteStore;
15
+ exports.RecommendedRouteStoreContext = (0, react_1.createContext)(null);
16
+ function RecommendedRouteStoreProvider({ children, ...props }) {
17
+ const storeRef = (0, react_1.useRef)();
18
+ if (!storeRef.current) {
19
+ storeRef.current = (0, exports.createRecommendedRouteStore)();
20
+ }
21
+ return ((0, jsx_runtime_1.jsx)(exports.RecommendedRouteStoreContext.Provider, { value: storeRef.current, children: children }));
22
+ }
23
+ exports.RecommendedRouteStoreProvider = RecommendedRouteStoreProvider;
24
+ function useRecommendedRouteStore(selector, equalityFn) {
25
+ const useStore = (0, react_1.useContext)(exports.RecommendedRouteStoreContext);
26
+ if (!useStore) {
27
+ throw new Error(`You forgot to wrap your component in <${RecommendedRouteStoreProvider.name}>.`);
28
+ }
29
+ return useStore(selector, equalityFn);
30
+ }
31
+ exports.useRecommendedRouteStore = useRecommendedRouteStore;
32
+ function useRecommendedRouteStoreContext() {
33
+ const useStore = (0, react_1.useContext)(exports.RecommendedRouteStoreContext);
34
+ if (!useStore) {
35
+ throw new Error(`You forgot to wrap your component in <${RecommendedRouteStoreProvider.name}>.`);
36
+ }
37
+ return useStore;
38
+ }
39
+ exports.useRecommendedRouteStoreContext = useRecommendedRouteStoreContext;
@@ -7,12 +7,9 @@ const RouteExecutionStore_1 = require("./RouteExecutionStore");
7
7
  const types_1 = require("./types");
8
8
  const useSwapHistory = (address) => {
9
9
  return (0, RouteExecutionStore_1.useRouteExecutionStore)((state) => Object.values(state.routes)
10
- .filter((item) => (item === null || item === void 0 ? void 0 : item.route.fromAddress) === address &&
10
+ .filter((item) => item?.route.fromAddress === address &&
11
11
  (0, utils_1.hasEnumFlag)(item.status, types_1.RouteExecutionStatus.Done))
12
- .sort((a, b) => {
13
- var _a, _b, _c, _d;
14
- return ((_b = (_a = b === null || b === void 0 ? void 0 : b.route.steps[0].execution) === null || _a === void 0 ? void 0 : _a.process[0].startedAt) !== null && _b !== void 0 ? _b : 0) -
15
- ((_d = (_c = a === null || a === void 0 ? void 0 : a.route.steps[0].execution) === null || _c === void 0 ? void 0 : _c.process[0].startedAt) !== null && _d !== void 0 ? _d : 0);
16
- }), shallow_1.shallow);
12
+ .sort((a, b) => (b?.route.steps[0].execution?.process[0].startedAt ?? 0) -
13
+ (a?.route.steps[0].execution?.process[0].startedAt ?? 0)), shallow_1.shallow);
17
14
  };
18
15
  exports.useSwapHistory = useSwapHistory;
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getUpdatedProcess = exports.isRouteActive = exports.isRouteFailed = exports.isRouteRefunded = exports.isRoutePartiallyDone = exports.isRouteDone = void 0;
4
4
  const microdiff_1 = require("microdiff");
5
5
  const isRouteDone = (route) => {
6
- return route.steps.every((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'DONE'; });
6
+ return route.steps.every((step) => step.execution?.status === 'DONE');
7
7
  };
8
8
  exports.isRouteDone = isRouteDone;
9
9
  const isRoutePartiallyDone = (route) => {
10
- return route.steps.some((step) => { var _a; return (_a = step.execution) === null || _a === void 0 ? void 0 : _a.process.some((process) => process.substatus === 'PARTIAL'); });
10
+ return route.steps.some((step) => step.execution?.process.some((process) => process.substatus === 'PARTIAL'));
11
11
  };
12
12
  exports.isRoutePartiallyDone = isRoutePartiallyDone;
13
13
  const isRouteRefunded = (route) => {
14
- return route.steps.some((step) => { var _a; return (_a = step.execution) === null || _a === void 0 ? void 0 : _a.process.some((process) => process.substatus === 'REFUNDED'); });
14
+ return route.steps.some((step) => step.execution?.process.some((process) => process.substatus === 'REFUNDED'));
15
15
  };
16
16
  exports.isRouteRefunded = isRouteRefunded;
17
17
  const isRouteFailed = (route) => {
18
- return route.steps.some((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'FAILED'; });
18
+ return route.steps.some((step) => step.execution?.status === 'FAILED');
19
19
  };
20
20
  exports.isRouteFailed = isRouteFailed;
21
21
  const isRouteActive = (route) => {
@@ -1,5 +1,5 @@
1
- export * from './SettingsStore';
2
1
  export * from './types';
3
2
  export * from './useAppearance';
4
3
  export * from './useSendToWalletStore';
5
4
  export * from './useSettings';
5
+ export * from './useSettingsStore';
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./SettingsStore"), exports);
18
17
  __exportStar(require("./types"), exports);
19
18
  __exportStar(require("./useAppearance"), exports);
20
19
  __exportStar(require("./useSendToWalletStore"), exports);
21
20
  __exportStar(require("./useSettings"), exports);
21
+ __exportStar(require("./useSettingsStore"), exports);
@@ -1,27 +1,27 @@
1
- import type { Bridge, Exchange, Order } from '@lifi/sdk';
1
+ import type { Order } from '@lifi/sdk';
2
2
  import type { Appearance } from '../../types';
3
3
  export type ValueSetter<S> = <K extends keyof S>(key: K, value: S[Extract<K, string>]) => void;
4
4
  export type ValuesSetter<S> = <K extends keyof S>(values: Record<K, S[Extract<K, string>]>) => void;
5
5
  export type SettingsToolType = 'Bridges' | 'Exchanges';
6
6
  export declare const SettingsToolTypes: SettingsToolType[];
7
7
  export interface SettingsProps {
8
- advancedPreferences: boolean;
9
8
  appearance: Appearance;
10
9
  gasPrice?: string;
11
10
  language?: string;
12
11
  routePriority?: Order;
13
12
  showDestinationWallet: boolean;
14
13
  slippage?: string;
15
- enabledBridges?: string[];
14
+ enabledBridges: string[];
16
15
  _enabledBridges?: Record<string, boolean>;
17
- enabledExchanges?: string[];
16
+ enabledExchanges: string[];
18
17
  _enabledExchanges?: Record<string, boolean>;
19
18
  }
20
19
  export interface SettingsState extends SettingsProps {
21
20
  setValue: ValueSetter<SettingsProps>;
22
21
  setValues: ValuesSetter<SettingsProps>;
23
- initializeTools(toolType: SettingsToolType, tools: string[]): void;
24
- setTools(toolType: SettingsToolType, tools: string[], availableTools: (Pick<Bridge, 'key'> | Pick<Exchange, 'key'>)[]): void;
22
+ initializeTools(toolType: SettingsToolType, tools: string[], reset?: boolean): void;
23
+ setTools(toolType: SettingsToolType, tools: string[], availableTools: string[]): void;
24
+ reset(bridges: string[], exchanges: string[]): void;
25
25
  }
26
26
  export interface SendToWalletState {
27
27
  showSendToWallet: boolean;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useAppearance = void 0;
4
4
  const shallow_1 = require("zustand/shallow");
5
- const SettingsStore_1 = require("./SettingsStore");
5
+ const useSettingsStore_1 = require("./useSettingsStore");
6
6
  const useAppearance = () => {
7
- const [appearance, setValue] = (0, SettingsStore_1.useSettingsStore)((state) => [state.appearance, state.setValue], shallow_1.shallow);
7
+ const [appearance, setValue] = (0, useSettingsStore_1.useSettingsStore)((state) => [state.appearance, state.setValue], shallow_1.shallow);
8
8
  const setAppearance = (appearance) => {
9
9
  setValue('appearance', appearance);
10
10
  };
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSettings = void 0;
4
4
  const shallow_1 = require("zustand/shallow");
5
- const SettingsStore_1 = require("./SettingsStore");
5
+ const useSettingsStore_1 = require("./useSettingsStore");
6
6
  const useSettings = (keys) => {
7
- return (0, SettingsStore_1.useSettingsStore)((state) => keys.reduce((values, key) => {
7
+ return (0, useSettingsStore_1.useSettingsStore)((state) => keys.reduce((values, key) => {
8
8
  values[key] = state[key];
9
9
  return values;
10
10
  }, {}), shallow_1.shallow);
@@ -0,0 +1,6 @@
1
+ import type { WidgetConfig } from '../../types';
2
+ import type { SettingsProps, SettingsState } from './types';
3
+ export declare const defaultConfigurableSettings: Pick<SettingsState, 'routePriority' | 'slippage'>;
4
+ export declare const defaultSettings: SettingsProps;
5
+ export declare const useSettingsStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SettingsState>>;
6
+ export declare const setDefaultSettings: (config?: WidgetConfig) => void;
@@ -1,17 +1,6 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.createSettingsStore = exports.defaultSettings = exports.defaultConfigurableSettings = void 0;
3
+ exports.setDefaultSettings = exports.useSettingsStore = exports.defaultSettings = exports.defaultConfigurableSettings = void 0;
15
4
  const zustand_1 = require("zustand");
16
5
  const middleware_1 = require("zustand/middleware");
17
6
  const types_1 = require("./types");
@@ -22,27 +11,32 @@ exports.defaultConfigurableSettings = {
22
11
  exports.defaultSettings = {
23
12
  appearance: 'auto',
24
13
  gasPrice: 'normal',
25
- advancedPreferences: false,
26
14
  showDestinationWallet: true,
15
+ enabledBridges: [],
16
+ enabledExchanges: [],
27
17
  };
28
- const createSettingsStore = ({ namePrefix }) => (0, zustand_1.create)((0, middleware_1.persist)((set) => (Object.assign(Object.assign({}, exports.defaultSettings), { setValue: (key, value) => set(() => ({
18
+ exports.useSettingsStore = (0, zustand_1.create)((0, middleware_1.persist)((set, get) => ({
19
+ ...exports.defaultSettings,
20
+ setValue: (key, value) => set(() => ({
29
21
  [key]: value,
30
- })), setValues: (values) => set((state) => {
31
- const updatedState = Object.assign({}, state);
22
+ })),
23
+ setValues: (values) => set((state) => {
24
+ const updatedState = { ...state };
32
25
  for (const key in values) {
33
26
  if (Object.hasOwn(state, key)) {
34
27
  updatedState[key] = values[key];
35
28
  }
36
29
  }
37
30
  return updatedState;
38
- }), initializeTools: (toolType, tools) => {
31
+ }),
32
+ initializeTools: (toolType, tools, reset) => {
39
33
  if (!tools.length) {
40
34
  return;
41
35
  }
42
36
  set((state) => {
43
- const updatedState = Object.assign({}, state);
44
- if (updatedState[`_enabled${toolType}`]) {
45
- // Add a new tools
37
+ const updatedState = { ...state };
38
+ if (updatedState[`_enabled${toolType}`] && !reset) {
39
+ // Add new tools
46
40
  const enabledTools = tools
47
41
  .filter((tool) => !Object.hasOwn(updatedState[`_enabled${toolType}`], tool))
48
42
  .reduce((values, tool) => {
@@ -63,21 +57,31 @@ const createSettingsStore = ({ namePrefix }) => (0, zustand_1.create)((0, middle
63
57
  .map(([key]) => key);
64
58
  return updatedState;
65
59
  });
66
- }, setTools: (toolType, tools, availableTools) => set(() => ({
60
+ },
61
+ setTools: (toolType, tools, availableTools) => set(() => ({
67
62
  [`enabled${toolType}`]: tools,
68
- [`_enabled${toolType}`]: availableTools.reduce((values, tool) => {
69
- values[tool.key] = tools.includes(tool.key);
63
+ [`_enabled${toolType}`]: availableTools.reduce((values, toolKey) => {
64
+ values[toolKey] = tools.includes(toolKey);
70
65
  return values;
71
66
  }, {}),
72
- })) })), {
73
- name: `${namePrefix || 'li.fi'}-widget-settings`,
67
+ })),
68
+ reset: (bridges, exchanges) => {
69
+ set(() => ({
70
+ ...exports.defaultSettings,
71
+ ...exports.defaultConfigurableSettings,
72
+ }));
73
+ get().initializeTools('Bridges', bridges, true);
74
+ get().initializeTools('Exchanges', exchanges, true);
75
+ },
76
+ }), {
77
+ name: `li.fi-widget-settings`,
74
78
  version: 2,
75
79
  partialize: (state) => {
76
- const { enabledBridges, enabledExchanges } = state, partializedState = __rest(state, ["enabledBridges", "enabledExchanges"]);
80
+ const { enabledBridges, enabledExchanges, ...partializedState } = state;
77
81
  return partializedState;
78
82
  },
79
83
  merge: (persistedState, currentState) => {
80
- const state = Object.assign(Object.assign({}, currentState), persistedState);
84
+ const state = { ...currentState, ...persistedState };
81
85
  types_1.SettingsToolTypes.forEach((toolType) => {
82
86
  state[`enabled${toolType}`] = Object.entries(persistedState[`_enabled${toolType}`])
83
87
  .filter(([_, value]) => value)
@@ -95,4 +99,20 @@ const createSettingsStore = ({ namePrefix }) => (0, zustand_1.create)((0, middle
95
99
  return persistedState;
96
100
  },
97
101
  }));
98
- exports.createSettingsStore = createSettingsStore;
102
+ const setDefaultSettings = (config) => {
103
+ const { slippage, routePriority, setValue } = exports.useSettingsStore.getState();
104
+ const defaultSlippage = (config?.slippage ||
105
+ config?.sdkConfig?.defaultRouteOptions?.slippage ||
106
+ 0) * 100;
107
+ const defaultRoutePriority = config?.routePriority || config?.sdkConfig?.defaultRouteOptions?.order;
108
+ exports.defaultConfigurableSettings.slippage = (defaultSlippage || exports.defaultConfigurableSettings.slippage)?.toString();
109
+ exports.defaultConfigurableSettings.routePriority =
110
+ defaultRoutePriority || exports.defaultConfigurableSettings.routePriority;
111
+ if (!slippage) {
112
+ setValue('slippage', exports.defaultConfigurableSettings.slippage);
113
+ }
114
+ if (!routePriority) {
115
+ setValue('routePriority', exports.defaultConfigurableSettings.routePriority);
116
+ }
117
+ };
118
+ exports.setDefaultSettings = setDefaultSettings;
@@ -7,7 +7,7 @@ const getContrastAlphaColor = (theme, alpha) => theme.palette.mode === 'light'
7
7
  ? `rgb(0 0 0 / ${alpha})`
8
8
  : `rgb(255 255 255 / ${alpha})`;
9
9
  exports.getContrastAlphaColor = getContrastAlphaColor;
10
- const getContrastTextColor = (theme, background) => (0, styles_1.getContrastRatio)(colors_1.common.white, background !== null && background !== void 0 ? background : theme.palette.primary.main) >= 3
10
+ const getContrastTextColor = (theme, background) => (0, styles_1.getContrastRatio)(colors_1.common.white, background ?? theme.palette.primary.main) >= 3
11
11
  ? colors_1.common.white
12
12
  : colors_1.common.black;
13
13
  exports.getContrastTextColor = getContrastTextColor;
@@ -14,14 +14,14 @@ big_js_1.default.NE = -42;
14
14
  const formatTokenAmount = (amount = '0', decimals = 0, decimalPlaces = 3) => {
15
15
  let shiftedAmount = amount;
16
16
  if (decimals) {
17
- shiftedAmount = (Number(amount) / Math.pow(10, decimals)).toString();
17
+ shiftedAmount = (Number(amount) / 10 ** decimals).toString();
18
18
  }
19
19
  const parsedAmount = parseFloat(shiftedAmount);
20
20
  if (parsedAmount === 0 || isNaN(Number(shiftedAmount))) {
21
21
  return '0';
22
22
  }
23
23
  const absAmount = Math.abs(parsedAmount);
24
- while (absAmount < 1 / Math.pow(10, decimalPlaces)) {
24
+ while (absAmount < 1 / 10 ** decimalPlaces) {
25
25
  decimalPlaces++;
26
26
  }
27
27
  return (0, big_js_1.default)(parseFloat((0, big_js_1.default)(parsedAmount).toFixed(decimalPlaces + 1, 0))).toString();
@@ -70,7 +70,7 @@ const formatAmount = (amount = '', returnInitial = false) => {
70
70
  return formattedAmount;
71
71
  }
72
72
  }
73
- catch (_a) {
73
+ catch {
74
74
  return '';
75
75
  }
76
76
  return (0, big_js_1.default)(parsedAmount).toString();
@@ -1,6 +1,8 @@
1
1
  export declare const navigationRoutes: {
2
2
  home: string;
3
3
  activeSwaps: string;
4
+ bridges: string;
5
+ exchanges: string;
4
6
  fromChain: string;
5
7
  fromToken: string;
6
8
  selectWallet: string;
@@ -4,6 +4,8 @@ exports.backButtonRoutes = exports.stickyHeaderRoutes = exports.navigationRoutes
4
4
  exports.navigationRoutes = {
5
5
  home: '/',
6
6
  activeSwaps: 'active-swaps',
7
+ bridges: 'bridges',
8
+ exchanges: 'exchanges',
7
9
  fromChain: 'from-chain',
8
10
  fromToken: 'from-token',
9
11
  selectWallet: 'wallet',
@@ -19,6 +21,8 @@ exports.navigationRoutes = {
19
21
  exports.navigationRoutesValues = Object.values(exports.navigationRoutes);
20
22
  exports.stickyHeaderRoutes = [
21
23
  exports.navigationRoutes.activeSwaps,
24
+ exports.navigationRoutes.bridges,
25
+ exports.navigationRoutes.exchanges,
22
26
  exports.navigationRoutes.fromChain,
23
27
  exports.navigationRoutes.home,
24
28
  exports.navigationRoutes.selectWallet,
@@ -32,6 +36,8 @@ exports.stickyHeaderRoutes = [
32
36
  ];
33
37
  exports.backButtonRoutes = [
34
38
  exports.navigationRoutes.activeSwaps,
39
+ exports.navigationRoutes.bridges,
40
+ exports.navigationRoutes.exchanges,
35
41
  exports.navigationRoutes.fromChain,
36
42
  exports.navigationRoutes.fromToken,
37
43
  exports.navigationRoutes.selectWallet,
@@ -9,15 +9,17 @@ import { StepTimer } from '../Step/StepTimer';
9
9
  import { TokenAvatar, TokenAvatarGroup } from '../TokenAvatar';
10
10
  import { ListItem, ListItemButton } from './ActiveSwaps.style';
11
11
  export const ActiveSwapItem = ({ routeId, dense }) => {
12
- var _a;
13
12
  const navigate = useNavigate();
14
13
  const { route, status } = useRouteExecution({
15
14
  routeId,
16
15
  executeInBackground: true,
17
16
  });
18
17
  // TODO: replace with ES2023 findLast
19
- const lastActiveStep = route === null || route === void 0 ? void 0 : route.steps.slice().reverse().find((step) => step.execution);
20
- const lastActiveProcess = (_a = lastActiveStep === null || lastActiveStep === void 0 ? void 0 : lastActiveStep.execution) === null || _a === void 0 ? void 0 : _a.process.at(-1);
18
+ const lastActiveStep = route?.steps
19
+ .slice()
20
+ .reverse()
21
+ .find((step) => step.execution);
22
+ const lastActiveProcess = lastActiveStep?.execution?.process.at(-1);
21
23
  const { title } = useProcessMessage(lastActiveStep, lastActiveProcess);
22
24
  if (!route || !lastActiveStep) {
23
25
  return null;
@@ -26,20 +28,20 @@ export const ActiveSwapItem = ({ routeId, dense }) => {
26
28
  navigate(navigationRoutes.swapExecution, { state: { routeId } });
27
29
  };
28
30
  const getStatusComponent = () => {
29
- switch (lastActiveProcess === null || lastActiveProcess === void 0 ? void 0 : lastActiveProcess.status) {
31
+ switch (lastActiveProcess?.status) {
30
32
  case 'ACTION_REQUIRED':
31
33
  return _jsx(InfoIcon, { color: "info", fontSize: "small" });
32
34
  case 'FAILED':
33
35
  return _jsx(ErrorIcon, { color: "error", fontSize: "small" });
34
36
  default:
35
- return (_jsx(Typography, Object.assign({ fontSize: 14, fontWeight: 500 }, { children: _jsx(StepTimer, { step: lastActiveStep, hideInProgress: true }) })));
37
+ return (_jsx(Typography, { fontSize: 14, fontWeight: 500, children: _jsx(StepTimer, { step: lastActiveStep, hideInProgress: true }) }));
36
38
  }
37
39
  };
38
40
  const ListItemComponent = dense ? ListItem : ListItemButton;
39
- return (_jsxs(ListItemComponent, Object.assign({ onClick: handleClick, dense: true, disableRipple: true }, { children: [_jsx(ListItemAvatar, { children: _jsxs(TokenAvatarGroup, Object.assign({ total: 2 }, { children: [_jsx(TokenAvatar, { token: route.fromToken }), _jsx(TokenAvatar, { token: route.toToken })] })) }), _jsx(ListItemText, { sx: { margin: 0 }, disableTypography: true, primary: _jsxs(Typography, Object.assign({ fontWeight: 500, lineHeight: 1, sx: {
41
+ return (_jsxs(ListItemComponent, { onClick: handleClick, dense: true, disableRipple: true, children: [_jsx(ListItemAvatar, { children: _jsxs(TokenAvatarGroup, { total: 2, children: [_jsx(TokenAvatar, { token: route.fromToken }), _jsx(TokenAvatar, { token: route.toToken })] }) }), _jsx(ListItemText, { sx: { margin: 0 }, disableTypography: true, primary: _jsxs(Typography, { fontWeight: 500, lineHeight: 1, sx: {
40
42
  display: 'flex',
41
43
  alignItems: 'center',
42
44
  marginLeft: 2,
43
45
  height: 16,
44
- } }, { children: [route.fromToken.symbol, _jsx(ArrowForwardIcon, { sx: { paddingX: 0.5 } }), route.toToken.symbol] })), secondary: status !== RouteExecutionStatus.Done ? (_jsx(Typography, Object.assign({ fontWeight: 400, fontSize: 12, color: "text.secondary", lineHeight: 1, mt: 0.75, ml: 2 }, { children: title }))) : null }), getStatusComponent()] })));
46
+ }, children: [route.fromToken.symbol, _jsx(ArrowForwardIcon, { sx: { paddingX: 0.5 } }), route.toToken.symbol] }), secondary: status !== RouteExecutionStatus.Done ? (_jsx(Typography, { fontWeight: 400, fontSize: 12, color: "text.secondary", lineHeight: 1, mt: 0.75, ml: 2, children: title })) : null }), getStatusComponent()] }));
45
47
  };
@@ -13,12 +13,12 @@ export const ActiveSwaps = (props) => {
13
13
  const navigate = useNavigate();
14
14
  const { account } = useWallet();
15
15
  const executingRoutes = useExecutingRoutesIds(account.address);
16
- if (!(executingRoutes === null || executingRoutes === void 0 ? void 0 : executingRoutes.length)) {
16
+ if (!executingRoutes?.length) {
17
17
  return null;
18
18
  }
19
19
  const handleShowAll = () => {
20
20
  navigate(navigationRoutes.activeSwaps);
21
21
  };
22
- const hasShowAll = (executingRoutes === null || executingRoutes === void 0 ? void 0 : executingRoutes.length) > 2;
23
- return (_jsxs(Card, Object.assign({ variant: "selected", selectionColor: "secondary" }, props, { children: [_jsx(CardTitle, { children: t('header.activeSwaps') }), _jsx(Stack, Object.assign({ spacing: 1.5, pt: 1.5, pb: hasShowAll ? 0 : 2 }, { children: executingRoutes.slice(0, 2).map((routeId) => (_jsx(ActiveSwapItem, { routeId: routeId, dense: true }, routeId))) })), hasShowAll ? (_jsx(ShowAllButton, Object.assign({ disableRipple: true, fullWidth: true, onClick: handleShowAll }, { children: t('button.showAll') }))) : null] })));
22
+ const hasShowAll = executingRoutes?.length > 2;
23
+ return (_jsxs(Card, { variant: "selected", selectionColor: "secondary", ...props, children: [_jsx(CardTitle, { children: t('header.activeSwaps') }), _jsx(Stack, { spacing: 1.5, pt: 1.5, pb: hasShowAll ? 0 : 2, children: executingRoutes.slice(0, 2).map((routeId) => (_jsx(ActiveSwapItem, { routeId: routeId, dense: true }, routeId))) }), hasShowAll ? (_jsx(ShowAllButton, { disableRipple: true, fullWidth: true, onClick: handleShowAll, children: t('button.showAll') })) : null] }));
24
24
  };
@@ -15,7 +15,7 @@ export declare const ListItemButton: import("@emotion/styled").StyledComponent<i
15
15
  tabIndex?: number | undefined;
16
16
  TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
17
17
  touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
18
- }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
18
+ }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
19
19
  ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
20
20
  }, "className" | "style" | "classes" | "tabIndex" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "alignItems" | "autoFocus" | "dense" | "divider" | "selected" | "disableGutters"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
21
21
  export declare const ListItem: import("@emotion/styled").StyledComponent<{
@@ -33,13 +33,13 @@ export declare const ListItem: import("@emotion/styled").StyledComponent<{
33
33
  slots?: {
34
34
  root?: import("react").ElementType<any> | undefined;
35
35
  } | undefined;
36
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "key" | keyof import("react").LiHTMLAttributes<HTMLLIElement>> & {
36
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
37
37
  ref?: ((instance: HTMLLIElement | null) => void) | import("react").RefObject<HTMLLIElement> | null | undefined;
38
- }, "button" | "className" | "style" | "classes" | "children" | "disabled" | "sx" | "alignItems" | "autoFocus" | "dense" | "divider" | "components" | "componentsProps" | "slotProps" | "slots" | "selected" | "disableGutters" | "ContainerComponent" | "ContainerProps" | "disablePadding" | "secondaryAction"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
38
+ }, "button" | "className" | "style" | "classes" | "children" | "disabled" | "sx" | "alignItems" | "autoFocus" | "dense" | "divider" | "components" | "slotProps" | "slots" | "componentsProps" | "selected" | "disableGutters" | "ContainerComponent" | "ContainerProps" | "disablePadding" | "secondaryAction"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
39
39
  export declare const ShowAllButton: import("@emotion/styled").StyledComponent<{
40
40
  children?: import("react").ReactNode;
41
41
  classes?: Partial<import("@mui/material").ButtonClasses> | undefined;
42
- color?: "inherit" | "success" | "warning" | "error" | "info" | "primary" | "secondary" | undefined;
42
+ color?: "inherit" | "success" | "warning" | "error" | "primary" | "secondary" | "info" | undefined;
43
43
  disabled?: boolean | undefined;
44
44
  disableElevation?: boolean | undefined;
45
45
  disableFocusRipple?: boolean | undefined;
@@ -66,6 +66,6 @@ export declare const ShowAllButton: import("@emotion/styled").StyledComponent<{
66
66
  tabIndex?: number | undefined;
67
67
  TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
68
68
  touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
69
- }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "key" | keyof import("react").ButtonHTMLAttributes<HTMLButtonElement>> & {
69
+ }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
70
70
  ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
71
71
  }, keyof import("@mui/material/OverridableComponent").CommonProps | "tabIndex" | "color" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "href" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "size" | "startIcon" | "variant"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;