@lifi/widget 3.0.0-alpha.16 → 3.0.0-alpha.19

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 (554) hide show
  1. package/AppRoutes.tsx +22 -0
  2. package/_cjs/AppRoutes.js +17 -0
  3. package/_cjs/AppRoutes.js.map +1 -1
  4. package/_cjs/components/AccountAvatar.d.ts +7 -0
  5. package/_cjs/components/AccountAvatar.js +20 -0
  6. package/_cjs/components/AccountAvatar.js.map +1 -0
  7. package/_cjs/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
  8. package/_cjs/components/AlertMessage/AlertMessage.d.ts +11 -0
  9. package/_cjs/components/AlertMessage/AlertMessage.js +8 -0
  10. package/_cjs/components/AlertMessage/AlertMessage.js.map +1 -0
  11. package/_cjs/components/AlertMessage/AlertMessage.style.d.ts +12 -0
  12. package/_cjs/components/AlertMessage/AlertMessage.style.js +35 -0
  13. package/_cjs/components/AlertMessage/AlertMessage.style.js.map +1 -0
  14. package/_cjs/components/AlertMessage/index.d.ts +3 -0
  15. package/_cjs/components/AlertMessage/index.js +20 -0
  16. package/_cjs/components/AlertMessage/index.js.map +1 -0
  17. package/_cjs/components/AlertMessage/types.d.ts +1 -0
  18. package/_cjs/components/AlertMessage/types.js +3 -0
  19. package/_cjs/components/AlertMessage/types.js.map +1 -0
  20. package/_cjs/components/BaseTransactionButton/BaseTransactionButton.js +6 -3
  21. package/_cjs/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  22. package/_cjs/{pages/SettingsPage/SettingsCard/SettingCardButton.d.ts → components/Card/CardButton.d.ts} +2 -2
  23. package/_cjs/components/Card/CardButton.js +9 -0
  24. package/_cjs/components/Card/CardButton.js.map +1 -0
  25. package/_cjs/components/Card/CardButton.style.d.ts +13 -0
  26. package/_cjs/components/Card/CardButton.style.js +36 -0
  27. package/_cjs/components/Card/CardButton.style.js.map +1 -0
  28. package/_cjs/components/Card/index.d.ts +2 -0
  29. package/_cjs/components/Card/index.js +2 -0
  30. package/_cjs/components/Card/index.js.map +1 -1
  31. package/_cjs/components/ChainSelect/useChainSelect.js +4 -15
  32. package/_cjs/components/ChainSelect/useChainSelect.js.map +1 -1
  33. package/_cjs/components/GasMessage/FundsSufficiencyMessage.js +13 -5
  34. package/_cjs/components/GasMessage/FundsSufficiencyMessage.js.map +1 -1
  35. package/_cjs/components/GasMessage/GasMessage.style.d.ts +1 -14
  36. package/_cjs/components/GasMessage/GasMessage.style.js +1 -24
  37. package/_cjs/components/GasMessage/GasMessage.style.js.map +1 -1
  38. package/_cjs/components/GasMessage/GasRefuelMessage.js +4 -5
  39. package/_cjs/components/GasMessage/GasRefuelMessage.js.map +1 -1
  40. package/_cjs/components/GasMessage/GasSufficiencyMessage.js +2 -6
  41. package/_cjs/components/GasMessage/GasSufficiencyMessage.js.map +1 -1
  42. package/_cjs/components/Header/NavigationHeader.js +11 -2
  43. package/_cjs/components/Header/NavigationHeader.js.map +1 -1
  44. package/_cjs/components/ListItem/ListItem.d.ts +6 -0
  45. package/_cjs/components/ListItem/ListItem.js +27 -0
  46. package/_cjs/components/ListItem/ListItem.js.map +1 -0
  47. package/_cjs/components/ListItem/ListItemButton.d.ts +4 -0
  48. package/_cjs/components/ListItem/ListItemButton.js +12 -0
  49. package/_cjs/components/ListItem/ListItemButton.js.map +1 -0
  50. package/_cjs/components/ListItem/index.d.ts +2 -0
  51. package/_cjs/components/ListItem/index.js +19 -0
  52. package/_cjs/components/ListItem/index.js.map +1 -0
  53. package/_cjs/components/ListItemButton.d.ts +1 -1
  54. package/_cjs/components/ListItemButton.js +3 -2
  55. package/_cjs/components/ListItemButton.js.map +1 -1
  56. package/_cjs/components/Menu.d.ts +1 -0
  57. package/_cjs/components/Menu.js +25 -0
  58. package/_cjs/components/Menu.js.map +1 -0
  59. package/_cjs/components/PageContainer.d.ts +1 -2
  60. package/_cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  61. package/_cjs/components/ReverseTokensButton/ReverseTokensButton.js +11 -3
  62. package/_cjs/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  63. package/_cjs/components/Routes/Routes.js +1 -3
  64. package/_cjs/components/Routes/Routes.js.map +1 -1
  65. package/_cjs/components/Routes/RoutesExpanded.js +4 -7
  66. package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
  67. package/_cjs/components/SendToWallet/SendToWallet.style.d.ts +4 -3
  68. package/_cjs/components/SendToWallet/SendToWallet.style.js +26 -15
  69. package/_cjs/components/SendToWallet/SendToWallet.style.js.map +1 -1
  70. package/_cjs/components/SendToWallet/SendToWalletButton.d.ts +1 -2
  71. package/_cjs/components/SendToWallet/SendToWalletButton.js +55 -23
  72. package/_cjs/components/SendToWallet/SendToWalletButton.js.map +1 -1
  73. package/_cjs/components/SendToWallet/SendToWalletExpandButton.d.ts +2 -0
  74. package/_cjs/components/SendToWallet/SendToWalletExpandButton.js +41 -0
  75. package/_cjs/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
  76. package/_cjs/components/SendToWallet/index.d.ts +2 -1
  77. package/_cjs/components/SendToWallet/index.js +2 -1
  78. package/_cjs/components/SendToWallet/index.js.map +1 -1
  79. package/_cjs/components/SettingsListItemButton.d.ts +1 -1
  80. package/_cjs/components/Step/StepProcess.style.d.ts +1 -1
  81. package/_cjs/components/TokenList/TokenList.js +3 -2
  82. package/_cjs/components/TokenList/TokenList.js.map +1 -1
  83. package/_cjs/components/TokenList/TokenList.style.d.ts +2 -5
  84. package/_cjs/components/TokenList/TokenList.style.js +3 -28
  85. package/_cjs/components/TokenList/TokenList.style.js.map +1 -1
  86. package/_cjs/components/TokenList/TokenListItem.js +3 -2
  87. package/_cjs/components/TokenList/TokenListItem.js.map +1 -1
  88. package/_cjs/components/TokenList/VirtualizedTokenList.js +2 -2
  89. package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
  90. package/_cjs/config/version.d.ts +1 -1
  91. package/_cjs/config/version.js +1 -1
  92. package/_cjs/hooks/index.d.ts +3 -1
  93. package/_cjs/hooks/index.js +3 -1
  94. package/_cjs/hooks/index.js.map +1 -1
  95. package/_cjs/hooks/useAccount.d.ts +14 -3
  96. package/_cjs/hooks/useAccount.js +24 -6
  97. package/_cjs/hooks/useAccount.js.map +1 -1
  98. package/_cjs/hooks/useAddressValidation.d.ts +17 -0
  99. package/_cjs/hooks/useAddressValidation.js +59 -0
  100. package/_cjs/hooks/useAddressValidation.js.map +1 -0
  101. package/_cjs/hooks/useFromTokenSufficiency.js +3 -4
  102. package/_cjs/hooks/useFromTokenSufficiency.js.map +1 -1
  103. package/_cjs/hooks/useGasSufficiency.js +6 -5
  104. package/_cjs/hooks/useGasSufficiency.js.map +1 -1
  105. package/_cjs/hooks/useRouteExecution.js +7 -5
  106. package/_cjs/hooks/useRouteExecution.js.map +1 -1
  107. package/_cjs/hooks/useRoutes.d.ts +2 -2
  108. package/_cjs/hooks/useRoutes.js +17 -29
  109. package/_cjs/hooks/useRoutes.js.map +1 -1
  110. package/_cjs/hooks/useToAddressRequirements.d.ts +4 -0
  111. package/_cjs/hooks/{useRequiredToAddress.js → useToAddressRequirements.js} +11 -8
  112. package/_cjs/hooks/useToAddressRequirements.js.map +1 -0
  113. package/_cjs/hooks/useToAddressReset.d.ts +4 -0
  114. package/_cjs/hooks/useToAddressReset.js +32 -0
  115. package/_cjs/hooks/useToAddressReset.js.map +1 -0
  116. package/_cjs/hooks/useTokenAddressBalance.d.ts +1 -1
  117. package/_cjs/hooks/useTokenBalance.d.ts +1 -1
  118. package/_cjs/hooks/useTokenBalance.js +4 -7
  119. package/_cjs/hooks/useTokenBalance.js.map +1 -1
  120. package/_cjs/hooks/useTokenBalances.d.ts +1 -1
  121. package/_cjs/hooks/useTokenBalances.js +3 -4
  122. package/_cjs/hooks/useTokenBalances.js.map +1 -1
  123. package/_cjs/hooks/useTransactionDetails.d.ts +1 -1
  124. package/_cjs/hooks/useTransactionDetails.js +24 -25
  125. package/_cjs/hooks/useTransactionDetails.js.map +1 -1
  126. package/_cjs/hooks/useTransactionHistory.js +2 -1
  127. package/_cjs/hooks/useTransactionHistory.js.map +1 -1
  128. package/_cjs/i18n/en.json +27 -6
  129. package/_cjs/pages/MainPage/MainPage.js +1 -1
  130. package/_cjs/pages/MainPage/MainPage.js.map +1 -1
  131. package/_cjs/pages/MainPage/ReviewButton.js +3 -2
  132. package/_cjs/pages/MainPage/ReviewButton.js.map +1 -1
  133. package/_cjs/pages/SendToWallet/BookmarkAddressSheet.d.ts +9 -0
  134. package/_cjs/pages/SendToWallet/BookmarkAddressSheet.js +111 -0
  135. package/_cjs/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
  136. package/_cjs/pages/SendToWallet/BookmarksPage.d.ts +1 -0
  137. package/_cjs/pages/SendToWallet/BookmarksPage.js +88 -0
  138. package/_cjs/pages/SendToWallet/BookmarksPage.js.map +1 -0
  139. package/_cjs/pages/SendToWallet/ConfirmAddressSheet.d.ts +9 -0
  140. package/_cjs/pages/SendToWallet/ConfirmAddressSheet.js +35 -0
  141. package/_cjs/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
  142. package/_cjs/pages/SendToWallet/ConnectedWalletsPage.d.ts +1 -0
  143. package/_cjs/pages/SendToWallet/ConnectedWalletsPage.js +84 -0
  144. package/_cjs/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
  145. package/_cjs/pages/SendToWallet/EmptyListIndicator.d.ts +6 -0
  146. package/_cjs/pages/SendToWallet/EmptyListIndicator.js +8 -0
  147. package/_cjs/pages/SendToWallet/EmptyListIndicator.js.map +1 -0
  148. package/_cjs/pages/SendToWallet/RecentWalletsPage.d.ts +1 -0
  149. package/_cjs/pages/SendToWallet/RecentWalletsPage.js +105 -0
  150. package/_cjs/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
  151. package/_cjs/pages/SendToWallet/SendToWalletPage.d.ts +1 -0
  152. package/_cjs/pages/SendToWallet/SendToWalletPage.js +131 -0
  153. package/_cjs/pages/SendToWallet/SendToWalletPage.js.map +1 -0
  154. package/_cjs/pages/SendToWallet/SendToWalletPage.style.d.ts +61 -0
  155. package/_cjs/pages/SendToWallet/SendToWalletPage.style.js +146 -0
  156. package/_cjs/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
  157. package/_cjs/pages/SendToWallet/index.d.ts +4 -0
  158. package/_cjs/pages/SendToWallet/index.js +21 -0
  159. package/_cjs/pages/SendToWallet/index.js.map +1 -0
  160. package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -1
  161. package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  162. package/_cjs/pages/SettingsPage/LanguageSetting.js +2 -2
  163. package/_cjs/pages/SettingsPage/LanguageSetting.js.map +1 -1
  164. package/_cjs/pages/SettingsPage/SendToWalletOptionSetting.js +2 -2
  165. package/_cjs/pages/SettingsPage/SendToWalletOptionSetting.js.map +1 -1
  166. package/_cjs/pages/SettingsPage/SettingsCard/BadgedValue.js +2 -1
  167. package/_cjs/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -1
  168. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +0 -9
  169. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js +2 -24
  170. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
  171. package/_cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +2 -3
  172. package/_cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  173. package/_cjs/pages/SettingsPage/SettingsCard/index.d.ts +0 -2
  174. package/_cjs/pages/SettingsPage/SettingsCard/index.js +0 -2
  175. package/_cjs/pages/SettingsPage/SettingsCard/index.js.map +1 -1
  176. package/_cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  177. package/_cjs/pages/SettingsPage/ThemeSettings.js +2 -1
  178. package/_cjs/pages/SettingsPage/ThemeSettings.js.map +1 -1
  179. package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  180. package/_cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js +2 -1
  181. package/_cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
  182. package/_cjs/providers/I18nProvider/I18nProvider.js +1 -1
  183. package/_cjs/providers/I18nProvider/I18nProvider.js.map +1 -1
  184. package/_cjs/providers/WalletProvider/SDKProviders.js.map +1 -1
  185. package/_cjs/stores/StoreProvider.js +2 -1
  186. package/_cjs/stores/StoreProvider.js.map +1 -1
  187. package/_cjs/stores/bookmarks/BookmarkStore.d.ts +7 -0
  188. package/_cjs/stores/bookmarks/BookmarkStore.js +25 -0
  189. package/_cjs/stores/bookmarks/BookmarkStore.js.map +1 -0
  190. package/_cjs/stores/bookmarks/createBookmarkStore.d.ts +3 -0
  191. package/_cjs/stores/bookmarks/createBookmarkStore.js +49 -0
  192. package/_cjs/stores/bookmarks/createBookmarkStore.js.map +1 -0
  193. package/_cjs/stores/bookmarks/index.d.ts +5 -0
  194. package/_cjs/stores/bookmarks/index.js +22 -0
  195. package/_cjs/stores/bookmarks/index.js.map +1 -0
  196. package/_cjs/stores/bookmarks/types.d.ts +24 -0
  197. package/_cjs/stores/bookmarks/types.js +3 -0
  198. package/_cjs/stores/bookmarks/types.js.map +1 -0
  199. package/_cjs/stores/bookmarks/useBookmarkActions.d.ts +2 -0
  200. package/_cjs/stores/bookmarks/useBookmarkActions.js +18 -0
  201. package/_cjs/stores/bookmarks/useBookmarkActions.js.map +1 -0
  202. package/_cjs/stores/bookmarks/useBookmarks.d.ts +2 -0
  203. package/_cjs/stores/bookmarks/useBookmarks.js +15 -0
  204. package/_cjs/stores/bookmarks/useBookmarks.js.map +1 -0
  205. package/_cjs/stores/form/FormStore.js +16 -3
  206. package/_cjs/stores/form/FormStore.js.map +1 -1
  207. package/_cjs/stores/form/types.js.map +1 -1
  208. package/_cjs/stores/form/useTouchedFields.d.ts +4 -4
  209. package/_cjs/stores/index.d.ts +1 -0
  210. package/_cjs/stores/index.js +1 -0
  211. package/_cjs/stores/index.js.map +1 -1
  212. package/_cjs/utils/chainType.d.ts +6 -0
  213. package/_cjs/utils/chainType.js +24 -0
  214. package/_cjs/utils/chainType.js.map +1 -0
  215. package/_cjs/utils/converters.d.ts +2 -2
  216. package/_cjs/utils/converters.js.map +1 -1
  217. package/_cjs/utils/index.d.ts +1 -0
  218. package/_cjs/utils/index.js +1 -0
  219. package/_cjs/utils/index.js.map +1 -1
  220. package/_cjs/utils/navigationRoutes.d.ts +4 -0
  221. package/_cjs/utils/navigationRoutes.js +12 -0
  222. package/_cjs/utils/navigationRoutes.js.map +1 -1
  223. package/_esm/AppRoutes.js +17 -0
  224. package/_esm/AppRoutes.js.map +1 -1
  225. package/_esm/components/AccountAvatar.d.ts +7 -0
  226. package/_esm/components/AccountAvatar.js +16 -0
  227. package/_esm/components/AccountAvatar.js.map +1 -0
  228. package/_esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
  229. package/_esm/components/AlertMessage/AlertMessage.d.ts +11 -0
  230. package/_esm/components/AlertMessage/AlertMessage.js +4 -0
  231. package/_esm/components/AlertMessage/AlertMessage.js.map +1 -0
  232. package/_esm/components/AlertMessage/AlertMessage.style.d.ts +12 -0
  233. package/_esm/components/AlertMessage/AlertMessage.style.js +32 -0
  234. package/_esm/components/AlertMessage/AlertMessage.style.js.map +1 -0
  235. package/_esm/components/AlertMessage/index.d.ts +3 -0
  236. package/_esm/components/AlertMessage/index.js +4 -0
  237. package/_esm/components/AlertMessage/index.js.map +1 -0
  238. package/_esm/components/AlertMessage/types.d.ts +1 -0
  239. package/_esm/components/AlertMessage/types.js +2 -0
  240. package/_esm/components/AlertMessage/types.js.map +1 -0
  241. package/_esm/components/BaseTransactionButton/BaseTransactionButton.js +7 -4
  242. package/_esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  243. package/_esm/{pages/SettingsPage/SettingsCard/SettingCardButton.d.ts → components/Card/CardButton.d.ts} +2 -2
  244. package/_esm/components/Card/CardButton.js +5 -0
  245. package/_esm/components/Card/CardButton.js.map +1 -0
  246. package/_esm/components/Card/CardButton.style.d.ts +13 -0
  247. package/_esm/components/Card/CardButton.style.js +33 -0
  248. package/_esm/components/Card/CardButton.style.js.map +1 -0
  249. package/_esm/components/Card/index.d.ts +2 -0
  250. package/_esm/components/Card/index.js +2 -0
  251. package/_esm/components/Card/index.js.map +1 -1
  252. package/_esm/components/ChainSelect/useChainSelect.js +5 -16
  253. package/_esm/components/ChainSelect/useChainSelect.js.map +1 -1
  254. package/_esm/components/GasMessage/FundsSufficiencyMessage.js +14 -6
  255. package/_esm/components/GasMessage/FundsSufficiencyMessage.js.map +1 -1
  256. package/_esm/components/GasMessage/GasMessage.style.d.ts +1 -14
  257. package/_esm/components/GasMessage/GasMessage.style.js +1 -24
  258. package/_esm/components/GasMessage/GasMessage.style.js.map +1 -1
  259. package/_esm/components/GasMessage/GasRefuelMessage.js +5 -6
  260. package/_esm/components/GasMessage/GasRefuelMessage.js.map +1 -1
  261. package/_esm/components/GasMessage/GasSufficiencyMessage.js +2 -6
  262. package/_esm/components/GasMessage/GasSufficiencyMessage.js.map +1 -1
  263. package/_esm/components/Header/NavigationHeader.js +11 -2
  264. package/_esm/components/Header/NavigationHeader.js.map +1 -1
  265. package/_esm/components/ListItem/ListItem.d.ts +6 -0
  266. package/_esm/components/ListItem/ListItem.js +24 -0
  267. package/_esm/components/ListItem/ListItem.js.map +1 -0
  268. package/_esm/components/ListItem/ListItemButton.d.ts +4 -0
  269. package/_esm/components/ListItem/ListItemButton.js +9 -0
  270. package/_esm/components/ListItem/ListItemButton.js.map +1 -0
  271. package/_esm/components/ListItem/index.d.ts +2 -0
  272. package/_esm/components/ListItem/index.js +3 -0
  273. package/_esm/components/ListItem/index.js.map +1 -0
  274. package/_esm/components/ListItemButton.d.ts +1 -1
  275. package/_esm/components/ListItemButton.js +3 -2
  276. package/_esm/components/ListItemButton.js.map +1 -1
  277. package/_esm/components/Menu.d.ts +1 -0
  278. package/_esm/components/Menu.js +22 -0
  279. package/_esm/components/Menu.js.map +1 -0
  280. package/_esm/components/PageContainer.d.ts +1 -2
  281. package/_esm/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  282. package/_esm/components/ReverseTokensButton/ReverseTokensButton.js +11 -3
  283. package/_esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  284. package/_esm/components/Routes/Routes.js +1 -3
  285. package/_esm/components/Routes/Routes.js.map +1 -1
  286. package/_esm/components/Routes/RoutesExpanded.js +5 -8
  287. package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
  288. package/_esm/components/SendToWallet/SendToWallet.style.d.ts +4 -3
  289. package/_esm/components/SendToWallet/SendToWallet.style.js +25 -14
  290. package/_esm/components/SendToWallet/SendToWallet.style.js.map +1 -1
  291. package/_esm/components/SendToWallet/SendToWalletButton.d.ts +1 -2
  292. package/_esm/components/SendToWallet/SendToWalletButton.js +59 -27
  293. package/_esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  294. package/_esm/components/SendToWallet/SendToWalletExpandButton.d.ts +2 -0
  295. package/_esm/components/SendToWallet/SendToWalletExpandButton.js +37 -0
  296. package/_esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
  297. package/_esm/components/SendToWallet/index.d.ts +2 -1
  298. package/_esm/components/SendToWallet/index.js +2 -1
  299. package/_esm/components/SendToWallet/index.js.map +1 -1
  300. package/_esm/components/SettingsListItemButton.d.ts +1 -1
  301. package/_esm/components/Step/StepProcess.style.d.ts +1 -1
  302. package/_esm/components/TokenList/TokenList.js +3 -2
  303. package/_esm/components/TokenList/TokenList.js.map +1 -1
  304. package/_esm/components/TokenList/TokenList.style.d.ts +2 -5
  305. package/_esm/components/TokenList/TokenList.style.js +3 -28
  306. package/_esm/components/TokenList/TokenList.style.js.map +1 -1
  307. package/_esm/components/TokenList/TokenListItem.js +3 -2
  308. package/_esm/components/TokenList/TokenListItem.js.map +1 -1
  309. package/_esm/components/TokenList/VirtualizedTokenList.js +2 -2
  310. package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  311. package/_esm/config/version.d.ts +1 -1
  312. package/_esm/config/version.js +1 -1
  313. package/_esm/hooks/index.d.ts +3 -1
  314. package/_esm/hooks/index.js +3 -1
  315. package/_esm/hooks/index.js.map +1 -1
  316. package/_esm/hooks/useAccount.d.ts +14 -3
  317. package/_esm/hooks/useAccount.js +24 -6
  318. package/_esm/hooks/useAccount.js.map +1 -1
  319. package/_esm/hooks/useAddressValidation.d.ts +17 -0
  320. package/_esm/hooks/useAddressValidation.js +55 -0
  321. package/_esm/hooks/useAddressValidation.js.map +1 -0
  322. package/_esm/hooks/useFromTokenSufficiency.js +3 -4
  323. package/_esm/hooks/useFromTokenSufficiency.js.map +1 -1
  324. package/_esm/hooks/useGasSufficiency.js +6 -5
  325. package/_esm/hooks/useGasSufficiency.js.map +1 -1
  326. package/_esm/hooks/useRouteExecution.js +7 -5
  327. package/_esm/hooks/useRouteExecution.js.map +1 -1
  328. package/_esm/hooks/useRoutes.d.ts +2 -2
  329. package/_esm/hooks/useRoutes.js +19 -31
  330. package/_esm/hooks/useRoutes.js.map +1 -1
  331. package/_esm/hooks/useToAddressRequirements.d.ts +4 -0
  332. package/_esm/hooks/{useRequiredToAddress.js → useToAddressRequirements.js} +9 -6
  333. package/_esm/hooks/useToAddressRequirements.js.map +1 -0
  334. package/_esm/hooks/useToAddressReset.d.ts +4 -0
  335. package/_esm/hooks/useToAddressReset.js +28 -0
  336. package/_esm/hooks/useToAddressReset.js.map +1 -0
  337. package/_esm/hooks/useTokenAddressBalance.d.ts +1 -1
  338. package/_esm/hooks/useTokenBalance.d.ts +1 -1
  339. package/_esm/hooks/useTokenBalance.js +4 -7
  340. package/_esm/hooks/useTokenBalance.js.map +1 -1
  341. package/_esm/hooks/useTokenBalances.d.ts +1 -1
  342. package/_esm/hooks/useTokenBalances.js +3 -4
  343. package/_esm/hooks/useTokenBalances.js.map +1 -1
  344. package/_esm/hooks/useTransactionDetails.d.ts +1 -1
  345. package/_esm/hooks/useTransactionDetails.js +24 -25
  346. package/_esm/hooks/useTransactionDetails.js.map +1 -1
  347. package/_esm/hooks/useTransactionHistory.js +2 -1
  348. package/_esm/hooks/useTransactionHistory.js.map +1 -1
  349. package/_esm/i18n/en.json +27 -6
  350. package/_esm/pages/MainPage/MainPage.js +2 -2
  351. package/_esm/pages/MainPage/MainPage.js.map +1 -1
  352. package/_esm/pages/MainPage/ReviewButton.js +5 -4
  353. package/_esm/pages/MainPage/ReviewButton.js.map +1 -1
  354. package/_esm/pages/SendToWallet/BookmarkAddressSheet.d.ts +9 -0
  355. package/_esm/pages/SendToWallet/BookmarkAddressSheet.js +108 -0
  356. package/_esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
  357. package/_esm/pages/SendToWallet/BookmarksPage.d.ts +1 -0
  358. package/_esm/pages/SendToWallet/BookmarksPage.js +84 -0
  359. package/_esm/pages/SendToWallet/BookmarksPage.js.map +1 -0
  360. package/_esm/pages/SendToWallet/ConfirmAddressSheet.d.ts +9 -0
  361. package/_esm/pages/SendToWallet/ConfirmAddressSheet.js +32 -0
  362. package/_esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
  363. package/_esm/pages/SendToWallet/ConnectedWalletsPage.d.ts +1 -0
  364. package/_esm/pages/SendToWallet/ConnectedWalletsPage.js +80 -0
  365. package/_esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
  366. package/_esm/pages/SendToWallet/EmptyListIndicator.d.ts +6 -0
  367. package/_esm/pages/SendToWallet/EmptyListIndicator.js +4 -0
  368. package/_esm/pages/SendToWallet/EmptyListIndicator.js.map +1 -0
  369. package/_esm/pages/SendToWallet/RecentWalletsPage.d.ts +1 -0
  370. package/_esm/pages/SendToWallet/RecentWalletsPage.js +101 -0
  371. package/_esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
  372. package/_esm/pages/SendToWallet/SendToWalletPage.d.ts +1 -0
  373. package/_esm/pages/SendToWallet/SendToWalletPage.js +127 -0
  374. package/_esm/pages/SendToWallet/SendToWalletPage.js.map +1 -0
  375. package/_esm/pages/SendToWallet/SendToWalletPage.style.d.ts +61 -0
  376. package/_esm/pages/SendToWallet/SendToWalletPage.style.js +143 -0
  377. package/_esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
  378. package/_esm/pages/SendToWallet/index.d.ts +4 -0
  379. package/_esm/pages/SendToWallet/index.js +5 -0
  380. package/_esm/pages/SendToWallet/index.js.map +1 -0
  381. package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js +3 -2
  382. package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  383. package/_esm/pages/SettingsPage/LanguageSetting.js +2 -2
  384. package/_esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
  385. package/_esm/pages/SettingsPage/SendToWalletOptionSetting.js +2 -2
  386. package/_esm/pages/SettingsPage/SendToWalletOptionSetting.js.map +1 -1
  387. package/_esm/pages/SettingsPage/SettingsCard/BadgedValue.js +3 -2
  388. package/_esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -1
  389. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +0 -9
  390. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +2 -24
  391. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
  392. package/_esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +2 -3
  393. package/_esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  394. package/_esm/pages/SettingsPage/SettingsCard/index.d.ts +0 -2
  395. package/_esm/pages/SettingsPage/SettingsCard/index.js +0 -2
  396. package/_esm/pages/SettingsPage/SettingsCard/index.js.map +1 -1
  397. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  398. package/_esm/pages/SettingsPage/ThemeSettings.js +3 -2
  399. package/_esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
  400. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  401. package/_esm/pages/TransactionHistoryPage/TransactionHistoryItem.js +2 -1
  402. package/_esm/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
  403. package/_esm/providers/I18nProvider/I18nProvider.js +2 -2
  404. package/_esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  405. package/_esm/providers/WalletProvider/SDKProviders.js.map +1 -1
  406. package/_esm/stores/StoreProvider.js +2 -1
  407. package/_esm/stores/StoreProvider.js.map +1 -1
  408. package/_esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
  409. package/_esm/stores/bookmarks/BookmarkStore.js +20 -0
  410. package/_esm/stores/bookmarks/BookmarkStore.js.map +1 -0
  411. package/_esm/stores/bookmarks/createBookmarkStore.d.ts +3 -0
  412. package/_esm/stores/bookmarks/createBookmarkStore.js +45 -0
  413. package/_esm/stores/bookmarks/createBookmarkStore.js.map +1 -0
  414. package/_esm/stores/bookmarks/index.d.ts +5 -0
  415. package/_esm/stores/bookmarks/index.js +6 -0
  416. package/_esm/stores/bookmarks/index.js.map +1 -0
  417. package/_esm/stores/bookmarks/types.d.ts +24 -0
  418. package/_esm/stores/bookmarks/types.js +2 -0
  419. package/_esm/stores/bookmarks/types.js.map +1 -0
  420. package/_esm/stores/bookmarks/useBookmarkActions.d.ts +2 -0
  421. package/_esm/stores/bookmarks/useBookmarkActions.js +14 -0
  422. package/_esm/stores/bookmarks/useBookmarkActions.js.map +1 -0
  423. package/_esm/stores/bookmarks/useBookmarks.d.ts +2 -0
  424. package/_esm/stores/bookmarks/useBookmarks.js +11 -0
  425. package/_esm/stores/bookmarks/useBookmarks.js.map +1 -0
  426. package/_esm/stores/form/FormStore.js +16 -3
  427. package/_esm/stores/form/FormStore.js.map +1 -1
  428. package/_esm/stores/form/types.js.map +1 -1
  429. package/_esm/stores/form/useTouchedFields.d.ts +4 -4
  430. package/_esm/stores/index.d.ts +1 -0
  431. package/_esm/stores/index.js +1 -0
  432. package/_esm/stores/index.js.map +1 -1
  433. package/_esm/utils/chainType.d.ts +6 -0
  434. package/_esm/utils/chainType.js +20 -0
  435. package/_esm/utils/chainType.js.map +1 -0
  436. package/_esm/utils/converters.d.ts +2 -2
  437. package/_esm/utils/converters.js.map +1 -1
  438. package/_esm/utils/index.d.ts +1 -0
  439. package/_esm/utils/index.js +1 -0
  440. package/_esm/utils/index.js.map +1 -1
  441. package/_esm/utils/navigationRoutes.d.ts +4 -0
  442. package/_esm/utils/navigationRoutes.js +12 -0
  443. package/_esm/utils/navigationRoutes.js.map +1 -1
  444. package/components/AccountAvatar.tsx +55 -0
  445. package/components/AlertMessage/AlertMessage.style.tsx +40 -0
  446. package/components/AlertMessage/AlertMessage.tsx +31 -0
  447. package/components/AlertMessage/index.ts +3 -0
  448. package/components/AlertMessage/types.ts +1 -0
  449. package/components/BaseTransactionButton/BaseTransactionButton.tsx +7 -4
  450. package/components/Card/CardButton.style.tsx +36 -0
  451. package/components/Card/CardButton.tsx +26 -0
  452. package/components/Card/index.ts +2 -0
  453. package/components/ChainSelect/useChainSelect.ts +5 -23
  454. package/components/GasMessage/FundsSufficiencyMessage.tsx +18 -17
  455. package/components/GasMessage/GasMessage.style.ts +1 -31
  456. package/components/GasMessage/GasRefuelMessage.tsx +21 -22
  457. package/components/GasMessage/GasSufficiencyMessage.tsx +9 -21
  458. package/components/Header/NavigationHeader.tsx +11 -2
  459. package/components/ListItem/ListItem.tsx +24 -0
  460. package/components/ListItem/ListItemButton.tsx +9 -0
  461. package/components/ListItem/index.ts +2 -0
  462. package/components/ListItemButton.tsx +12 -8
  463. package/components/Menu.tsx +27 -0
  464. package/components/PageContainer.ts +1 -1
  465. package/components/ReverseTokensButton/ReverseTokensButton.tsx +12 -3
  466. package/components/Routes/Routes.tsx +1 -7
  467. package/components/Routes/RoutesExpanded.tsx +5 -8
  468. package/components/SendToWallet/SendToWallet.style.tsx +25 -15
  469. package/components/SendToWallet/SendToWalletButton.tsx +107 -43
  470. package/components/SendToWallet/SendToWalletExpandButton.tsx +65 -0
  471. package/components/SendToWallet/index.ts +2 -1
  472. package/components/TokenList/TokenList.style.tsx +3 -32
  473. package/components/TokenList/TokenList.tsx +3 -2
  474. package/components/TokenList/TokenListItem.tsx +4 -3
  475. package/components/TokenList/VirtualizedTokenList.tsx +2 -2
  476. package/config/version.ts +1 -1
  477. package/hooks/index.ts +3 -1
  478. package/hooks/useAccount.ts +37 -9
  479. package/hooks/useAddressValidation.ts +79 -0
  480. package/hooks/useFromTokenSufficiency.ts +3 -8
  481. package/hooks/useGasSufficiency.ts +6 -10
  482. package/hooks/useRouteExecution.ts +9 -5
  483. package/hooks/useRoutes.ts +20 -30
  484. package/hooks/{useRequiredToAddress.ts → useToAddressRequirements.ts} +8 -5
  485. package/hooks/useToAddressReset.ts +36 -0
  486. package/hooks/useTokenBalance.ts +5 -8
  487. package/hooks/useTokenBalances.ts +3 -6
  488. package/hooks/useTransactionDetails.ts +30 -31
  489. package/hooks/useTransactionHistory.ts +3 -2
  490. package/i18n/en.json +27 -6
  491. package/package.json +14 -14
  492. package/pages/MainPage/MainPage.tsx +3 -3
  493. package/pages/MainPage/ReviewButton.tsx +5 -5
  494. package/pages/SendToWallet/BookmarkAddressSheet.tsx +219 -0
  495. package/pages/SendToWallet/BookmarksPage.tsx +182 -0
  496. package/pages/SendToWallet/ConfirmAddressSheet.tsx +90 -0
  497. package/pages/SendToWallet/ConnectedWalletsPage.tsx +165 -0
  498. package/pages/SendToWallet/EmptyListIndicator.tsx +19 -0
  499. package/pages/SendToWallet/RecentWalletsPage.tsx +215 -0
  500. package/pages/SendToWallet/SendToWalletPage.style.tsx +182 -0
  501. package/pages/SendToWallet/SendToWalletPage.tsx +246 -0
  502. package/pages/SendToWallet/index.ts +4 -0
  503. package/pages/SettingsPage/BridgeAndExchangeSettings.tsx +4 -3
  504. package/pages/SettingsPage/LanguageSetting.tsx +4 -4
  505. package/pages/SettingsPage/SendToWalletOptionSetting.tsx +12 -12
  506. package/pages/SettingsPage/SettingsCard/BadgedValue.tsx +4 -3
  507. package/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +2 -27
  508. package/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +13 -12
  509. package/pages/SettingsPage/SettingsCard/index.ts +0 -2
  510. package/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +1 -1
  511. package/pages/SettingsPage/ThemeSettings.tsx +3 -2
  512. package/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +5 -1
  513. package/pages/TransactionHistoryPage/TransactionHistoryItem.tsx +4 -7
  514. package/providers/I18nProvider/I18nProvider.tsx +2 -2
  515. package/providers/WalletProvider/SDKProviders.tsx +2 -1
  516. package/stores/StoreProvider.tsx +8 -5
  517. package/stores/bookmarks/BookmarkStore.tsx +39 -0
  518. package/stores/bookmarks/createBookmarkStore.ts +63 -0
  519. package/stores/bookmarks/index.ts +5 -0
  520. package/stores/bookmarks/types.ts +31 -0
  521. package/stores/bookmarks/useBookmarkActions.ts +19 -0
  522. package/stores/bookmarks/useBookmarks.ts +16 -0
  523. package/stores/form/FormStore.tsx +25 -4
  524. package/stores/form/types.ts +2 -3
  525. package/stores/index.ts +1 -0
  526. package/utils/chainType.ts +25 -0
  527. package/utils/converters.ts +2 -3
  528. package/utils/index.ts +1 -0
  529. package/utils/navigationRoutes.ts +12 -0
  530. package/_cjs/components/SendToWallet/SendToWallet.d.ts +0 -4
  531. package/_cjs/components/SendToWallet/SendToWallet.js +0 -94
  532. package/_cjs/components/SendToWallet/SendToWallet.js.map +0 -1
  533. package/_cjs/hooks/useRequiredToAddress.d.ts +0 -1
  534. package/_cjs/hooks/useRequiredToAddress.js.map +0 -1
  535. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.d.ts +0 -2
  536. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.js +0 -12
  537. package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.js.map +0 -1
  538. package/_cjs/pages/SettingsPage/SettingsCard/SettingCardButton.js +0 -9
  539. package/_cjs/pages/SettingsPage/SettingsCard/SettingCardButton.js.map +0 -1
  540. package/_esm/components/SendToWallet/SendToWallet.d.ts +0 -4
  541. package/_esm/components/SendToWallet/SendToWallet.js +0 -90
  542. package/_esm/components/SendToWallet/SendToWallet.js.map +0 -1
  543. package/_esm/hooks/useRequiredToAddress.d.ts +0 -1
  544. package/_esm/hooks/useRequiredToAddress.js.map +0 -1
  545. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.d.ts +0 -2
  546. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.js +0 -8
  547. package/_esm/pages/SettingsPage/SettingsCard/SettingCard.js.map +0 -1
  548. package/_esm/pages/SettingsPage/SettingsCard/SettingCardButton.js +0 -5
  549. package/_esm/pages/SettingsPage/SettingsCard/SettingCardButton.js.map +0 -1
  550. package/components/SendToWallet/SendToWallet.tsx +0 -144
  551. package/i18n/i18next.d.ts +0 -10
  552. package/pages/SettingsPage/SettingsCard/SettingCard.tsx +0 -16
  553. package/pages/SettingsPage/SettingsCard/SettingCardButton.tsx +0 -26
  554. package/react-app-env.d.ts +0 -1
@@ -0,0 +1,63 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import { persist } from 'zustand/middleware';
3
+ import { createWithEqualityFn } from 'zustand/traditional';
4
+ import type { PersistStoreProps } from '../types';
5
+ import type { BookmarkState } from './types';
6
+
7
+ const recentWalletsLimit = 5;
8
+
9
+ export const createBookmarksStore = ({ namePrefix }: PersistStoreProps) =>
10
+ createWithEqualityFn<BookmarkState>(
11
+ persist(
12
+ (set, get) => ({
13
+ selectedBookmark: undefined,
14
+ bookmarks: [],
15
+ recentWallets: [],
16
+ getBookmark: (address) =>
17
+ get().bookmarks.find((bookmark) => bookmark.address === address),
18
+ addBookmark: (bookmark) => {
19
+ set((state) => ({
20
+ bookmarks: [bookmark, ...state.bookmarks],
21
+ }));
22
+ },
23
+ removeBookmark: (address) => {
24
+ set((state) => ({
25
+ bookmarks: state.bookmarks.filter(
26
+ (storedBookmark) => storedBookmark.address !== address,
27
+ ),
28
+ }));
29
+ },
30
+ setSelectedBookmark: (bookmark) => {
31
+ set((state) => ({
32
+ selectedBookmark: bookmark,
33
+ }));
34
+ },
35
+ addRecentWallet: (bookmark) => {
36
+ set((state) => ({
37
+ recentWallets: [
38
+ bookmark,
39
+ ...state.recentWallets.filter(
40
+ (recentWallet) => recentWallet.address !== bookmark.address,
41
+ ),
42
+ ].slice(0, recentWalletsLimit),
43
+ }));
44
+ },
45
+ removeRecentWallet: (address) => {
46
+ set((state) => ({
47
+ recentWallets: state.recentWallets.filter(
48
+ (storedRecent) => storedRecent.address !== address,
49
+ ),
50
+ }));
51
+ },
52
+ }),
53
+ {
54
+ name: `${namePrefix || 'li.fi'}-bookmarks`,
55
+ version: 0,
56
+ partialize: (state) => ({
57
+ bookmarks: state.bookmarks,
58
+ recentWallets: state.recentWallets,
59
+ }),
60
+ },
61
+ ) as StateCreator<BookmarkState, [], [], BookmarkState>,
62
+ Object.is,
63
+ );
@@ -0,0 +1,5 @@
1
+ export * from './BookmarkStore';
2
+ export * from './createBookmarkStore';
3
+ export * from './types';
4
+ export * from './useBookmarkActions';
5
+ export * from './useBookmarks';
@@ -0,0 +1,31 @@
1
+ import type { ChainType } from '@lifi/sdk';
2
+ import type { StoreApi } from 'zustand';
3
+ import type { UseBoundStoreWithEqualityFn } from 'zustand/esm/traditional';
4
+
5
+ export interface Bookmark {
6
+ address: string;
7
+ chainType: ChainType;
8
+ name?: string;
9
+ isConnectedAccount?: boolean;
10
+ }
11
+
12
+ export interface BookmarkProps {
13
+ selectedBookmark?: Bookmark;
14
+ bookmarks: Bookmark[];
15
+ recentWallets: Bookmark[];
16
+ }
17
+
18
+ export interface BookmarkActions {
19
+ getBookmark: (address: string) => Bookmark | undefined;
20
+ addBookmark: (bookmark: Bookmark) => void;
21
+ removeBookmark: (address: string) => void;
22
+ setSelectedBookmark: (bookmark?: Bookmark) => void;
23
+ addRecentWallet: (bookmark: Bookmark) => void;
24
+ removeRecentWallet: (address: string) => void;
25
+ }
26
+
27
+ export type BookmarkState = BookmarkProps & BookmarkActions;
28
+
29
+ export type BookmarkStore = UseBoundStoreWithEqualityFn<
30
+ StoreApi<BookmarkState>
31
+ >;
@@ -0,0 +1,19 @@
1
+ import { shallow } from 'zustand/shallow';
2
+ import { useBookmarkStore } from './BookmarkStore';
3
+ import type { BookmarkActions } from './types';
4
+
5
+ export const useBookmarkActions = () => {
6
+ const actions = useBookmarkStore<BookmarkActions>(
7
+ (store) => ({
8
+ getBookmark: store.getBookmark,
9
+ addBookmark: store.addBookmark,
10
+ removeBookmark: store.removeBookmark,
11
+ setSelectedBookmark: store.setSelectedBookmark,
12
+ addRecentWallet: store.addRecentWallet,
13
+ removeRecentWallet: store.removeRecentWallet,
14
+ }),
15
+ shallow,
16
+ );
17
+
18
+ return actions;
19
+ };
@@ -0,0 +1,16 @@
1
+ import { shallow } from 'zustand/shallow';
2
+ import { useBookmarkStore } from './BookmarkStore';
3
+ import type { BookmarkProps } from './types';
4
+
5
+ export const useBookmarks = (): BookmarkProps => {
6
+ const [bookmarks, selectedBookmark, recentWallets] = useBookmarkStore(
7
+ (store) => [store.bookmarks, store.selectedBookmark, store.recentWallets],
8
+ shallow,
9
+ );
10
+
11
+ return {
12
+ bookmarks,
13
+ selectedBookmark,
14
+ recentWallets,
15
+ };
16
+ };
@@ -2,6 +2,7 @@ import type { PropsWithChildren } from 'react';
2
2
  import { createContext, useContext, useMemo, useRef } from 'react';
3
3
  import { shallow } from 'zustand/shallow';
4
4
  import { useWidgetConfig } from '../../providers';
5
+ import { HiddenUI } from '../../types';
5
6
  import { FormUpdater } from './FormUpdater';
6
7
  import { createFormStore, formDefaultValues } from './createFormStore';
7
8
  import type { FormStoreStore, FormValuesState } from './types';
@@ -11,10 +12,19 @@ export const FormStoreContext = createContext<FormStoreStore | null>(null);
11
12
  export const FormStoreProvider: React.FC<PropsWithChildren> = ({
12
13
  children,
13
14
  }) => {
14
- const { fromChain, fromToken, fromAmount, toChain, toToken, toAddress } =
15
- useWidgetConfig();
15
+ const {
16
+ fromChain,
17
+ fromToken,
18
+ fromAmount,
19
+ toChain,
20
+ toToken,
21
+ toAddress,
22
+ hiddenUI,
23
+ } = useWidgetConfig();
16
24
  const storeRef = useRef<FormStoreStore>();
17
25
 
26
+ const hiddenToAddress = hiddenUI?.includes(HiddenUI.ToAddress);
27
+
18
28
  const defaultValues = useMemo(
19
29
  () => ({
20
30
  ...formDefaultValues,
@@ -26,9 +36,20 @@ export const FormStoreProvider: React.FC<PropsWithChildren> = ({
26
36
  (typeof fromAmount === 'number'
27
37
  ? fromAmount?.toPrecision()
28
38
  : fromAmount) || formDefaultValues.fromAmount,
29
- toAddress: toAddress || formDefaultValues.toAddress,
39
+ // Prevent setting address when the field is hidden
40
+ toAddress: hiddenToAddress
41
+ ? formDefaultValues.toAddress
42
+ : toAddress || formDefaultValues.toAddress,
30
43
  }),
31
- [fromAmount, fromChain, fromToken, toAddress, toChain, toToken],
44
+ [
45
+ fromAmount,
46
+ fromChain,
47
+ fromToken,
48
+ hiddenToAddress,
49
+ toAddress,
50
+ toChain,
51
+ toToken,
52
+ ],
32
53
  );
33
54
 
34
55
  if (!storeRef.current) {
@@ -39,9 +39,8 @@ export interface FormValues {
39
39
  }
40
40
 
41
41
  export type FormFieldNames = keyof FormValues;
42
- export type ExtractValueType<T> = T extends FormValueControl<infer U>
43
- ? U
44
- : never;
42
+ export type ExtractValueType<T> =
43
+ T extends FormValueControl<infer U> ? U : never;
45
44
  export type FormFieldArray<T extends FormFieldNames[]> = {
46
45
  [K in keyof T]: ExtractValueType<FormValues[T[K]]>;
47
46
  };
package/stores/index.ts CHANGED
@@ -4,3 +4,4 @@ export * from './header';
4
4
  export * from './routes';
5
5
  export * from './settings';
6
6
  export * from './form';
7
+ export * from './bookmarks';
@@ -0,0 +1,25 @@
1
+ import { ChainId, ChainType } from '@lifi/sdk';
2
+ import { isAddress as isEVMAddress } from 'viem';
3
+ import { isSVMAddress } from './svm';
4
+
5
+ const chainTypeAddressValidation = {
6
+ [ChainType.EVM]: isEVMAddress,
7
+ [ChainType.SVM]: isSVMAddress,
8
+ };
9
+
10
+ export const getChainTypeFromAddress = (
11
+ address: string,
12
+ ): ChainType | undefined => {
13
+ for (const chainType in chainTypeAddressValidation) {
14
+ const isChainType =
15
+ chainTypeAddressValidation[chainType as ChainType](address);
16
+ if (isChainType) {
17
+ return chainType as ChainType;
18
+ }
19
+ }
20
+ };
21
+
22
+ export const defaultChainIdsByType = {
23
+ [ChainType.EVM]: ChainId.ETH,
24
+ [ChainType.SVM]: ChainId.SOL,
25
+ };
@@ -3,14 +3,13 @@ import type {
3
3
  FullStatusData,
4
4
  Process,
5
5
  Status,
6
- StatusResponse,
7
6
  Substatus,
8
7
  TokenAmount,
9
8
  ToolsResponse,
10
9
  } from '@lifi/sdk';
11
10
  import type { RouteExecution } from '../stores';
12
11
 
13
- const buildProcessFromTxHistory = (tx: StatusResponse): Process[] => {
12
+ const buildProcessFromTxHistory = (tx: FullStatusData): Process[] => {
14
13
  const sending = tx.sending as ExtendedTransactionInfo;
15
14
  const receiving = tx.receiving as ExtendedTransactionInfo;
16
15
 
@@ -65,7 +64,7 @@ const buildProcessFromTxHistory = (tx: StatusResponse): Process[] => {
65
64
  };
66
65
 
67
66
  export const buildRouteFromTxHistory = (
68
- tx: StatusResponse,
67
+ tx: FullStatusData,
69
68
  tools?: ToolsResponse,
70
69
  ) => {
71
70
  const sending = tx.sending as ExtendedTransactionInfo;
package/utils/index.ts CHANGED
@@ -4,6 +4,7 @@ export * from './elements';
4
4
  export * from './enum';
5
5
  export * from './fees';
6
6
  export * from './format';
7
+ export * from './chainType';
7
8
  export * from './input';
8
9
  export * from './item';
9
10
  export * from './navigationRoutes';
@@ -15,6 +15,10 @@ export const navigationRoutes = {
15
15
  transactionDetails: 'transaction-details',
16
16
  transactionExecution: 'transaction-execution',
17
17
  transactionHistory: 'transaction-history',
18
+ sendToWallet: 'send-to-wallet',
19
+ bookmarks: 'bookmarks',
20
+ recentWallets: 'recent-wallets',
21
+ connectedWallets: 'connected-wallets',
18
22
  };
19
23
 
20
24
  export const navigationRoutesValues = Object.values(navigationRoutes);
@@ -33,6 +37,10 @@ export const stickyHeaderRoutes = [
33
37
  navigationRoutes.transactionDetails,
34
38
  navigationRoutes.transactionExecution,
35
39
  navigationRoutes.transactionHistory,
40
+ navigationRoutes.sendToWallet,
41
+ navigationRoutes.bookmarks,
42
+ navigationRoutes.recentWallets,
43
+ navigationRoutes.connectedWallets,
36
44
  ];
37
45
 
38
46
  export const backButtonRoutes = [
@@ -51,6 +59,10 @@ export const backButtonRoutes = [
51
59
  navigationRoutes.transactionDetails,
52
60
  navigationRoutes.transactionExecution,
53
61
  navigationRoutes.transactionHistory,
62
+ navigationRoutes.sendToWallet,
63
+ navigationRoutes.bookmarks,
64
+ navigationRoutes.recentWallets,
65
+ navigationRoutes.connectedWallets,
54
66
  ];
55
67
 
56
68
  export type NavigationRouteType = keyof typeof navigationRoutes;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import type { BoxProps } from '@mui/material';
3
- export declare const SendToWallet: React.FC<BoxProps>;
4
- export declare const SendToWalletFormHelperText: React.FC;
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SendToWalletFormHelperText = exports.SendToWallet = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const material_1 = require("@mui/material");
6
- const core_1 = require("@wagmi/core");
7
- const react_1 = require("react");
8
- const react_i18next_1 = require("react-i18next");
9
- const viem_1 = require("viem");
10
- const ens_1 = require("viem/ens");
11
- const wagmi_1 = require("wagmi");
12
- const hooks_1 = require("../../hooks");
13
- const providers_1 = require("../../providers");
14
- const stores_1 = require("../../stores");
15
- const types_1 = require("../../types");
16
- const utils_1 = require("../../utils");
17
- const Card_1 = require("../Card");
18
- const SendToWallet_style_1 = require("./SendToWallet.style");
19
- exports.SendToWallet = (0, react_1.forwardRef)((props, ref) => {
20
- const { t } = (0, react_i18next_1.useTranslation)();
21
- const { getFieldValues } = (0, stores_1.useFieldActions)();
22
- const { name, value, onChange, onBlur } = (0, stores_1.useFieldController)({
23
- name: 'toAddress',
24
- });
25
- const { addFieldValidation, triggerFieldValidation, clearErrors } = (0, stores_1.useValidationActions)();
26
- const { account } = (0, hooks_1.useAccount)();
27
- const config = (0, wagmi_1.useConfig)();
28
- const { disabledUI, hiddenUI, toAddress } = (0, providers_1.useWidgetConfig)();
29
- const { showSendToWallet, showSendToWalletDirty } = (0, stores_1.useSendToWalletStore)();
30
- const { showDestinationWallet } = (0, stores_1.useSettings)(['showDestinationWallet']);
31
- const hiddenToAddress = hiddenUI?.includes(types_1.HiddenUI.ToAddress);
32
- const disabledToAddress = disabledUI?.includes(types_1.DisabledUI.ToAddress);
33
- const requiredToAddress = (0, hooks_1.useRequiredToAddress)();
34
- const requiredToAddressRef = (0, react_1.useRef)(requiredToAddress);
35
- // We want to show toAddress field if it is set via widget configuration and not hidden
36
- const showInstantly = Boolean(!showSendToWalletDirty &&
37
- showDestinationWallet &&
38
- toAddress &&
39
- !hiddenToAddress) || requiredToAddress;
40
- (0, react_1.useEffect)(() => {
41
- addFieldValidation('toAddress', async (value) => {
42
- try {
43
- if (!value && requiredToAddress) {
44
- return t('error.title.walletEnsAddressInvalid');
45
- }
46
- if (!value || (0, viem_1.isAddress)(value) || (0, utils_1.isSVMAddress)(value)) {
47
- return true;
48
- }
49
- const address = await (0, core_1.getEnsAddress)(config, {
50
- chainId: getFieldValues('toChain')[0],
51
- name: (0, ens_1.normalize)(value),
52
- });
53
- return Boolean(address);
54
- }
55
- catch (error) {
56
- return t('error.title.walletEnsAddressInvalid');
57
- }
58
- });
59
- }, [addFieldValidation, requiredToAddress, getFieldValues, t, config]);
60
- const handlerInputChange = (e) => {
61
- onChange(e.target.value.trim());
62
- };
63
- const handlerInputBlur = () => {
64
- onBlur();
65
- triggerFieldValidation('toAddress');
66
- };
67
- (0, react_1.useEffect)(() => {
68
- const value = getFieldValues('toAddress');
69
- if (value) {
70
- triggerFieldValidation('toAddress');
71
- // Trigger validation if we change requiredToAddress in the runtime
72
- }
73
- else if (requiredToAddressRef.current !== requiredToAddress) {
74
- requiredToAddressRef.current = requiredToAddress;
75
- triggerFieldValidation('toAddress').then(() => clearErrors('toAddress'));
76
- }
77
- }, [
78
- account.chainId,
79
- clearErrors,
80
- getFieldValues,
81
- requiredToAddress,
82
- triggerFieldValidation,
83
- ]);
84
- if (hiddenToAddress && !requiredToAddress) {
85
- return null;
86
- }
87
- return ((0, jsx_runtime_1.jsx)(material_1.Collapse, { timeout: showInstantly ? 0 : 225, in: showSendToWallet || showInstantly, mountOnEnter: true, unmountOnExit: true, children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { ...props, ref: ref, children: [(0, jsx_runtime_1.jsx)(Card_1.CardTitle, { required: requiredToAddress, children: t('main.sendToWallet') }), (0, jsx_runtime_1.jsxs)(SendToWallet_style_1.FormControl, { fullWidth: true, sx: { paddingTop: '6px', paddingBottom: '5px' }, children: [(0, jsx_runtime_1.jsx)(SendToWallet_style_1.Input, { size: "small", autoComplete: "off", autoCorrect: "off", autoCapitalize: "off", spellCheck: "false", onChange: handlerInputChange, onBlur: handlerInputBlur, name: name, value: value, placeholder: t('main.walletAddressOrEns'), disabled: Boolean(toAddress && disabledToAddress) }), (0, jsx_runtime_1.jsx)(exports.SendToWalletFormHelperText, {})] })] }) }));
88
- });
89
- const SendToWalletFormHelperText = () => {
90
- const { errors } = (0, stores_1.useValidation)();
91
- return ((0, jsx_runtime_1.jsx)(material_1.FormHelperText, { error: !!errors.toAddress, children: errors.toAddress }));
92
- };
93
- exports.SendToWalletFormHelperText = SendToWalletFormHelperText;
94
- //# sourceMappingURL=SendToWallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendToWallet.js","sourceRoot":"","sources":["../../../components/SendToWallet/SendToWallet.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const useRequiredToAddress: () => boolean | undefined;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRequiredToAddress.js","sourceRoot":"","sources":["../../hooks/useRequiredToAddress.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,4CAA+C;AAC/C,oCAAsC;AACtC,sCAA2C;AAEpC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,2BAAe,GAAE,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,IAAA,uBAAc,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAA,gBAAQ,EAAC,WAAW,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,kBAAkB,GACtB,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;IAEpE,MAAM,iBAAiB,GACrB,UAAU,EAAE,QAAQ,CAAC,kBAAU,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC;IAEnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B"}
@@ -1,2 +0,0 @@
1
- import type { PropsWithChildren } from 'react';
2
- export declare const SettingCard: React.FC<PropsWithChildren>;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingCard = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Card_1 = require("../../../components/Card");
6
- const SettingCard = ({ children }) => {
7
- return ((0, jsx_runtime_1.jsx)(Card_1.Card, { variant: "default", selectionColor: "primary", sx: {
8
- p: 1,
9
- }, children: children }));
10
- };
11
- exports.SettingCard = SettingCard;
12
- //# sourceMappingURL=SettingCard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingCard.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCard.tsx"],"names":[],"mappings":";;;;AACA,mDAAgD;AAEzC,MAAM,WAAW,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,OAAO,CACL,uBAAC,WAAI,IACH,OAAO,EAAC,SAAS,EACjB,cAAc,EAAC,SAAS,EACxB,EAAE,EAAE;YACF,CAAC,EAAE,CAAC;SACL,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingCardButton = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const SettingCard_1 = require("./SettingCard");
6
- const SettingCard_style_1 = require("./SettingCard.style");
7
- const SettingCardButton = ({ onClick, icon, title, children }) => ((0, jsx_runtime_1.jsx)(SettingCard_1.SettingCard, { children: (0, jsx_runtime_1.jsxs)(SettingCard_style_1.SummaryRowButton, { onClick: onClick, disableRipple: true, children: [(0, jsx_runtime_1.jsxs)(SettingCard_style_1.SummaryTitleContainer, { children: [icon, (0, jsx_runtime_1.jsx)(SettingCard_style_1.SummaryValue, { children: title })] }), children] }) }));
8
- exports.SettingCardButton = SettingCardButton;
9
- //# sourceMappingURL=SettingCardButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingCardButton.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCardButton.tsx"],"names":[],"mappings":";;;;AAEA,+CAA4C;AAC5C,2DAI6B;AAMtB,MAAM,iBAAiB,GAE1B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1C,uBAAC,yBAAW,cACV,wBAAC,oCAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,aAAa,mBAC/C,wBAAC,yCAAqB,eACnB,IAAI,EACL,uBAAC,gCAAY,cAAE,KAAK,GAAgB,IACd,EACvB,QAAQ,IACQ,GACP,CACf,CAAC;AAZW,QAAA,iBAAiB,qBAY5B"}
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import type { BoxProps } from '@mui/material';
3
- export declare const SendToWallet: React.FC<BoxProps>;
4
- export declare const SendToWalletFormHelperText: React.FC;
@@ -1,90 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Collapse, FormHelperText } from '@mui/material';
3
- import { getEnsAddress } from '@wagmi/core';
4
- import { forwardRef, useEffect, useRef } from 'react';
5
- import { useTranslation } from 'react-i18next';
6
- import { isAddress } from 'viem';
7
- import { normalize } from 'viem/ens';
8
- import { useConfig } from 'wagmi';
9
- import { useAccount, useRequiredToAddress } from '../../hooks';
10
- import { useWidgetConfig } from '../../providers';
11
- import { useFieldActions, useFieldController, useSendToWalletStore, useSettings, useValidation, useValidationActions, } from '../../stores';
12
- import { DisabledUI, HiddenUI } from '../../types';
13
- import { isSVMAddress } from '../../utils';
14
- import { Card, CardTitle } from '../Card';
15
- import { FormControl, Input } from './SendToWallet.style';
16
- export const SendToWallet = forwardRef((props, ref) => {
17
- const { t } = useTranslation();
18
- const { getFieldValues } = useFieldActions();
19
- const { name, value, onChange, onBlur } = useFieldController({
20
- name: 'toAddress',
21
- });
22
- const { addFieldValidation, triggerFieldValidation, clearErrors } = useValidationActions();
23
- const { account } = useAccount();
24
- const config = useConfig();
25
- const { disabledUI, hiddenUI, toAddress } = useWidgetConfig();
26
- const { showSendToWallet, showSendToWalletDirty } = useSendToWalletStore();
27
- const { showDestinationWallet } = useSettings(['showDestinationWallet']);
28
- const hiddenToAddress = hiddenUI?.includes(HiddenUI.ToAddress);
29
- const disabledToAddress = disabledUI?.includes(DisabledUI.ToAddress);
30
- const requiredToAddress = useRequiredToAddress();
31
- const requiredToAddressRef = useRef(requiredToAddress);
32
- // We want to show toAddress field if it is set via widget configuration and not hidden
33
- const showInstantly = Boolean(!showSendToWalletDirty &&
34
- showDestinationWallet &&
35
- toAddress &&
36
- !hiddenToAddress) || requiredToAddress;
37
- useEffect(() => {
38
- addFieldValidation('toAddress', async (value) => {
39
- try {
40
- if (!value && requiredToAddress) {
41
- return t('error.title.walletEnsAddressInvalid');
42
- }
43
- if (!value || isAddress(value) || isSVMAddress(value)) {
44
- return true;
45
- }
46
- const address = await getEnsAddress(config, {
47
- chainId: getFieldValues('toChain')[0],
48
- name: normalize(value),
49
- });
50
- return Boolean(address);
51
- }
52
- catch (error) {
53
- return t('error.title.walletEnsAddressInvalid');
54
- }
55
- });
56
- }, [addFieldValidation, requiredToAddress, getFieldValues, t, config]);
57
- const handlerInputChange = (e) => {
58
- onChange(e.target.value.trim());
59
- };
60
- const handlerInputBlur = () => {
61
- onBlur();
62
- triggerFieldValidation('toAddress');
63
- };
64
- useEffect(() => {
65
- const value = getFieldValues('toAddress');
66
- if (value) {
67
- triggerFieldValidation('toAddress');
68
- // Trigger validation if we change requiredToAddress in the runtime
69
- }
70
- else if (requiredToAddressRef.current !== requiredToAddress) {
71
- requiredToAddressRef.current = requiredToAddress;
72
- triggerFieldValidation('toAddress').then(() => clearErrors('toAddress'));
73
- }
74
- }, [
75
- account.chainId,
76
- clearErrors,
77
- getFieldValues,
78
- requiredToAddress,
79
- triggerFieldValidation,
80
- ]);
81
- if (hiddenToAddress && !requiredToAddress) {
82
- return null;
83
- }
84
- return (_jsx(Collapse, { timeout: showInstantly ? 0 : 225, in: showSendToWallet || showInstantly, mountOnEnter: true, unmountOnExit: true, children: _jsxs(Card, { ...props, ref: ref, children: [_jsx(CardTitle, { required: requiredToAddress, children: t('main.sendToWallet') }), _jsxs(FormControl, { fullWidth: true, sx: { paddingTop: '6px', paddingBottom: '5px' }, children: [_jsx(Input, { size: "small", autoComplete: "off", autoCorrect: "off", autoCapitalize: "off", spellCheck: "false", onChange: handlerInputChange, onBlur: handlerInputBlur, name: name, value: value, placeholder: t('main.walletAddressOrEns'), disabled: Boolean(toAddress && disabledToAddress) }), _jsx(SendToWalletFormHelperText, {})] })] }) }));
85
- });
86
- export const SendToWalletFormHelperText = () => {
87
- const { errors } = useValidation();
88
- return (_jsx(FormHelperText, { error: !!errors.toAddress, children: errors.toAddress }));
89
- };
90
- //# sourceMappingURL=SendToWallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendToWallet.js","sourceRoot":"","sources":["../../../components/SendToWallet/SendToWallet.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const useRequiredToAddress: () => boolean | undefined;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRequiredToAddress.js","sourceRoot":"","sources":["../../hooks/useRequiredToAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,kBAAkB,GACtB,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;IAEpE,MAAM,iBAAiB,GACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC;IAEnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { PropsWithChildren } from 'react';
2
- export declare const SettingCard: React.FC<PropsWithChildren>;
@@ -1,8 +0,0 @@
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: 1,
6
- }, children: children }));
7
- };
8
- //# sourceMappingURL=SettingCard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingCard.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,OAAO,CACL,KAAC,IAAI,IACH,OAAO,EAAC,SAAS,EACjB,cAAc,EAAC,SAAS,EACxB,EAAE,EAAE;YACF,CAAC,EAAE,CAAC;SACL,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { SettingCard } from './SettingCard';
3
- import { SummaryRowButton, SummaryValue, SummaryTitleContainer, } from './SettingCard.style';
4
- export const SettingCardButton = ({ onClick, icon, title, children }) => (_jsx(SettingCard, { children: _jsxs(SummaryRowButton, { onClick: onClick, disableRipple: true, children: [_jsxs(SummaryTitleContainer, { children: [icon, _jsx(SummaryValue, { children: title })] }), children] }) }));
5
- //# sourceMappingURL=SettingCardButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettingCardButton.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCardButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,CAAC,MAAM,iBAAiB,GAE1B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1C,KAAC,WAAW,cACV,MAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,aAAa,mBAC/C,MAAC,qBAAqB,eACnB,IAAI,EACL,KAAC,YAAY,cAAE,KAAK,GAAgB,IACd,EACvB,QAAQ,IACQ,GACP,CACf,CAAC"}