@lifi/widget 0.0.0-preview-6cc63bac

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 (1255) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +312 -0
  3. package/dist/esm/App.d.ts +9 -0
  4. package/dist/esm/App.d.ts.map +1 -0
  5. package/dist/esm/App.js +44 -0
  6. package/dist/esm/App.js.map +1 -0
  7. package/dist/esm/AppDefault.js +214 -0
  8. package/dist/esm/AppDefault.js.map +1 -0
  9. package/dist/esm/AppDrawer.d.ts +12 -0
  10. package/dist/esm/AppDrawer.d.ts.map +1 -0
  11. package/dist/esm/AppDrawer.js +63 -0
  12. package/dist/esm/AppDrawer.js.map +1 -0
  13. package/dist/esm/AppDrawerContext.js +8 -0
  14. package/dist/esm/AppDrawerContext.js.map +1 -0
  15. package/dist/esm/AppLayout.js +33 -0
  16. package/dist/esm/AppLayout.js.map +1 -0
  17. package/dist/esm/AppProvider.js +30 -0
  18. package/dist/esm/AppProvider.js.map +1 -0
  19. package/dist/esm/components/ActionRow/ActionRow.js +17 -0
  20. package/dist/esm/components/ActionRow/ActionRow.js.map +1 -0
  21. package/dist/esm/components/ActionRow/ActionRow.style.js +21 -0
  22. package/dist/esm/components/ActionRow/ActionRow.style.js.map +1 -0
  23. package/dist/esm/components/AmountInput/AmountInput.js +117 -0
  24. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -0
  25. package/dist/esm/components/AmountInput/AmountInput.style.js +38 -0
  26. package/dist/esm/components/AmountInput/AmountInput.style.js.map +1 -0
  27. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +64 -0
  28. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -0
  29. package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js +21 -0
  30. package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js.map +1 -0
  31. package/dist/esm/components/AmountInput/AmountInputStartAdornment.js +21 -0
  32. package/dist/esm/components/AmountInput/AmountInputStartAdornment.js.map +1 -0
  33. package/dist/esm/components/AmountInput/PriceFormHelperText.js +98 -0
  34. package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -0
  35. package/dist/esm/components/AmountInput/PriceFormHelperText.style.js +28 -0
  36. package/dist/esm/components/AmountInput/PriceFormHelperText.style.js.map +1 -0
  37. package/dist/esm/components/AppContainer.js +93 -0
  38. package/dist/esm/components/AppContainer.js.map +1 -0
  39. package/dist/esm/components/Avatar/AccountAvatar.js +29 -0
  40. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -0
  41. package/dist/esm/components/Avatar/Avatar.js +47 -0
  42. package/dist/esm/components/Avatar/Avatar.js.map +1 -0
  43. package/dist/esm/components/Avatar/Avatar.style.js +57 -0
  44. package/dist/esm/components/Avatar/Avatar.style.js.map +1 -0
  45. package/dist/esm/components/Avatar/ChainBadgeContent.js +17 -0
  46. package/dist/esm/components/Avatar/ChainBadgeContent.js.map +1 -0
  47. package/dist/esm/components/Avatar/SmallAvatar.js +20 -0
  48. package/dist/esm/components/Avatar/SmallAvatar.js.map +1 -0
  49. package/dist/esm/components/Avatar/TokenAvatar.js +65 -0
  50. package/dist/esm/components/Avatar/TokenAvatar.js.map +1 -0
  51. package/dist/esm/components/Avatar/utils.js +9 -0
  52. package/dist/esm/components/Avatar/utils.js.map +1 -0
  53. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +51 -0
  54. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -0
  55. package/dist/esm/components/BottomSheet/BottomSheet.js +46 -0
  56. package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -0
  57. package/dist/esm/components/ButtonTertiary.js +21 -0
  58. package/dist/esm/components/ButtonTertiary.js.map +1 -0
  59. package/dist/esm/components/Card/Card.js +65 -0
  60. package/dist/esm/components/Card/Card.js.map +1 -0
  61. package/dist/esm/components/Card/CardButton.js +13 -0
  62. package/dist/esm/components/Card/CardButton.js.map +1 -0
  63. package/dist/esm/components/Card/CardButton.style.js +29 -0
  64. package/dist/esm/components/Card/CardButton.style.js.map +1 -0
  65. package/dist/esm/components/Card/CardHeader.js +26 -0
  66. package/dist/esm/components/Card/CardHeader.js.map +1 -0
  67. package/dist/esm/components/Card/CardIconButton.js +14 -0
  68. package/dist/esm/components/Card/CardIconButton.js.map +1 -0
  69. package/dist/esm/components/Card/CardLabel.js +62 -0
  70. package/dist/esm/components/Card/CardLabel.js.map +1 -0
  71. package/dist/esm/components/Card/CardTitle.js +22 -0
  72. package/dist/esm/components/Card/CardTitle.js.map +1 -0
  73. package/dist/esm/components/Card/InputCard.js +11 -0
  74. package/dist/esm/components/Card/InputCard.js.map +1 -0
  75. package/dist/esm/components/ChainSelect/ChainSelect.js +124 -0
  76. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -0
  77. package/dist/esm/components/ChainSelect/ChainSelect.style.js +62 -0
  78. package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -0
  79. package/dist/esm/components/ChainSelect/useChainSelect.js +59 -0
  80. package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -0
  81. package/dist/esm/components/Chains/AllChainsAvatar.js +106 -0
  82. package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -0
  83. package/dist/esm/components/Chains/ChainList.js +50 -0
  84. package/dist/esm/components/Chains/ChainList.js.map +1 -0
  85. package/dist/esm/components/Chains/ChainList.style.js +43 -0
  86. package/dist/esm/components/Chains/ChainList.style.js.map +1 -0
  87. package/dist/esm/components/Chains/ChainListItem.js +55 -0
  88. package/dist/esm/components/Chains/ChainListItem.js.map +1 -0
  89. package/dist/esm/components/Chains/ChainsExpanded.js +23 -0
  90. package/dist/esm/components/Chains/ChainsExpanded.js.map +1 -0
  91. package/dist/esm/components/Chains/ChainsExpanded.style.js +19 -0
  92. package/dist/esm/components/Chains/ChainsExpanded.style.js.map +1 -0
  93. package/dist/esm/components/Chains/PinChainButton.js +43 -0
  94. package/dist/esm/components/Chains/PinChainButton.js.map +1 -0
  95. package/dist/esm/components/Chains/SelectChainExpansionContent.js +65 -0
  96. package/dist/esm/components/Chains/SelectChainExpansionContent.js.map +1 -0
  97. package/dist/esm/components/Chains/SelectChainPageContent.js +60 -0
  98. package/dist/esm/components/Chains/SelectChainPageContent.js.map +1 -0
  99. package/dist/esm/components/Chains/VirtualizedChainList.js +143 -0
  100. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -0
  101. package/dist/esm/components/ContextMenu.js +59 -0
  102. package/dist/esm/components/ContextMenu.js.map +1 -0
  103. package/dist/esm/components/ContextMenu.style.js +12 -0
  104. package/dist/esm/components/ContextMenu.style.js.map +1 -0
  105. package/dist/esm/components/ContractComponent/ContractComponent.js +14 -0
  106. package/dist/esm/components/ContractComponent/ContractComponent.js.map +1 -0
  107. package/dist/esm/components/ContractComponent/ItemPrice.d.ts +12 -0
  108. package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -0
  109. package/dist/esm/components/ContractComponent/ItemPrice.js +29 -0
  110. package/dist/esm/components/ContractComponent/ItemPrice.js.map +1 -0
  111. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +7 -0
  112. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -0
  113. package/dist/esm/components/ContractComponent/NFT/NFT.js +33 -0
  114. package/dist/esm/components/ContractComponent/NFT/NFT.js.map +1 -0
  115. package/dist/esm/components/ContractComponent/NFT/NFT.style.js +12 -0
  116. package/dist/esm/components/ContractComponent/NFT/NFT.style.js.map +1 -0
  117. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +7 -0
  118. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -0
  119. package/dist/esm/components/ContractComponent/NFT/NFTBase.js +76 -0
  120. package/dist/esm/components/ContractComponent/NFT/NFTBase.js.map +1 -0
  121. package/dist/esm/components/ContractComponent/NFT/types.d.ts +21 -0
  122. package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -0
  123. package/dist/esm/components/Dialog/Dialog.js +36 -0
  124. package/dist/esm/components/Dialog/Dialog.js.map +1 -0
  125. package/dist/esm/components/Dialog/Dialog.style.js +42 -0
  126. package/dist/esm/components/Dialog/Dialog.style.js.map +1 -0
  127. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.js +12 -0
  128. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.js.map +1 -0
  129. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js +30 -0
  130. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js.map +1 -0
  131. package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js +65 -0
  132. package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js.map +1 -0
  133. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js +273 -0
  134. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js.map +1 -0
  135. package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js +47 -0
  136. package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js.map +1 -0
  137. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js +122 -0
  138. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -0
  139. package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js +14 -0
  140. package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js.map +1 -0
  141. package/dist/esm/components/ExecutionStatusCard/iconKey.js +13 -0
  142. package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -0
  143. package/dist/esm/components/Expansion/Expansion.js +32 -0
  144. package/dist/esm/components/Expansion/Expansion.js.map +1 -0
  145. package/dist/esm/components/Expansion/Expansion.style.js +40 -0
  146. package/dist/esm/components/Expansion/Expansion.style.js.map +1 -0
  147. package/dist/esm/components/Expansion/ExpansionTransition.js +32 -0
  148. package/dist/esm/components/Expansion/ExpansionTransition.js.map +1 -0
  149. package/dist/esm/components/FeeBreakdownTooltip.js +39 -0
  150. package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -0
  151. package/dist/esm/components/Header/ActivitiesButton.js +61 -0
  152. package/dist/esm/components/Header/ActivitiesButton.js.map +1 -0
  153. package/dist/esm/components/Header/ActivitiesButton.style.js +39 -0
  154. package/dist/esm/components/Header/ActivitiesButton.style.js.map +1 -0
  155. package/dist/esm/components/Header/BackButton.js +24 -0
  156. package/dist/esm/components/Header/BackButton.js.map +1 -0
  157. package/dist/esm/components/Header/CloseDrawerButton.js +25 -0
  158. package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -0
  159. package/dist/esm/components/Header/DisconnectIconButton.js +20 -0
  160. package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -0
  161. package/dist/esm/components/Header/Header.js +44 -0
  162. package/dist/esm/components/Header/Header.js.map +1 -0
  163. package/dist/esm/components/Header/Header.style.js +71 -0
  164. package/dist/esm/components/Header/Header.style.js.map +1 -0
  165. package/dist/esm/components/Header/NavigationHeader.js +62 -0
  166. package/dist/esm/components/Header/NavigationHeader.js.map +1 -0
  167. package/dist/esm/components/Header/SettingsButton.js +32 -0
  168. package/dist/esm/components/Header/SettingsButton.js.map +1 -0
  169. package/dist/esm/components/Header/SettingsButton.style.js +38 -0
  170. package/dist/esm/components/Header/SettingsButton.style.js.map +1 -0
  171. package/dist/esm/components/Header/SplitNavigationTabs.js +33 -0
  172. package/dist/esm/components/Header/SplitNavigationTabs.js.map +1 -0
  173. package/dist/esm/components/Header/WalletHeader.js +118 -0
  174. package/dist/esm/components/Header/WalletHeader.js.map +1 -0
  175. package/dist/esm/components/Header/WalletMenu.js +100 -0
  176. package/dist/esm/components/Header/WalletMenu.js.map +1 -0
  177. package/dist/esm/components/Header/WalletMenu.style.js +25 -0
  178. package/dist/esm/components/Header/WalletMenu.style.js.map +1 -0
  179. package/dist/esm/components/IconCircle/IconCircle.js +19 -0
  180. package/dist/esm/components/IconCircle/IconCircle.js.map +1 -0
  181. package/dist/esm/components/IconCircle/IconCircle.style.js +57 -0
  182. package/dist/esm/components/IconCircle/IconCircle.style.js.map +1 -0
  183. package/dist/esm/components/IconCircle/statusIcons.js +15 -0
  184. package/dist/esm/components/IconCircle/statusIcons.js.map +1 -0
  185. package/dist/esm/components/IconTypography.js +11 -0
  186. package/dist/esm/components/IconTypography.js.map +1 -0
  187. package/dist/esm/components/Initializer.js +10 -0
  188. package/dist/esm/components/Initializer.js.map +1 -0
  189. package/dist/esm/components/Input.js +15 -0
  190. package/dist/esm/components/Input.js.map +1 -0
  191. package/dist/esm/components/ListItem/ListItem.js +23 -0
  192. package/dist/esm/components/ListItem/ListItem.js.map +1 -0
  193. package/dist/esm/components/ListItem/ListItemButton.js +13 -0
  194. package/dist/esm/components/ListItem/ListItemButton.js.map +1 -0
  195. package/dist/esm/components/ListItemButton.js +30 -0
  196. package/dist/esm/components/ListItemButton.js.map +1 -0
  197. package/dist/esm/components/ListItemText.js +7 -0
  198. package/dist/esm/components/ListItemText.js.map +1 -0
  199. package/dist/esm/components/Menu.js +21 -0
  200. package/dist/esm/components/Menu.js.map +1 -0
  201. package/dist/esm/components/Messages/AccountDeployedMessage.js +27 -0
  202. package/dist/esm/components/Messages/AccountDeployedMessage.js.map +1 -0
  203. package/dist/esm/components/Messages/AccountNotDeployedMessage.js +24 -0
  204. package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -0
  205. package/dist/esm/components/Messages/AlertMessage.js +16 -0
  206. package/dist/esm/components/Messages/AlertMessage.js.map +1 -0
  207. package/dist/esm/components/Messages/AlertMessage.style.js +38 -0
  208. package/dist/esm/components/Messages/AlertMessage.style.js.map +1 -0
  209. package/dist/esm/components/Messages/FundsSufficiencyMessage.js +24 -0
  210. package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -0
  211. package/dist/esm/components/Messages/GasRefuelMessage.js +63 -0
  212. package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -0
  213. package/dist/esm/components/Messages/GasRefuelMessage.style.js +17 -0
  214. package/dist/esm/components/Messages/GasRefuelMessage.style.js.map +1 -0
  215. package/dist/esm/components/Messages/GasSufficiencyMessage.js +43 -0
  216. package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -0
  217. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js +27 -0
  218. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js.map +1 -0
  219. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js +31 -0
  220. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js.map +1 -0
  221. package/dist/esm/components/Messages/WarningMessages.js +45 -0
  222. package/dist/esm/components/Messages/WarningMessages.js.map +1 -0
  223. package/dist/esm/components/Messages/useMessageQueue.js +68 -0
  224. package/dist/esm/components/Messages/useMessageQueue.js.map +1 -0
  225. package/dist/esm/components/NotFound.js +44 -0
  226. package/dist/esm/components/NotFound.js.map +1 -0
  227. package/dist/esm/components/PageContainer.js +20 -0
  228. package/dist/esm/components/PageContainer.js.map +1 -0
  229. package/dist/esm/components/PageEntered.js +17 -0
  230. package/dist/esm/components/PageEntered.js.map +1 -0
  231. package/dist/esm/components/PoweredBy/PoweredBy.js +59 -0
  232. package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -0
  233. package/dist/esm/components/PoweredBy/PoweredBy.style.js +12 -0
  234. package/dist/esm/components/PoweredBy/PoweredBy.style.js.map +1 -0
  235. package/dist/esm/components/ProgressToNextUpdate.js +66 -0
  236. package/dist/esm/components/ProgressToNextUpdate.js.map +1 -0
  237. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +40 -0
  238. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -0
  239. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js +33 -0
  240. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -0
  241. package/dist/esm/components/RouteCard/RouteCard.js +86 -0
  242. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -0
  243. package/dist/esm/components/RouteCard/RouteCardEssentials.js +92 -0
  244. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -0
  245. package/dist/esm/components/RouteCard/RouteCardSkeleton.js +53 -0
  246. package/dist/esm/components/RouteCard/RouteCardSkeleton.js.map +1 -0
  247. package/dist/esm/components/RouteCard/RouteDetails.js +100 -0
  248. package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -0
  249. package/dist/esm/components/RouteCard/RouteDetails.style.js +35 -0
  250. package/dist/esm/components/RouteCard/RouteDetails.style.js.map +1 -0
  251. package/dist/esm/components/RouteCard/RouteNotFoundCard.js +45 -0
  252. package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -0
  253. package/dist/esm/components/RouteCard/RouteToken.js +49 -0
  254. package/dist/esm/components/RouteCard/RouteToken.js.map +1 -0
  255. package/dist/esm/components/RouteCard/RouteToken.style.js +11 -0
  256. package/dist/esm/components/RouteCard/RouteToken.style.js.map +1 -0
  257. package/dist/esm/components/RouteCard/RouteTokens.js +50 -0
  258. package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -0
  259. package/dist/esm/components/RouteCard/getMatchingLabels.js +24 -0
  260. package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -0
  261. package/dist/esm/components/Routes/Routes.js +70 -0
  262. package/dist/esm/components/Routes/Routes.js.map +1 -0
  263. package/dist/esm/components/Routes/RoutesContent.js +74 -0
  264. package/dist/esm/components/Routes/RoutesContent.js.map +1 -0
  265. package/dist/esm/components/Routes/RoutesExpanded.js +69 -0
  266. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -0
  267. package/dist/esm/components/Routes/RoutesExpanded.style.js +34 -0
  268. package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -0
  269. package/dist/esm/components/Search/SearchInput.js +46 -0
  270. package/dist/esm/components/Search/SearchInput.js.map +1 -0
  271. package/dist/esm/components/Search/SearchInput.style.js +27 -0
  272. package/dist/esm/components/Search/SearchInput.style.js.map +1 -0
  273. package/dist/esm/components/Search/SearchNotFound.js +9 -0
  274. package/dist/esm/components/Search/SearchNotFound.js.map +1 -0
  275. package/dist/esm/components/Search/SearchNotFound.style.js +28 -0
  276. package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -0
  277. package/dist/esm/components/SelectChainAndToken.js +36 -0
  278. package/dist/esm/components/SelectChainAndToken.js.map +1 -0
  279. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js +70 -0
  280. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -0
  281. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js +67 -0
  282. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -0
  283. package/dist/esm/components/SendToWallet/SendToWalletButton.js +115 -0
  284. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -0
  285. package/dist/esm/components/SendToWallet/SendToWalletButton.style.js +53 -0
  286. package/dist/esm/components/SendToWallet/SendToWalletButton.style.js.map +1 -0
  287. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js +49 -0
  288. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
  289. package/dist/esm/components/SettingsListItemButton.js +8 -0
  290. package/dist/esm/components/SettingsListItemButton.js.map +1 -0
  291. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +10 -0
  292. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -0
  293. package/dist/esm/components/Skeleton/WidgetSkeleton.js +124 -0
  294. package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -0
  295. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js +73 -0
  296. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -0
  297. package/dist/esm/components/Step/StepActions.js +198 -0
  298. package/dist/esm/components/Step/StepActions.js.map +1 -0
  299. package/dist/esm/components/Step/StepActions.style.js +27 -0
  300. package/dist/esm/components/Step/StepActions.style.js.map +1 -0
  301. package/dist/esm/components/StepActions/SentToWalletRow.js +49 -0
  302. package/dist/esm/components/StepActions/SentToWalletRow.js.map +1 -0
  303. package/dist/esm/components/StepActions/SentToWalletRow.style.js +26 -0
  304. package/dist/esm/components/StepActions/SentToWalletRow.style.js.map +1 -0
  305. package/dist/esm/components/StepActions/StepActionRow.js +27 -0
  306. package/dist/esm/components/StepActions/StepActionRow.js.map +1 -0
  307. package/dist/esm/components/StepActions/StepActionRow.style.js +17 -0
  308. package/dist/esm/components/StepActions/StepActionRow.style.js.map +1 -0
  309. package/dist/esm/components/StepActions/StepActionsList.js +23 -0
  310. package/dist/esm/components/StepActions/StepActionsList.js.map +1 -0
  311. package/dist/esm/components/StepActions/executionRows.js +67 -0
  312. package/dist/esm/components/StepActions/executionRows.js.map +1 -0
  313. package/dist/esm/components/Switch.js +47 -0
  314. package/dist/esm/components/Switch.js.map +1 -0
  315. package/dist/esm/components/Tabs/NavigationTabs.js +39 -0
  316. package/dist/esm/components/Tabs/NavigationTabs.js.map +1 -0
  317. package/dist/esm/components/Tabs/Tabs.style.js +31 -0
  318. package/dist/esm/components/Tabs/Tabs.style.js.map +1 -0
  319. package/dist/esm/components/TextFitter/TextFitter.js +62 -0
  320. package/dist/esm/components/TextFitter/TextFitter.js.map +1 -0
  321. package/dist/esm/components/Timer/ExecutionTimerText.js +10 -0
  322. package/dist/esm/components/Timer/ExecutionTimerText.js.map +1 -0
  323. package/dist/esm/components/Timer/StepStatusTimer.js +56 -0
  324. package/dist/esm/components/Timer/StepStatusTimer.js.map +1 -0
  325. package/dist/esm/components/Timer/StepStatusTimer.style.js +67 -0
  326. package/dist/esm/components/Timer/StepStatusTimer.style.js.map +1 -0
  327. package/dist/esm/components/Token/Token.js +208 -0
  328. package/dist/esm/components/Token/Token.js.map +1 -0
  329. package/dist/esm/components/Token/Token.style.js +31 -0
  330. package/dist/esm/components/Token/Token.style.js.map +1 -0
  331. package/dist/esm/components/TokenList/PinTokenButton.js +36 -0
  332. package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -0
  333. package/dist/esm/components/TokenList/TokenDetailsSheet.js +37 -0
  334. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -0
  335. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +177 -0
  336. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -0
  337. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js +32 -0
  338. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js.map +1 -0
  339. package/dist/esm/components/TokenList/TokenList.js +65 -0
  340. package/dist/esm/components/TokenList/TokenList.js.map +1 -0
  341. package/dist/esm/components/TokenList/TokenList.style.js +30 -0
  342. package/dist/esm/components/TokenList/TokenList.style.js.map +1 -0
  343. package/dist/esm/components/TokenList/TokenListItem.js +274 -0
  344. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -0
  345. package/dist/esm/components/TokenList/TokenNotFound.js +12 -0
  346. package/dist/esm/components/TokenList/TokenNotFound.js.map +1 -0
  347. package/dist/esm/components/TokenList/VirtualizedTokenList.js +123 -0
  348. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -0
  349. package/dist/esm/components/TokenList/useTokenSelect.js +78 -0
  350. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -0
  351. package/dist/esm/components/TokenRate/TokenRate.js +38 -0
  352. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -0
  353. package/dist/esm/components/TokenRate/TokenRate.style.js +19 -0
  354. package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -0
  355. package/dist/esm/components/Tools/ToolItem.js +37 -0
  356. package/dist/esm/components/Tools/ToolItem.js.map +1 -0
  357. package/dist/esm/components/Tools/Tools.js +50 -0
  358. package/dist/esm/components/Tools/Tools.js.map +1 -0
  359. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +68 -0
  360. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -0
  361. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +21 -0
  362. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -0
  363. package/dist/esm/components/TransactionCard/TransactionCard.js +32 -0
  364. package/dist/esm/components/TransactionCard/TransactionCard.js.map +1 -0
  365. package/dist/esm/components/TransactionCard/TransactionCard.style.js +14 -0
  366. package/dist/esm/components/TransactionCard/TransactionCard.style.js.map +1 -0
  367. package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js +63 -0
  368. package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js.map +1 -0
  369. package/dist/esm/config/constants.d.ts +5 -0
  370. package/dist/esm/config/constants.d.ts.map +1 -0
  371. package/dist/esm/config/constants.js +7 -0
  372. package/dist/esm/config/constants.js.map +1 -0
  373. package/dist/esm/config/queryClient.js +18 -0
  374. package/dist/esm/config/queryClient.js.map +1 -0
  375. package/dist/esm/config/version.d.ts +6 -0
  376. package/dist/esm/config/version.d.ts.map +1 -0
  377. package/dist/esm/config/version.js +7 -0
  378. package/dist/esm/config/version.js.map +1 -0
  379. package/dist/esm/hooks/timer/time.js +26 -0
  380. package/dist/esm/hooks/timer/time.js.map +1 -0
  381. package/dist/esm/hooks/timer/useExecutionTimer.js +29 -0
  382. package/dist/esm/hooks/timer/useExecutionTimer.js.map +1 -0
  383. package/dist/esm/hooks/timer/useInterval.js +19 -0
  384. package/dist/esm/hooks/timer/useInterval.js.map +1 -0
  385. package/dist/esm/hooks/timer/useTimer.js +67 -0
  386. package/dist/esm/hooks/timer/useTimer.js.map +1 -0
  387. package/dist/esm/hooks/timer/validate.js +15 -0
  388. package/dist/esm/hooks/timer/validate.js.map +1 -0
  389. package/dist/esm/hooks/useAccountsBalancesData.js +70 -0
  390. package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -0
  391. package/dist/esm/hooks/useActionMessage.js +18 -0
  392. package/dist/esm/hooks/useActionMessage.js.map +1 -0
  393. package/dist/esm/hooks/useAddressActivity.js +36 -0
  394. package/dist/esm/hooks/useAddressActivity.js.map +1 -0
  395. package/dist/esm/hooks/useAddressValidation.js +50 -0
  396. package/dist/esm/hooks/useAddressValidation.js.map +1 -0
  397. package/dist/esm/hooks/useAvailableChains.js +69 -0
  398. package/dist/esm/hooks/useAvailableChains.js.map +1 -0
  399. package/dist/esm/hooks/useChain.js +15 -0
  400. package/dist/esm/hooks/useChain.js.map +1 -0
  401. package/dist/esm/hooks/useChainSearch.js +39 -0
  402. package/dist/esm/hooks/useChainSearch.js.map +1 -0
  403. package/dist/esm/hooks/useChains.js +26 -0
  404. package/dist/esm/hooks/useChains.js.map +1 -0
  405. package/dist/esm/hooks/useContactSupport.js +15 -0
  406. package/dist/esm/hooks/useContactSupport.js.map +1 -0
  407. package/dist/esm/hooks/useDebouncedWatch.js +28 -0
  408. package/dist/esm/hooks/useDebouncedWatch.js.map +1 -0
  409. package/dist/esm/hooks/useDefaultElementId.js +10 -0
  410. package/dist/esm/hooks/useDefaultElementId.js.map +1 -0
  411. package/dist/esm/hooks/useExplorer.js +59 -0
  412. package/dist/esm/hooks/useExplorer.js.map +1 -0
  413. package/dist/esm/hooks/useFilteredByTokenBalances.js +71 -0
  414. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -0
  415. package/dist/esm/hooks/useFromAmountThreshold.js +29 -0
  416. package/dist/esm/hooks/useFromAmountThreshold.js.map +1 -0
  417. package/dist/esm/hooks/useFromTokenSufficiency.js +56 -0
  418. package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -0
  419. package/dist/esm/hooks/useGasRecommendation.js +38 -0
  420. package/dist/esm/hooks/useGasRecommendation.js.map +1 -0
  421. package/dist/esm/hooks/useGasRefuel.js +45 -0
  422. package/dist/esm/hooks/useGasRefuel.js.map +1 -0
  423. package/dist/esm/hooks/useGasSufficiency.js +104 -0
  424. package/dist/esm/hooks/useGasSufficiency.js.map +1 -0
  425. package/dist/esm/hooks/useHasChainExpansion.js +17 -0
  426. package/dist/esm/hooks/useHasChainExpansion.js.map +1 -0
  427. package/dist/esm/hooks/useHeader.js +23 -0
  428. package/dist/esm/hooks/useHeader.js.map +1 -0
  429. package/dist/esm/hooks/useInitializeSDKProviders.js +15 -0
  430. package/dist/esm/hooks/useInitializeSDKProviders.js.map +1 -0
  431. package/dist/esm/hooks/useInitializer.js +19 -0
  432. package/dist/esm/hooks/useInitializer.js.map +1 -0
  433. package/dist/esm/hooks/useIsBatchingSupported.js +37 -0
  434. package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -0
  435. package/dist/esm/hooks/useIsContractAddress.js +30 -0
  436. package/dist/esm/hooks/useIsContractAddress.js.map +1 -0
  437. package/dist/esm/hooks/useLanguages.js +53 -0
  438. package/dist/esm/hooks/useLanguages.js.map +1 -0
  439. package/dist/esm/hooks/useListHeight.js +52 -0
  440. package/dist/esm/hooks/useListHeight.js.map +1 -0
  441. package/dist/esm/hooks/useLongPress.js +40 -0
  442. package/dist/esm/hooks/useLongPress.js.map +1 -0
  443. package/dist/esm/hooks/useNavigateBack.js +18 -0
  444. package/dist/esm/hooks/useNavigateBack.js.map +1 -0
  445. package/dist/esm/hooks/usePacedRouteExecution.js +30 -0
  446. package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -0
  447. package/dist/esm/hooks/usePacedValue.js +42 -0
  448. package/dist/esm/hooks/usePacedValue.js.map +1 -0
  449. package/dist/esm/hooks/useRouteExecution.js +156 -0
  450. package/dist/esm/hooks/useRouteExecution.js.map +1 -0
  451. package/dist/esm/hooks/useRouteExecutionMessage.js +61 -0
  452. package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -0
  453. package/dist/esm/hooks/useRouteRequiredAccountConnection.js +37 -0
  454. package/dist/esm/hooks/useRouteRequiredAccountConnection.js.map +1 -0
  455. package/dist/esm/hooks/useRoutes.js +303 -0
  456. package/dist/esm/hooks/useRoutes.js.map +1 -0
  457. package/dist/esm/hooks/useScrollableContainer.js +12 -0
  458. package/dist/esm/hooks/useScrollableContainer.js.map +1 -0
  459. package/dist/esm/hooks/useSetContentHeight.js +23 -0
  460. package/dist/esm/hooks/useSetContentHeight.js.map +1 -0
  461. package/dist/esm/hooks/useSettingMonitor.js +51 -0
  462. package/dist/esm/hooks/useSettingMonitor.js.map +1 -0
  463. package/dist/esm/hooks/useSwapOnly.js +9 -0
  464. package/dist/esm/hooks/useSwapOnly.js.map +1 -0
  465. package/dist/esm/hooks/useToAddressAutoPopulate.js +51 -0
  466. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -0
  467. package/dist/esm/hooks/useToAddressRequirements.js +41 -0
  468. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -0
  469. package/dist/esm/hooks/useToAddressReset.js +29 -0
  470. package/dist/esm/hooks/useToAddressReset.js.map +1 -0
  471. package/dist/esm/hooks/useToken.js +23 -0
  472. package/dist/esm/hooks/useToken.js.map +1 -0
  473. package/dist/esm/hooks/useTokenAddressBalance.js +21 -0
  474. package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -0
  475. package/dist/esm/hooks/useTokenBalance.js +93 -0
  476. package/dist/esm/hooks/useTokenBalance.js.map +1 -0
  477. package/dist/esm/hooks/useTokenBalances.js +111 -0
  478. package/dist/esm/hooks/useTokenBalances.js.map +1 -0
  479. package/dist/esm/hooks/useTokenBalancesQueries.js +63 -0
  480. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -0
  481. package/dist/esm/hooks/useTokenRateText.js +36 -0
  482. package/dist/esm/hooks/useTokenRateText.js.map +1 -0
  483. package/dist/esm/hooks/useTokenSearch.js +48 -0
  484. package/dist/esm/hooks/useTokenSearch.js.map +1 -0
  485. package/dist/esm/hooks/useTokens.js +100 -0
  486. package/dist/esm/hooks/useTokens.js.map +1 -0
  487. package/dist/esm/hooks/useTools.js +42 -0
  488. package/dist/esm/hooks/useTools.js.map +1 -0
  489. package/dist/esm/hooks/useTransactionDetails.js +49 -0
  490. package/dist/esm/hooks/useTransactionDetails.js.map +1 -0
  491. package/dist/esm/hooks/useTransactionHistory.js +68 -0
  492. package/dist/esm/hooks/useTransactionHistory.js.map +1 -0
  493. package/dist/esm/hooks/useTransactionList.js +57 -0
  494. package/dist/esm/hooks/useTransactionList.js.map +1 -0
  495. package/dist/esm/hooks/useWideVariant.js +13 -0
  496. package/dist/esm/hooks/useWideVariant.js.map +1 -0
  497. package/dist/esm/hooks/useWidgetChains.d.ts +12 -0
  498. package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -0
  499. package/dist/esm/hooks/useWidgetChains.js +9 -0
  500. package/dist/esm/hooks/useWidgetChains.js.map +1 -0
  501. package/dist/esm/hooks/useWidgetEvents.d.ts +10 -0
  502. package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -0
  503. package/dist/esm/hooks/useWidgetEvents.js +8 -0
  504. package/dist/esm/hooks/useWidgetEvents.js.map +1 -0
  505. package/dist/esm/i18n/bn.json +362 -0
  506. package/dist/esm/i18n/de.json +362 -0
  507. package/dist/esm/i18n/en.json +360 -0
  508. package/dist/esm/i18n/es.json +362 -0
  509. package/dist/esm/i18n/fr.json +362 -0
  510. package/dist/esm/i18n/hi.json +362 -0
  511. package/dist/esm/i18n/id.json +362 -0
  512. package/dist/esm/i18n/it.json +362 -0
  513. package/dist/esm/i18n/ja.json +362 -0
  514. package/dist/esm/i18n/ko.json +362 -0
  515. package/dist/esm/i18n/pl.json +362 -0
  516. package/dist/esm/i18n/pt.json +362 -0
  517. package/dist/esm/i18n/th.json +362 -0
  518. package/dist/esm/i18n/tr.json +362 -0
  519. package/dist/esm/i18n/uk.json +362 -0
  520. package/dist/esm/i18n/vi.json +362 -0
  521. package/dist/esm/i18n/zh.json +362 -0
  522. package/dist/esm/index.d.ts +33 -0
  523. package/dist/esm/index.js +28 -0
  524. package/dist/esm/pages/ActivitiesPage/ActiveTransactionItem.js +36 -0
  525. package/dist/esm/pages/ActivitiesPage/ActiveTransactionItem.js.map +1 -0
  526. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +101 -0
  527. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -0
  528. package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js +55 -0
  529. package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js.map +1 -0
  530. package/dist/esm/pages/ActivitiesPage/TransactionHistoryEmpty.js +17 -0
  531. package/dist/esm/pages/ActivitiesPage/TransactionHistoryEmpty.js.map +1 -0
  532. package/dist/esm/pages/ActivitiesPage/TransactionHistoryItem.js +24 -0
  533. package/dist/esm/pages/ActivitiesPage/TransactionHistoryItem.js.map +1 -0
  534. package/dist/esm/pages/LanguagesPage.js +31 -0
  535. package/dist/esm/pages/LanguagesPage.js.map +1 -0
  536. package/dist/esm/pages/MainPage/MainPage.js +59 -0
  537. package/dist/esm/pages/MainPage/MainPage.js.map +1 -0
  538. package/dist/esm/pages/MainPage/MainWarningMessages.js +16 -0
  539. package/dist/esm/pages/MainPage/MainWarningMessages.js.map +1 -0
  540. package/dist/esm/pages/MainPage/ReviewButton.js +60 -0
  541. package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -0
  542. package/dist/esm/pages/RoutesPage/RoutesPage.js +74 -0
  543. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -0
  544. package/dist/esm/pages/RoutesPage/RoutesPage.style.js +10 -0
  545. package/dist/esm/pages/RoutesPage/RoutesPage.style.js.map +1 -0
  546. package/dist/esm/pages/SelectChainPage/SelectChainPage.js +35 -0
  547. package/dist/esm/pages/SelectChainPage/SelectChainPage.js.map +1 -0
  548. package/dist/esm/pages/SelectEnabledToolsPage.js +105 -0
  549. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -0
  550. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js +40 -0
  551. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -0
  552. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +46 -0
  553. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -0
  554. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +176 -0
  555. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
  556. package/dist/esm/pages/SendToWallet/BookmarksPage.js +124 -0
  557. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -0
  558. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +82 -0
  559. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
  560. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +106 -0
  561. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
  562. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +124 -0
  563. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
  564. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +84 -0
  565. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -0
  566. package/dist/esm/pages/SendToWallet/SendToWalletPage.js +237 -0
  567. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -0
  568. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js +90 -0
  569. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
  570. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +49 -0
  571. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -0
  572. package/dist/esm/pages/SettingsPage/GasPriceSettings.js +56 -0
  573. package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -0
  574. package/dist/esm/pages/SettingsPage/LanguageSetting.js +31 -0
  575. package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -0
  576. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js +64 -0
  577. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -0
  578. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js +12 -0
  579. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js.map +1 -0
  580. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +48 -0
  581. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -0
  582. package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js +13 -0
  583. package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -0
  584. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +23 -0
  585. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -0
  586. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +47 -0
  587. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -0
  588. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +38 -0
  589. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -0
  590. package/dist/esm/pages/SettingsPage/SettingsPage.js +39 -0
  591. package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -0
  592. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +92 -0
  593. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -0
  594. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +62 -0
  595. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -0
  596. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js +75 -0
  597. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -0
  598. package/dist/esm/pages/SettingsPage/ThemeSettings.js +60 -0
  599. package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -0
  600. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js +16 -0
  601. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js.map +1 -0
  602. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js +14 -0
  603. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js.map +1 -0
  604. package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js +28 -0
  605. package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js.map +1 -0
  606. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +84 -0
  607. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -0
  608. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +80 -0
  609. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -0
  610. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js +65 -0
  611. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -0
  612. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +81 -0
  613. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -0
  614. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +146 -0
  615. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -0
  616. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js +11 -0
  617. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js.map +1 -0
  618. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +38 -0
  619. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -0
  620. package/dist/esm/pages/TransactionPage/RouteTracker.js +47 -0
  621. package/dist/esm/pages/TransactionPage/RouteTracker.js.map +1 -0
  622. package/dist/esm/pages/TransactionPage/StartTransactionButton.js +21 -0
  623. package/dist/esm/pages/TransactionPage/StartTransactionButton.js.map +1 -0
  624. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +82 -0
  625. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -0
  626. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js +44 -0
  627. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js.map +1 -0
  628. package/dist/esm/pages/TransactionPage/TransactionContent.js +21 -0
  629. package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -0
  630. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +46 -0
  631. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -0
  632. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +78 -0
  633. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -0
  634. package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js +80 -0
  635. package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js.map +1 -0
  636. package/dist/esm/pages/TransactionPage/TransactionPage.js +79 -0
  637. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -0
  638. package/dist/esm/pages/TransactionPage/TransactionReview.js +115 -0
  639. package/dist/esm/pages/TransactionPage/TransactionReview.js.map +1 -0
  640. package/dist/esm/pages/TransactionPage/utils.js +12 -0
  641. package/dist/esm/pages/TransactionPage/utils.js.map +1 -0
  642. package/dist/esm/providers/I18nProvider/I18nProvider.js +83 -0
  643. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -0
  644. package/dist/esm/providers/I18nProvider/constants.js +43 -0
  645. package/dist/esm/providers/I18nProvider/constants.js.map +1 -0
  646. package/dist/esm/providers/I18nProvider/enResource.d.ts +2 -0
  647. package/dist/esm/providers/I18nProvider/enResource.js +2 -0
  648. package/dist/esm/providers/I18nProvider/i18n.js +18 -0
  649. package/dist/esm/providers/I18nProvider/i18n.js.map +1 -0
  650. package/dist/esm/providers/I18nProvider/types.d.ts +12 -0
  651. package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -0
  652. package/dist/esm/providers/QueryClientProvider.js +15 -0
  653. package/dist/esm/providers/QueryClientProvider.js.map +1 -0
  654. package/dist/esm/providers/SDKClientProvider.js +43 -0
  655. package/dist/esm/providers/SDKClientProvider.js.map +1 -0
  656. package/dist/esm/providers/ThemeProvider/ThemeProvider.js +25 -0
  657. package/dist/esm/providers/ThemeProvider/ThemeProvider.js.map +1 -0
  658. package/dist/esm/providers/WalletProvider/WalletProvider.js +40 -0
  659. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -0
  660. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +45 -0
  661. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js.map +1 -0
  662. package/dist/esm/providers/WidgetProvider/WidgetProvider.js +43 -0
  663. package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -0
  664. package/dist/esm/stores/StoreProvider.js +38 -0
  665. package/dist/esm/stores/StoreProvider.js.map +1 -0
  666. package/dist/esm/stores/bookmarks/BookmarkStore.js +28 -0
  667. package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -0
  668. package/dist/esm/stores/bookmarks/createBookmarkStore.js +45 -0
  669. package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -0
  670. package/dist/esm/stores/bookmarks/types.d.ts +26 -0
  671. package/dist/esm/stores/bookmarks/types.d.ts.map +1 -0
  672. package/dist/esm/stores/bookmarks/useBookmarkActions.js +17 -0
  673. package/dist/esm/stores/bookmarks/useBookmarkActions.js.map +1 -0
  674. package/dist/esm/stores/bookmarks/useBookmarks.js +18 -0
  675. package/dist/esm/stores/bookmarks/useBookmarks.js.map +1 -0
  676. package/dist/esm/stores/chains/ChainOrderStore.js +82 -0
  677. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -0
  678. package/dist/esm/stores/chains/createChainOrderStore.js +87 -0
  679. package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -0
  680. package/dist/esm/stores/chains/useChainOrder.js +11 -0
  681. package/dist/esm/stores/chains/useChainOrder.js.map +1 -0
  682. package/dist/esm/stores/form/FormStore.js +72 -0
  683. package/dist/esm/stores/form/FormStore.js.map +1 -0
  684. package/dist/esm/stores/form/FormStoreContext.js +7 -0
  685. package/dist/esm/stores/form/FormStoreContext.js.map +1 -0
  686. package/dist/esm/stores/form/FormUpdater.js +37 -0
  687. package/dist/esm/stores/form/FormUpdater.js.map +1 -0
  688. package/dist/esm/stores/form/URLSearchParamsBuilder.js +79 -0
  689. package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -0
  690. package/dist/esm/stores/form/createFormStore.js +176 -0
  691. package/dist/esm/stores/form/createFormStore.js.map +1 -0
  692. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js +22 -0
  693. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -0
  694. package/dist/esm/stores/form/types.d.ts +76 -0
  695. package/dist/esm/stores/form/types.d.ts.map +1 -0
  696. package/dist/esm/stores/form/types.js +10 -0
  697. package/dist/esm/stores/form/types.js.map +1 -0
  698. package/dist/esm/stores/form/useClearAmountFields.js +14 -0
  699. package/dist/esm/stores/form/useClearAmountFields.js.map +1 -0
  700. package/dist/esm/stores/form/useFieldActions.d.ts +7 -0
  701. package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -0
  702. package/dist/esm/stores/form/useFieldActions.js +61 -0
  703. package/dist/esm/stores/form/useFieldActions.js.map +1 -0
  704. package/dist/esm/stores/form/useFieldValues.d.ts +7 -0
  705. package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -0
  706. package/dist/esm/stores/form/useFieldValues.js +9 -0
  707. package/dist/esm/stores/form/useFieldValues.js.map +1 -0
  708. package/dist/esm/stores/form/useFormRef.js +36 -0
  709. package/dist/esm/stores/form/useFormRef.js.map +1 -0
  710. package/dist/esm/stores/form/useFormStore.js +13 -0
  711. package/dist/esm/stores/form/useFormStore.js.map +1 -0
  712. package/dist/esm/stores/form/useTouchedFields.js +9 -0
  713. package/dist/esm/stores/form/useTouchedFields.js.map +1 -0
  714. package/dist/esm/stores/header/useHeaderStore.js +62 -0
  715. package/dist/esm/stores/header/useHeaderStore.js.map +1 -0
  716. package/dist/esm/stores/inputMode/useInputModeStore.js +20 -0
  717. package/dist/esm/stores/inputMode/useInputModeStore.js.map +1 -0
  718. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +23 -0
  719. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -0
  720. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js +57 -0
  721. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -0
  722. package/dist/esm/stores/routes/RouteExecutionStore.js +26 -0
  723. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -0
  724. package/dist/esm/stores/routes/createRouteExecutionStore.js +85 -0
  725. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -0
  726. package/dist/esm/stores/routes/useIntermediateRoutesStore.js +19 -0
  727. package/dist/esm/stores/routes/useIntermediateRoutesStore.js.map +1 -0
  728. package/dist/esm/stores/routes/useRouteExecutionIndicator.js +23 -0
  729. package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -0
  730. package/dist/esm/stores/routes/useSetExecutableRoute.js +9 -0
  731. package/dist/esm/stores/routes/useSetExecutableRoute.js.map +1 -0
  732. package/dist/esm/stores/routes/utils.js +35 -0
  733. package/dist/esm/stores/routes/utils.js.map +1 -0
  734. package/dist/esm/stores/settings/SettingsStore.js +26 -0
  735. package/dist/esm/stores/settings/SettingsStore.js.map +1 -0
  736. package/dist/esm/stores/settings/createSettingsStore.js +126 -0
  737. package/dist/esm/stores/settings/createSettingsStore.js.map +1 -0
  738. package/dist/esm/stores/settings/types.d.ts +25 -0
  739. package/dist/esm/stores/settings/types.d.ts.map +1 -0
  740. package/dist/esm/stores/settings/types.js +6 -0
  741. package/dist/esm/stores/settings/types.js.map +1 -0
  742. package/dist/esm/stores/settings/useSettings.js +12 -0
  743. package/dist/esm/stores/settings/useSettings.js.map +1 -0
  744. package/dist/esm/stores/settings/useSettingsActions.js +70 -0
  745. package/dist/esm/stores/settings/useSettingsActions.js.map +1 -0
  746. package/dist/esm/stores/settings/useSplitModeStore.js +36 -0
  747. package/dist/esm/stores/settings/useSplitModeStore.js.map +1 -0
  748. package/dist/esm/stores/settings/utils/getStateValues.js +20 -0
  749. package/dist/esm/stores/settings/utils/getStateValues.js.map +1 -0
  750. package/dist/esm/themes/azureLight.d.ts +7 -0
  751. package/dist/esm/themes/azureLight.d.ts.map +1 -0
  752. package/dist/esm/themes/azureLight.js +41 -0
  753. package/dist/esm/themes/azureLight.js.map +1 -0
  754. package/dist/esm/themes/createTheme.d.ts +8 -0
  755. package/dist/esm/themes/createTheme.d.ts.map +1 -0
  756. package/dist/esm/themes/createTheme.js +322 -0
  757. package/dist/esm/themes/createTheme.js.map +1 -0
  758. package/dist/esm/themes/jumper.d.ts +7 -0
  759. package/dist/esm/themes/jumper.d.ts.map +1 -0
  760. package/dist/esm/themes/jumper.js +58 -0
  761. package/dist/esm/themes/jumper.js.map +1 -0
  762. package/dist/esm/themes/palettes.d.ts +54 -0
  763. package/dist/esm/themes/palettes.d.ts.map +1 -0
  764. package/dist/esm/themes/palettes.js +43 -0
  765. package/dist/esm/themes/palettes.js.map +1 -0
  766. package/dist/esm/themes/types.d.ts +67 -0
  767. package/dist/esm/themes/types.d.ts.map +1 -0
  768. package/dist/esm/themes/utils.js +13 -0
  769. package/dist/esm/themes/utils.js.map +1 -0
  770. package/dist/esm/themes/watermelonLight.d.ts +7 -0
  771. package/dist/esm/themes/watermelonLight.d.ts.map +1 -0
  772. package/dist/esm/themes/watermelonLight.js +45 -0
  773. package/dist/esm/themes/watermelonLight.js.map +1 -0
  774. package/dist/esm/themes/windows95.d.ts +7 -0
  775. package/dist/esm/themes/windows95.d.ts.map +1 -0
  776. package/dist/esm/themes/windows95.js +76 -0
  777. package/dist/esm/themes/windows95.js.map +1 -0
  778. package/dist/esm/types/events.d.ts +96 -0
  779. package/dist/esm/types/events.d.ts.map +1 -0
  780. package/dist/esm/types/events.js +26 -0
  781. package/dist/esm/types/events.js.map +1 -0
  782. package/dist/esm/types/token.d.ts +13 -0
  783. package/dist/esm/types/token.d.ts.map +1 -0
  784. package/dist/esm/types/widget.d.ts +332 -0
  785. package/dist/esm/types/widget.d.ts.map +1 -0
  786. package/dist/esm/types/widget.js +11 -0
  787. package/dist/esm/types/widget.js.map +1 -0
  788. package/dist/esm/utils/chainType.js +14 -0
  789. package/dist/esm/utils/chainType.js.map +1 -0
  790. package/dist/esm/utils/compactNumberFormatter.d.ts +14 -0
  791. package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -0
  792. package/dist/esm/utils/compactNumberFormatter.js +67 -0
  793. package/dist/esm/utils/compactNumberFormatter.js.map +1 -0
  794. package/dist/esm/utils/converters.js +168 -0
  795. package/dist/esm/utils/converters.js.map +1 -0
  796. package/dist/esm/utils/currencyExtendedFormatter.d.ts +5 -0
  797. package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -0
  798. package/dist/esm/utils/currencyExtendedFormatter.js +15 -0
  799. package/dist/esm/utils/currencyExtendedFormatter.js.map +1 -0
  800. package/dist/esm/utils/deepEqual.js +32 -0
  801. package/dist/esm/utils/deepEqual.js.map +1 -0
  802. package/dist/esm/utils/deepMerge.js +13 -0
  803. package/dist/esm/utils/deepMerge.js.map +1 -0
  804. package/dist/esm/utils/elements.js +10 -0
  805. package/dist/esm/utils/elements.js.map +1 -0
  806. package/dist/esm/utils/enum.js +6 -0
  807. package/dist/esm/utils/enum.js.map +1 -0
  808. package/dist/esm/utils/fees.js +74 -0
  809. package/dist/esm/utils/fees.js.map +1 -0
  810. package/dist/esm/utils/format.d.ts +29 -0
  811. package/dist/esm/utils/format.d.ts.map +1 -0
  812. package/dist/esm/utils/format.js +100 -0
  813. package/dist/esm/utils/format.js.map +1 -0
  814. package/dist/esm/utils/getActionMessage.js +68 -0
  815. package/dist/esm/utils/getActionMessage.js.map +1 -0
  816. package/dist/esm/utils/getErrorMessage.js +117 -0
  817. package/dist/esm/utils/getErrorMessage.js.map +1 -0
  818. package/dist/esm/utils/getPriceImpact.d.ts +18 -0
  819. package/dist/esm/utils/getPriceImpact.d.ts.map +1 -0
  820. package/dist/esm/utils/getPriceImpact.js +12 -0
  821. package/dist/esm/utils/getPriceImpact.js.map +1 -0
  822. package/dist/esm/utils/input.js +23 -0
  823. package/dist/esm/utils/input.js.map +1 -0
  824. package/dist/esm/utils/item.js +27 -0
  825. package/dist/esm/utils/item.js.map +1 -0
  826. package/dist/esm/utils/navigationRoutes.d.ts +27 -0
  827. package/dist/esm/utils/navigationRoutes.d.ts.map +1 -0
  828. package/dist/esm/utils/navigationRoutes.js +65 -0
  829. package/dist/esm/utils/navigationRoutes.js.map +1 -0
  830. package/dist/esm/utils/percentFormatter.d.ts +11 -0
  831. package/dist/esm/utils/percentFormatter.d.ts.map +1 -0
  832. package/dist/esm/utils/percentFormatter.js +23 -0
  833. package/dist/esm/utils/percentFormatter.js.map +1 -0
  834. package/dist/esm/utils/prepareActions.js +21 -0
  835. package/dist/esm/utils/prepareActions.js.map +1 -0
  836. package/dist/esm/utils/queries.js +6 -0
  837. package/dist/esm/utils/queries.js.map +1 -0
  838. package/dist/esm/utils/timer.js +23 -0
  839. package/dist/esm/utils/timer.js.map +1 -0
  840. package/dist/esm/utils/token.js +59 -0
  841. package/dist/esm/utils/token.js.map +1 -0
  842. package/dist/esm/utils/tokenList.js +147 -0
  843. package/dist/esm/utils/tokenList.js.map +1 -0
  844. package/dist/esm/utils/variant.js +10 -0
  845. package/dist/esm/utils/variant.js.map +1 -0
  846. package/dist/esm/utils/wallet.js +6 -0
  847. package/dist/esm/utils/wallet.js.map +1 -0
  848. package/dist/esm/utils/widgetSize.js +11 -0
  849. package/dist/esm/utils/widgetSize.js.map +1 -0
  850. package/package.json +95 -0
  851. package/src/App.tsx +48 -0
  852. package/src/AppDefault.tsx +266 -0
  853. package/src/AppDrawer.tsx +104 -0
  854. package/src/AppDrawerContext.ts +10 -0
  855. package/src/AppLayout.tsx +36 -0
  856. package/src/AppProvider.tsx +36 -0
  857. package/src/components/ActionRow/ActionRow.style.tsx +21 -0
  858. package/src/components/ActionRow/ActionRow.tsx +25 -0
  859. package/src/components/AmountInput/AmountInput.style.tsx +68 -0
  860. package/src/components/AmountInput/AmountInput.tsx +203 -0
  861. package/src/components/AmountInput/AmountInputEndAdornment.style.ts +22 -0
  862. package/src/components/AmountInput/AmountInputEndAdornment.tsx +96 -0
  863. package/src/components/AmountInput/AmountInputStartAdornment.tsx +26 -0
  864. package/src/components/AmountInput/PriceFormHelperText.style.tsx +34 -0
  865. package/src/components/AmountInput/PriceFormHelperText.tsx +135 -0
  866. package/src/components/AppContainer.tsx +154 -0
  867. package/src/components/Avatar/AccountAvatar.tsx +50 -0
  868. package/src/components/Avatar/Avatar.style.tsx +100 -0
  869. package/src/components/Avatar/Avatar.tsx +50 -0
  870. package/src/components/Avatar/ChainBadgeContent.tsx +22 -0
  871. package/src/components/Avatar/SmallAvatar.tsx +27 -0
  872. package/src/components/Avatar/TokenAvatar.tsx +99 -0
  873. package/src/components/Avatar/utils.ts +6 -0
  874. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +72 -0
  875. package/src/components/BaseTransactionButton/types.ts +11 -0
  876. package/src/components/BottomSheet/BottomSheet.tsx +67 -0
  877. package/src/components/BottomSheet/types.ts +14 -0
  878. package/src/components/ButtonTertiary.tsx +29 -0
  879. package/src/components/Card/Card.tsx +81 -0
  880. package/src/components/Card/CardButton.style.tsx +31 -0
  881. package/src/components/Card/CardButton.tsx +26 -0
  882. package/src/components/Card/CardHeader.tsx +28 -0
  883. package/src/components/Card/CardIconButton.tsx +20 -0
  884. package/src/components/Card/CardLabel.tsx +80 -0
  885. package/src/components/Card/CardTitle.tsx +29 -0
  886. package/src/components/Card/InputCard.tsx +11 -0
  887. package/src/components/ChainSelect/ChainSelect.style.tsx +84 -0
  888. package/src/components/ChainSelect/ChainSelect.tsx +183 -0
  889. package/src/components/ChainSelect/useChainSelect.ts +98 -0
  890. package/src/components/Chains/AllChainsAvatar.tsx +167 -0
  891. package/src/components/Chains/ChainList.style.tsx +91 -0
  892. package/src/components/Chains/ChainList.tsx +89 -0
  893. package/src/components/Chains/ChainListItem.tsx +83 -0
  894. package/src/components/Chains/ChainsExpanded.style.tsx +25 -0
  895. package/src/components/Chains/ChainsExpanded.tsx +31 -0
  896. package/src/components/Chains/PinChainButton.tsx +55 -0
  897. package/src/components/Chains/SelectChainExpansionContent.tsx +84 -0
  898. package/src/components/Chains/SelectChainPageContent.tsx +66 -0
  899. package/src/components/Chains/VirtualizedChainList.tsx +222 -0
  900. package/src/components/ContextMenu.style.tsx +13 -0
  901. package/src/components/ContextMenu.tsx +75 -0
  902. package/src/components/ContractComponent/ContractComponent.tsx +14 -0
  903. package/src/components/ContractComponent/ItemPrice.tsx +37 -0
  904. package/src/components/ContractComponent/NFT/NFT.style.ts +10 -0
  905. package/src/components/ContractComponent/NFT/NFT.tsx +46 -0
  906. package/src/components/ContractComponent/NFT/NFTBase.tsx +91 -0
  907. package/src/components/ContractComponent/NFT/types.ts +19 -0
  908. package/src/components/Dialog/Dialog.style.tsx +59 -0
  909. package/src/components/Dialog/Dialog.tsx +49 -0
  910. package/src/components/EmptyListIndicator/EmptyListIndicator.style.tsx +38 -0
  911. package/src/components/EmptyListIndicator/EmptyListIndicator.tsx +25 -0
  912. package/src/components/ExecutionStatusCard/ExecutionChecklist.tsx +61 -0
  913. package/src/components/ExecutionStatusCard/ExecutionStatusCard.tsx +242 -0
  914. package/src/components/ExecutionStatusCard/StaggeredRevealTypography.tsx +59 -0
  915. package/src/components/ExecutionStatusCard/StatusIcon.style.tsx +13 -0
  916. package/src/components/ExecutionStatusCard/StatusIcon.tsx +99 -0
  917. package/src/components/ExecutionStatusCard/iconKey.ts +37 -0
  918. package/src/components/Expansion/Expansion.style.tsx +46 -0
  919. package/src/components/Expansion/Expansion.tsx +47 -0
  920. package/src/components/Expansion/ExpansionTransition.tsx +48 -0
  921. package/src/components/FeeBreakdownTooltip.tsx +68 -0
  922. package/src/components/Header/ActivitiesButton.style.tsx +67 -0
  923. package/src/components/Header/ActivitiesButton.tsx +59 -0
  924. package/src/components/Header/BackButton.tsx +29 -0
  925. package/src/components/Header/CloseDrawerButton.tsx +35 -0
  926. package/src/components/Header/DisconnectIconButton.tsx +24 -0
  927. package/src/components/Header/Header.style.ts +126 -0
  928. package/src/components/Header/Header.tsx +59 -0
  929. package/src/components/Header/NavigationHeader.tsx +77 -0
  930. package/src/components/Header/SettingsButton.style.tsx +62 -0
  931. package/src/components/Header/SettingsButton.tsx +47 -0
  932. package/src/components/Header/SplitNavigationTabs.tsx +32 -0
  933. package/src/components/Header/WalletHeader.tsx +184 -0
  934. package/src/components/Header/WalletMenu.style.tsx +34 -0
  935. package/src/components/Header/WalletMenu.tsx +129 -0
  936. package/src/components/IconCircle/IconCircle.style.tsx +85 -0
  937. package/src/components/IconCircle/IconCircle.tsx +29 -0
  938. package/src/components/IconCircle/statusIcons.ts +14 -0
  939. package/src/components/IconTypography.ts +11 -0
  940. package/src/components/Initializer.tsx +6 -0
  941. package/src/components/Input.tsx +14 -0
  942. package/src/components/ListItem/ListItem.tsx +29 -0
  943. package/src/components/ListItem/ListItemButton.tsx +12 -0
  944. package/src/components/ListItemButton.tsx +43 -0
  945. package/src/components/ListItemText.tsx +14 -0
  946. package/src/components/Menu.tsx +30 -0
  947. package/src/components/Messages/AccountDeployedMessage.tsx +28 -0
  948. package/src/components/Messages/AccountNotDeployedMessage.tsx +22 -0
  949. package/src/components/Messages/AlertMessage.style.tsx +65 -0
  950. package/src/components/Messages/AlertMessage.tsx +34 -0
  951. package/src/components/Messages/FundsSufficiencyMessage.tsx +26 -0
  952. package/src/components/Messages/GasRefuelMessage.style.ts +23 -0
  953. package/src/components/Messages/GasRefuelMessage.tsx +81 -0
  954. package/src/components/Messages/GasSufficiencyMessage.tsx +63 -0
  955. package/src/components/Messages/MinFromAmountUSDMessage.tsx +35 -0
  956. package/src/components/Messages/MissingRouteRequiredAccountMessage.tsx +44 -0
  957. package/src/components/Messages/WarningMessages.tsx +64 -0
  958. package/src/components/Messages/types.ts +1 -0
  959. package/src/components/Messages/useMessageQueue.ts +111 -0
  960. package/src/components/NotFound.tsx +45 -0
  961. package/src/components/PageContainer.ts +34 -0
  962. package/src/components/PageEntered.ts +14 -0
  963. package/src/components/PoweredBy/PoweredBy.style.ts +13 -0
  964. package/src/components/PoweredBy/PoweredBy.tsx +61 -0
  965. package/src/components/ProgressToNextUpdate.tsx +92 -0
  966. package/src/components/ReverseTokensButton/ReverseTokensButton.style.tsx +37 -0
  967. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +61 -0
  968. package/src/components/RouteCard/RouteCard.tsx +128 -0
  969. package/src/components/RouteCard/RouteCardEssentials.tsx +101 -0
  970. package/src/components/RouteCard/RouteCardSkeleton.tsx +58 -0
  971. package/src/components/RouteCard/RouteDetails.style.tsx +43 -0
  972. package/src/components/RouteCard/RouteDetails.tsx +214 -0
  973. package/src/components/RouteCard/RouteNotFoundCard.tsx +46 -0
  974. package/src/components/RouteCard/RouteToken.style.tsx +9 -0
  975. package/src/components/RouteCard/RouteToken.tsx +68 -0
  976. package/src/components/RouteCard/RouteTokens.tsx +56 -0
  977. package/src/components/RouteCard/getMatchingLabels.ts +66 -0
  978. package/src/components/RouteCard/types.ts +16 -0
  979. package/src/components/Routes/Routes.tsx +93 -0
  980. package/src/components/Routes/RoutesContent.tsx +117 -0
  981. package/src/components/Routes/RoutesExpanded.style.ts +46 -0
  982. package/src/components/Routes/RoutesExpanded.tsx +102 -0
  983. package/src/components/Search/SearchInput.style.tsx +43 -0
  984. package/src/components/Search/SearchInput.tsx +80 -0
  985. package/src/components/Search/SearchNotFound.style.tsx +34 -0
  986. package/src/components/Search/SearchNotFound.tsx +22 -0
  987. package/src/components/SelectChainAndToken.tsx +41 -0
  988. package/src/components/SelectTokenButton/SelectTokenButton.style.tsx +108 -0
  989. package/src/components/SelectTokenButton/SelectTokenButton.tsx +100 -0
  990. package/src/components/SendToWallet/SendToWalletButton.style.tsx +81 -0
  991. package/src/components/SendToWallet/SendToWalletButton.tsx +179 -0
  992. package/src/components/SendToWallet/SendToWalletExpandButton.tsx +59 -0
  993. package/src/components/SettingsListItemButton.tsx +9 -0
  994. package/src/components/Skeleton/WidgetSkeleton.style.tsx +102 -0
  995. package/src/components/Skeleton/WidgetSkeleton.tsx +140 -0
  996. package/src/components/Step/StepActions.style.tsx +33 -0
  997. package/src/components/Step/StepActions.tsx +329 -0
  998. package/src/components/StepActions/SentToWalletRow.style.tsx +29 -0
  999. package/src/components/StepActions/SentToWalletRow.tsx +56 -0
  1000. package/src/components/StepActions/StepActionRow.style.tsx +18 -0
  1001. package/src/components/StepActions/StepActionRow.tsx +30 -0
  1002. package/src/components/StepActions/StepActionsList.tsx +40 -0
  1003. package/src/components/StepActions/executionRows.tsx +86 -0
  1004. package/src/components/Switch.tsx +54 -0
  1005. package/src/components/Tabs/NavigationTabs.tsx +45 -0
  1006. package/src/components/Tabs/Tabs.style.tsx +51 -0
  1007. package/src/components/TextFitter/TextFitter.tsx +87 -0
  1008. package/src/components/TextFitter/types.ts +13 -0
  1009. package/src/components/Timer/ExecutionTimerText.tsx +10 -0
  1010. package/src/components/Timer/StepStatusTimer.style.tsx +98 -0
  1011. package/src/components/Timer/StepStatusTimer.tsx +85 -0
  1012. package/src/components/Token/Token.style.tsx +44 -0
  1013. package/src/components/Token/Token.tsx +317 -0
  1014. package/src/components/TokenList/PinTokenButton.tsx +51 -0
  1015. package/src/components/TokenList/TokenDetailsSheet.tsx +45 -0
  1016. package/src/components/TokenList/TokenDetailsSheetContent.style.tsx +40 -0
  1017. package/src/components/TokenList/TokenDetailsSheetContent.tsx +247 -0
  1018. package/src/components/TokenList/TokenList.style.tsx +44 -0
  1019. package/src/components/TokenList/TokenList.tsx +88 -0
  1020. package/src/components/TokenList/TokenListItem.tsx +418 -0
  1021. package/src/components/TokenList/TokenNotFound.tsx +11 -0
  1022. package/src/components/TokenList/VirtualizedTokenList.tsx +253 -0
  1023. package/src/components/TokenList/types.ts +65 -0
  1024. package/src/components/TokenList/useTokenSelect.ts +135 -0
  1025. package/src/components/TokenRate/TokenRate.style.ts +20 -0
  1026. package/src/components/TokenRate/TokenRate.tsx +62 -0
  1027. package/src/components/Tools/ToolItem.tsx +41 -0
  1028. package/src/components/Tools/Tools.tsx +61 -0
  1029. package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +24 -0
  1030. package/src/components/TransactionCard/ActiveTransactionCard.tsx +81 -0
  1031. package/src/components/TransactionCard/TransactionCard.style.tsx +14 -0
  1032. package/src/components/TransactionCard/TransactionCard.tsx +37 -0
  1033. package/src/components/TransactionCard/TransactionCardSkeleton.tsx +68 -0
  1034. package/src/config/constants.ts +3 -0
  1035. package/src/config/queryClient.ts +21 -0
  1036. package/src/config/version.ts +2 -0
  1037. package/src/hooks/timer/time.ts +39 -0
  1038. package/src/hooks/timer/useExecutionTimer.ts +21 -0
  1039. package/src/hooks/timer/useInterval.ts +21 -0
  1040. package/src/hooks/timer/useTimer.ts +107 -0
  1041. package/src/hooks/timer/validate.ts +15 -0
  1042. package/src/hooks/useAccountsBalancesData.ts +104 -0
  1043. package/src/hooks/useActionMessage.ts +34 -0
  1044. package/src/hooks/useAddressActivity.ts +47 -0
  1045. package/src/hooks/useAddressValidation.ts +101 -0
  1046. package/src/hooks/useAvailableChains.ts +108 -0
  1047. package/src/hooks/useChain.ts +24 -0
  1048. package/src/hooks/useChainSearch.ts +70 -0
  1049. package/src/hooks/useChains.ts +50 -0
  1050. package/src/hooks/useContactSupport.ts +16 -0
  1051. package/src/hooks/useDebouncedWatch.ts +32 -0
  1052. package/src/hooks/useDefaultElementId.ts +6 -0
  1053. package/src/hooks/useExplorer.ts +104 -0
  1054. package/src/hooks/useFilteredByTokenBalances.ts +140 -0
  1055. package/src/hooks/useFromAmountThreshold.ts +38 -0
  1056. package/src/hooks/useFromTokenSufficiency.ts +98 -0
  1057. package/src/hooks/useGasRecommendation.ts +60 -0
  1058. package/src/hooks/useGasRefuel.ts +98 -0
  1059. package/src/hooks/useGasSufficiency.ts +233 -0
  1060. package/src/hooks/useHasChainExpansion.ts +32 -0
  1061. package/src/hooks/useHeader.ts +21 -0
  1062. package/src/hooks/useInitializeSDKProviders.ts +12 -0
  1063. package/src/hooks/useInitializer.ts +16 -0
  1064. package/src/hooks/useIsBatchingSupported.ts +46 -0
  1065. package/src/hooks/useIsContractAddress.ts +39 -0
  1066. package/src/hooks/useLanguages.ts +93 -0
  1067. package/src/hooks/useListHeight.ts +107 -0
  1068. package/src/hooks/useLongPress.ts +60 -0
  1069. package/src/hooks/useNavigateBack.ts +17 -0
  1070. package/src/hooks/usePacedRouteExecution.ts +45 -0
  1071. package/src/hooks/usePacedValue.ts +45 -0
  1072. package/src/hooks/useRouteExecution.ts +246 -0
  1073. package/src/hooks/useRouteExecutionMessage.ts +100 -0
  1074. package/src/hooks/useRouteRequiredAccountConnection.ts +62 -0
  1075. package/src/hooks/useRoutes.ts +578 -0
  1076. package/src/hooks/useScrollableContainer.ts +29 -0
  1077. package/src/hooks/useSetContentHeight.ts +30 -0
  1078. package/src/hooks/useSettingMonitor.ts +93 -0
  1079. package/src/hooks/useSwapOnly.ts +6 -0
  1080. package/src/hooks/useToAddressAutoPopulate.ts +95 -0
  1081. package/src/hooks/useToAddressRequirements.ts +103 -0
  1082. package/src/hooks/useToAddressReset.ts +39 -0
  1083. package/src/hooks/useToken.ts +45 -0
  1084. package/src/hooks/useTokenAddressBalance.ts +32 -0
  1085. package/src/hooks/useTokenBalance.ts +148 -0
  1086. package/src/hooks/useTokenBalances.ts +191 -0
  1087. package/src/hooks/useTokenBalancesQueries.ts +100 -0
  1088. package/src/hooks/useTokenRateText.ts +55 -0
  1089. package/src/hooks/useTokenSearch.ts +98 -0
  1090. package/src/hooks/useTokens.ts +159 -0
  1091. package/src/hooks/useTools.ts +56 -0
  1092. package/src/hooks/useTransactionDetails.ts +93 -0
  1093. package/src/hooks/useTransactionHistory.ts +120 -0
  1094. package/src/hooks/useTransactionList.ts +83 -0
  1095. package/src/hooks/useWideVariant.ts +13 -0
  1096. package/src/hooks/useWidgetChains.ts +16 -0
  1097. package/src/hooks/useWidgetEvents.ts +8 -0
  1098. package/src/i18n/i18next.d.ts +10 -0
  1099. package/src/index.ts +37 -0
  1100. package/src/pages/ActivitiesPage/ActiveTransactionItem.tsx +43 -0
  1101. package/src/pages/ActivitiesPage/ActivitiesPage.tsx +148 -0
  1102. package/src/pages/ActivitiesPage/ActivitiesPageMenuButton.tsx +71 -0
  1103. package/src/pages/ActivitiesPage/TransactionHistoryEmpty.tsx +14 -0
  1104. package/src/pages/ActivitiesPage/TransactionHistoryItem.tsx +30 -0
  1105. package/src/pages/ActivitiesPage/types.ts +16 -0
  1106. package/src/pages/LanguagesPage.tsx +49 -0
  1107. package/src/pages/MainPage/MainPage.tsx +70 -0
  1108. package/src/pages/MainPage/MainWarningMessages.tsx +17 -0
  1109. package/src/pages/MainPage/ReviewButton.tsx +81 -0
  1110. package/src/pages/RoutesPage/RoutesPage.style.ts +9 -0
  1111. package/src/pages/RoutesPage/RoutesPage.tsx +99 -0
  1112. package/src/pages/SelectChainPage/SelectChainPage.tsx +36 -0
  1113. package/src/pages/SelectChainPage/types.ts +5 -0
  1114. package/src/pages/SelectEnabledToolsPage.tsx +131 -0
  1115. package/src/pages/SelectTokenPage/SearchTokenInput.tsx +58 -0
  1116. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +80 -0
  1117. package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +247 -0
  1118. package/src/pages/SendToWallet/BookmarksPage.tsx +145 -0
  1119. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +107 -0
  1120. package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +134 -0
  1121. package/src/pages/SendToWallet/RecentWalletsPage.tsx +161 -0
  1122. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +110 -0
  1123. package/src/pages/SendToWallet/SendToWalletPage.style.tsx +137 -0
  1124. package/src/pages/SendToWallet/SendToWalletPage.tsx +308 -0
  1125. package/src/pages/SendToWallet/types.ts +4 -0
  1126. package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +59 -0
  1127. package/src/pages/SettingsPage/GasPriceSettings.tsx +47 -0
  1128. package/src/pages/SettingsPage/LanguageSetting.tsx +40 -0
  1129. package/src/pages/SettingsPage/ResetSettingsButton.style.tsx +12 -0
  1130. package/src/pages/SettingsPage/ResetSettingsButton.tsx +83 -0
  1131. package/src/pages/SettingsPage/RoutePrioritySettings.tsx +57 -0
  1132. package/src/pages/SettingsPage/SettingsCard/BadgedValue.tsx +22 -0
  1133. package/src/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +26 -0
  1134. package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +90 -0
  1135. package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +48 -0
  1136. package/src/pages/SettingsPage/SettingsCard/types.ts +6 -0
  1137. package/src/pages/SettingsPage/SettingsPage.tsx +39 -0
  1138. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +102 -0
  1139. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +151 -0
  1140. package/src/pages/SettingsPage/SmallBalanceFilterSettings.tsx +116 -0
  1141. package/src/pages/SettingsPage/ThemeSettings.tsx +85 -0
  1142. package/src/pages/TransactionDetailsPage/ContactSupportButton.style.tsx +12 -0
  1143. package/src/pages/TransactionDetailsPage/ContactSupportButton.tsx +21 -0
  1144. package/src/pages/TransactionDetailsPage/ReceiptsCard.tsx +22 -0
  1145. package/src/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +111 -0
  1146. package/src/pages/TransactionDetailsPage/TransactionDetailsSkeleton.tsx +91 -0
  1147. package/src/pages/TransactionDetailsPage/TransferIdCard.tsx +72 -0
  1148. package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +96 -0
  1149. package/src/pages/TransactionPage/ExchangeRateBottomSheet.style.tsx +9 -0
  1150. package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +214 -0
  1151. package/src/pages/TransactionPage/ExecutionDoneCard.tsx +43 -0
  1152. package/src/pages/TransactionPage/RouteTracker.tsx +68 -0
  1153. package/src/pages/TransactionPage/StartTransactionButton.tsx +27 -0
  1154. package/src/pages/TransactionPage/TokenValueBottomSheet.style.tsx +60 -0
  1155. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +141 -0
  1156. package/src/pages/TransactionPage/TransactionContent.tsx +42 -0
  1157. package/src/pages/TransactionPage/TransactionDoneButtons.tsx +70 -0
  1158. package/src/pages/TransactionPage/TransactionExecutionContent.tsx +93 -0
  1159. package/src/pages/TransactionPage/TransactionFailedButtons.tsx +105 -0
  1160. package/src/pages/TransactionPage/TransactionPage.tsx +111 -0
  1161. package/src/pages/TransactionPage/TransactionReview.tsx +163 -0
  1162. package/src/pages/TransactionPage/types.ts +7 -0
  1163. package/src/pages/TransactionPage/utils.ts +25 -0
  1164. package/src/providers/I18nProvider/I18nProvider.tsx +133 -0
  1165. package/src/providers/I18nProvider/constants.ts +41 -0
  1166. package/src/providers/I18nProvider/enResource.ts +4 -0
  1167. package/src/providers/I18nProvider/i18n.ts +26 -0
  1168. package/src/providers/I18nProvider/types.ts +36 -0
  1169. package/src/providers/QueryClientProvider.tsx +20 -0
  1170. package/src/providers/SDKClientProvider.tsx +59 -0
  1171. package/src/providers/ThemeProvider/ThemeProvider.tsx +35 -0
  1172. package/src/providers/WalletProvider/WalletProvider.tsx +70 -0
  1173. package/src/providers/WalletProvider/useExternalWalletProvider.ts +79 -0
  1174. package/src/providers/WidgetProvider/WidgetProvider.tsx +49 -0
  1175. package/src/providers/WidgetProvider/types.ts +9 -0
  1176. package/src/stores/StoreProvider.tsx +40 -0
  1177. package/src/stores/bookmarks/BookmarkStore.tsx +38 -0
  1178. package/src/stores/bookmarks/createBookmarkStore.ts +80 -0
  1179. package/src/stores/bookmarks/types.ts +26 -0
  1180. package/src/stores/bookmarks/useBookmarkActions.ts +16 -0
  1181. package/src/stores/bookmarks/useBookmarks.ts +14 -0
  1182. package/src/stores/chains/ChainOrderStore.tsx +165 -0
  1183. package/src/stores/chains/createChainOrderStore.ts +128 -0
  1184. package/src/stores/chains/types.ts +25 -0
  1185. package/src/stores/chains/useChainOrder.ts +20 -0
  1186. package/src/stores/form/FormStore.tsx +133 -0
  1187. package/src/stores/form/FormStoreContext.ts +5 -0
  1188. package/src/stores/form/FormUpdater.tsx +52 -0
  1189. package/src/stores/form/URLSearchParamsBuilder.tsx +93 -0
  1190. package/src/stores/form/createFormStore.ts +237 -0
  1191. package/src/stores/form/getDefaultValuesFromQueryString.ts +48 -0
  1192. package/src/stores/form/types.ts +107 -0
  1193. package/src/stores/form/useClearAmountFields.ts +10 -0
  1194. package/src/stores/form/useFieldActions.ts +93 -0
  1195. package/src/stores/form/useFieldValues.ts +14 -0
  1196. package/src/stores/form/useFormRef.ts +76 -0
  1197. package/src/stores/form/useFormStore.ts +14 -0
  1198. package/src/stores/form/useTouchedFields.ts +8 -0
  1199. package/src/stores/header/types.ts +20 -0
  1200. package/src/stores/header/useHeaderStore.tsx +103 -0
  1201. package/src/stores/inputMode/useInputModeStore.ts +31 -0
  1202. package/src/stores/pinnedTokens/PinnedTokensStore.tsx +38 -0
  1203. package/src/stores/pinnedTokens/createPinnedTokensStore.ts +74 -0
  1204. package/src/stores/pinnedTokens/types.ts +20 -0
  1205. package/src/stores/routes/RouteExecutionStore.tsx +44 -0
  1206. package/src/stores/routes/createRouteExecutionStore.ts +167 -0
  1207. package/src/stores/routes/types.ts +26 -0
  1208. package/src/stores/routes/useIntermediateRoutesStore.ts +29 -0
  1209. package/src/stores/routes/useRouteExecutionIndicator.ts +43 -0
  1210. package/src/stores/routes/useSetExecutableRoute.ts +7 -0
  1211. package/src/stores/routes/utils.ts +63 -0
  1212. package/src/stores/settings/SettingsStore.tsx +45 -0
  1213. package/src/stores/settings/createSettingsStore.ts +219 -0
  1214. package/src/stores/settings/types.ts +66 -0
  1215. package/src/stores/settings/useSettings.ts +16 -0
  1216. package/src/stores/settings/useSettingsActions.ts +165 -0
  1217. package/src/stores/settings/useSplitModeStore.tsx +58 -0
  1218. package/src/stores/settings/utils/getStateValues.ts +17 -0
  1219. package/src/stores/types.ts +7 -0
  1220. package/src/themes/azureLight.ts +61 -0
  1221. package/src/themes/createTheme.ts +489 -0
  1222. package/src/themes/jumper.ts +77 -0
  1223. package/src/themes/palettes.ts +52 -0
  1224. package/src/themes/types.ts +82 -0
  1225. package/src/themes/utils.ts +18 -0
  1226. package/src/themes/watermelonLight.ts +80 -0
  1227. package/src/themes/windows95.ts +133 -0
  1228. package/src/types/events.ts +114 -0
  1229. package/src/types/token.ts +21 -0
  1230. package/src/types/widget.ts +441 -0
  1231. package/src/utils/chainType.ts +10 -0
  1232. package/src/utils/compactNumberFormatter.ts +91 -0
  1233. package/src/utils/converters.ts +238 -0
  1234. package/src/utils/currencyExtendedFormatter.ts +15 -0
  1235. package/src/utils/deepEqual.ts +62 -0
  1236. package/src/utils/deepMerge.ts +14 -0
  1237. package/src/utils/elements.ts +32 -0
  1238. package/src/utils/enum.ts +4 -0
  1239. package/src/utils/fees.ts +136 -0
  1240. package/src/utils/format.ts +195 -0
  1241. package/src/utils/getActionMessage.ts +163 -0
  1242. package/src/utils/getErrorMessage.ts +144 -0
  1243. package/src/utils/getPriceImpact.ts +35 -0
  1244. package/src/utils/input.ts +29 -0
  1245. package/src/utils/item.ts +65 -0
  1246. package/src/utils/navigationRoutes.ts +68 -0
  1247. package/src/utils/percentFormatter.ts +28 -0
  1248. package/src/utils/prepareActions.ts +27 -0
  1249. package/src/utils/queries.ts +2 -0
  1250. package/src/utils/timer.ts +45 -0
  1251. package/src/utils/token.ts +143 -0
  1252. package/src/utils/tokenList.ts +284 -0
  1253. package/src/utils/variant.ts +13 -0
  1254. package/src/utils/wallet.ts +4 -0
  1255. package/src/utils/widgetSize.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenListItem.js","names":["ListItem","IconButton","ListItemButton"],"sources":["../../../../src/components/TokenList/TokenListItem.tsx"],"sourcesContent":["import type { StaticToken } from '@lifi/sdk'\nimport { ChainType } from '@lifi/sdk'\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined'\nimport WarningRounded from '@mui/icons-material/WarningRounded'\nimport {\n Avatar,\n Box,\n ListItemAvatar,\n ListItemText,\n listItemSecondaryActionClasses,\n Skeleton,\n Slide,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport type { JSX, MouseEventHandler } from 'react'\nimport { memo, useMemo, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useLongPress } from '../../hooks/useLongPress.js'\nimport { formatTokenAmount, formatTokenPrice } from '../../utils/format.js'\nimport { shortenAddress } from '../../utils/wallet.js'\nimport { TokenAvatar } from '../Avatar/TokenAvatar.js'\nimport { ListItemButton } from '../ListItem/ListItemButton.js'\nimport { PinTokenButton } from './PinTokenButton.js'\nimport { IconButton, ListItem } from './TokenList.style.js'\nimport type {\n TokenListItemAvatarProps,\n TokenListItemButtonProps,\n TokenListItemProps,\n} from './types.js'\n\nexport const TokenListItem: React.FC<TokenListItemProps> = memo(\n ({\n onClick,\n size,\n start,\n token,\n chain,\n isBalanceLoading,\n startAdornment,\n endAdornment,\n selected,\n onShowTokenDetails,\n }) => {\n return (\n <ListItem\n style={{\n height: `${size}px`,\n transform: `translateY(${start}px)`,\n padding: 0,\n }}\n >\n {startAdornment}\n <TokenListItemButton\n token={token}\n isBalanceLoading={isBalanceLoading}\n onClick={onClick}\n chain={chain}\n selected={selected}\n onShowTokenDetails={onShowTokenDetails}\n />\n {endAdornment}\n </ListItem>\n )\n }\n)\n\nconst TokenListItemAvatar = memo(({ token }: TokenListItemAvatarProps) => {\n const [isImageLoading, setIsImageLoading] = useState(true)\n\n return (\n <Avatar\n src={token.logoURI}\n alt={token.symbol}\n sx={(theme) =>\n isImageLoading ? { bgcolor: theme.vars.palette.grey[300] } : null\n }\n onLoad={() => setIsImageLoading(false)}\n >\n {token.symbol?.[0]}\n </Avatar>\n )\n})\n\ninterface OpenTokenDetailsButtonProps {\n tokenAddress: string | undefined\n withoutContractAddress: boolean\n chainId: number\n onClick: (\n tokenAddress: string,\n withoutContractAddress: boolean,\n chainId: number\n ) => void\n}\n\nconst OpenTokenDetailsButton = ({\n tokenAddress,\n withoutContractAddress,\n chainId,\n onClick,\n}: OpenTokenDetailsButtonProps) => {\n if (!tokenAddress) {\n return null\n }\n return (\n <IconButton\n size=\"small\"\n onClick={(e) => {\n e.stopPropagation()\n e.currentTarget.blur() // Remove focus to prevent accessibility issues when opening drawer\n onClick(tokenAddress, withoutContractAddress, chainId)\n }}\n >\n <InfoOutlinedIcon />\n </IconButton>\n )\n}\n\nconst TokenListItemButton: React.FC<TokenListItemButtonProps> = memo(\n ({\n onClick,\n token,\n chain,\n isBalanceLoading,\n selected,\n onShowTokenDetails,\n }) => {\n const { t } = useTranslation()\n const container = useRef(null)\n const timeoutId = useRef<ReturnType<typeof setTimeout>>(undefined)\n const [showAddress, setShowAddress] = useState(false)\n\n const withoutContractAddress = chain?.chainType === ChainType.UTXO\n\n const onMouseEnter = () => {\n timeoutId.current = setTimeout(() => {\n if (token.address) {\n setShowAddress(true)\n }\n }, 350)\n }\n\n const onMouseLeave = () => {\n clearTimeout(timeoutId.current)\n if (showAddress) {\n setShowAddress(false)\n }\n }\n\n const handleClick: MouseEventHandler<HTMLDivElement> = (e) => {\n e.stopPropagation()\n onClick?.(token.address, token.chainId)\n }\n\n const tokenAmount = useMemo(\n () => formatTokenAmount(token.amount, token.decimals),\n [token.amount, token.decimals]\n )\n\n const tokenPrice = useMemo(\n () => formatTokenPrice(token.amount, token.priceUSD, token.decimals),\n [token.amount, token.priceUSD, token.decimals]\n )\n\n const longPressEvents = useLongPress(() =>\n onShowTokenDetails(token.address, withoutContractAddress, token.chainId)\n )\n\n return (\n <ListItemButton\n onClick={handleClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n {...longPressEvents}\n dense\n selected={selected}\n sx={{\n height: 60,\n marginBottom: '4px',\n }}\n >\n <ListItemAvatar>\n {chain ? (\n <TokenAvatar\n token={token as StaticToken}\n chain={chain}\n tokenAvatarSize={40}\n chainAvatarSize={16}\n />\n ) : (\n <TokenListItemAvatar token={token} />\n )}\n </ListItemAvatar>\n <ListItemText\n primary={\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n {token.symbol}\n {!token.verified && (\n <Tooltip\n title={t('warning.message.unverifiedToken')}\n placement=\"top\"\n arrow\n >\n <WarningRounded\n sx={{\n display: 'flex',\n fontSize: 16,\n color: 'warning.main',\n cursor: 'help',\n }}\n />\n </Tooltip>\n )}\n </Box>\n }\n slotProps={{\n secondary: {\n component: 'div',\n },\n }}\n secondary={\n withoutContractAddress ? (\n <Box\n ref={container}\n sx={{\n height: 20,\n display: 'flex',\n }}\n >\n <Box\n sx={{\n pt: 0.25,\n }}\n >\n {token.name}\n </Box>\n <Box\n sx={{\n position: 'relative',\n }}\n >\n <Slide\n direction=\"up\"\n in={showAddress}\n container={container.current}\n style={{\n position: 'absolute',\n }}\n appear={false}\n mountOnEnter\n >\n <Box>\n <OpenTokenDetailsButton\n tokenAddress={token.address}\n withoutContractAddress={withoutContractAddress}\n chainId={token.chainId}\n onClick={onShowTokenDetails}\n />\n <PinTokenButton\n chainId={token.chainId}\n tokenAddress={token.address}\n />\n </Box>\n </Slide>\n </Box>\n </Box>\n ) : (\n <Box\n ref={container}\n sx={{\n position: 'relative',\n height: 20,\n }}\n >\n <Slide\n direction=\"down\"\n in={!showAddress}\n container={container.current}\n style={{\n position: 'absolute',\n }}\n appear={false}\n >\n <Box\n sx={{\n pt: 0.25,\n }}\n >\n {token.name}\n </Box>\n </Slide>\n <Slide\n direction=\"up\"\n in={showAddress}\n container={container.current}\n style={{\n position: 'absolute',\n }}\n appear={false}\n mountOnEnter\n >\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n pt: 0.125,\n }}\n >\n {shortenAddress(token.address)}\n </Box>\n <Box>\n <OpenTokenDetailsButton\n tokenAddress={token.address}\n withoutContractAddress={withoutContractAddress}\n chainId={token.chainId}\n onClick={onShowTokenDetails}\n />\n <PinTokenButton\n chainId={token.chainId}\n tokenAddress={token.address}\n />\n </Box>\n </Box>\n </Slide>\n </Box>\n )\n }\n />\n {isBalanceLoading ? (\n <TokenAmountSkeleton />\n ) : (\n <Box sx={{ textAlign: 'right' }}>\n {token.amount ? (\n <Typography\n noWrap\n sx={{\n fontWeight: 600,\n }}\n title={tokenAmount}\n >\n {t('format.tokenAmount', {\n value: tokenAmount,\n })}\n </Typography>\n ) : null}\n {token.amount && token.priceUSD ? (\n <Typography\n data-price={token.priceUSD}\n sx={{\n fontWeight: 500,\n fontSize: 12,\n color: 'text.secondary',\n }}\n >\n {t('format.currency', {\n value: tokenPrice,\n })}\n </Typography>\n ) : null}\n </Box>\n )}\n </ListItemButton>\n )\n }\n)\n\nexport const TokenListItemSkeleton = (): JSX.Element => {\n return (\n <ListItem\n secondaryAction={<TokenAmountSkeleton />}\n disablePadding\n sx={(theme) => ({\n position: 'relative',\n flexDirection: 'row',\n alignItems: 'center',\n padding: 0,\n [`& .${listItemSecondaryActionClasses.root}`]: {\n right: theme.spacing(1.5),\n },\n })}\n >\n <ListItemAvatar>\n <Skeleton\n variant=\"circular\"\n width={40}\n height={40}\n sx={{ marginLeft: 1.5, marginRight: 2 }}\n />\n </ListItemAvatar>\n <ListItemText\n primary={<Skeleton variant=\"text\" width={56} height={24} />}\n secondary={<Skeleton variant=\"text\" width={96} height={16} />}\n />\n </ListItem>\n )\n}\n\nconst TokenAmountSkeleton: React.FC = () => {\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n }}\n >\n <Skeleton variant=\"text\" width={56} height={24} />\n <Skeleton variant=\"text\" width={48} height={16} />\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { SearchNotFound } from "../Search/SearchNotFound.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useTranslation } from "react-i18next";
4
+ //#region src/components/TokenList/TokenNotFound.tsx
5
+ const TokenNotFound = () => {
6
+ const { t } = useTranslation();
7
+ return /* @__PURE__ */ jsx(SearchNotFound, { message: t("info.message.emptyTokenListAllNetworks") });
8
+ };
9
+ //#endregion
10
+ export { TokenNotFound };
11
+
12
+ //# sourceMappingURL=TokenNotFound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenNotFound.js","names":[],"sources":["../../../../src/components/TokenList/TokenNotFound.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { FormTypeProps } from '../../stores/form/types.js'\nimport { SearchNotFound } from '../Search/SearchNotFound.js'\n\nexport const TokenNotFound: React.FC<FormTypeProps> = () => {\n const { t } = useTranslation()\n\n return (\n <SearchNotFound message={t('info.message.emptyTokenListAllNetworks')} />\n )\n}\n"],"mappings":";;;;AAIA,MAAa,sBAA+C;CAC1D,MAAM,EAAE,MAAM,eAAe;CAE7B,OACE,oBAAC,gBAAD,EAAgB,SAAS,EAAE,wCAAwC,EAAI,CAAA;AAE3E"}
@@ -0,0 +1,123 @@
1
+ import { useAvailableChains } from "../../hooks/useAvailableChains.js";
2
+ import { TokenDetailsSheet } from "./TokenDetailsSheet.js";
3
+ import { List as List$1 } from "./TokenList.style.js";
4
+ import { TokenListItem, TokenListItemSkeleton } from "./TokenListItem.js";
5
+ import { useCallback, useEffect, useMemo, useRef } from "react";
6
+ import { Typography } from "@mui/material";
7
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { useTranslation } from "react-i18next";
9
+ import { useVirtualizer } from "@tanstack/react-virtual";
10
+ //#region src/components/TokenList/VirtualizedTokenList.tsx
11
+ const tokenItemHeight = 64;
12
+ const VirtualizedTokenList = ({ tokens, scrollElementRef, chainId, selectedTokenAddress, isLoading, isBalanceLoading, showCategories, showPinnedTokens, onClick, isAllNetworks }) => {
13
+ const { t } = useTranslation();
14
+ const { chains } = useAvailableChains();
15
+ const chainsSet = useMemo(() => {
16
+ if (!chains) return;
17
+ return new Map(chains.map((chain) => [chain.id, chain]));
18
+ }, [chains]);
19
+ const tokenDetailsSheetRef = useRef(null);
20
+ const onShowTokenDetails = useCallback((tokenAddress, noContractAddress, chainId) => {
21
+ tokenDetailsSheetRef.current?.open(tokenAddress, noContractAddress, chainId);
22
+ }, []);
23
+ const getItemKey = useCallback((index) => {
24
+ const token = tokens[index];
25
+ return `${token.chainId}-${token.address}-${index}`;
26
+ }, [tokens]);
27
+ const estimateSize = useCallback((index) => {
28
+ const currentToken = tokens[index];
29
+ const previousToken = tokens[index - 1];
30
+ let size = tokenItemHeight;
31
+ if (currentToken.pinned && index === 0) size += 24;
32
+ if (previousToken?.pinned && !currentToken.pinned) size += 32;
33
+ if (!showCategories) return size;
34
+ if (currentToken.featured && !currentToken.pinned && index === 0) size += 24;
35
+ if (!currentToken.pinned && !previousToken?.pinned && (previousToken?.amount && !currentToken.amount || previousToken?.featured && !currentToken.featured || previousToken?.popular && !currentToken.popular)) size += 32;
36
+ return size;
37
+ }, [tokens, showCategories]);
38
+ const { getVirtualItems, getTotalSize, scrollToIndex, measure } = useVirtualizer(useMemo(() => ({
39
+ count: tokens.length,
40
+ overscan: 5,
41
+ getScrollElement: () => scrollElementRef.current,
42
+ estimateSize,
43
+ getItemKey,
44
+ paddingEnd: 8
45
+ }), [
46
+ tokens.length,
47
+ estimateSize,
48
+ getItemKey,
49
+ scrollElementRef
50
+ ]));
51
+ useEffect(() => {
52
+ if (scrollElementRef.current) measure();
53
+ }, [measure, scrollElementRef.current]);
54
+ useEffect(() => {
55
+ if (getVirtualItems().length) scrollToIndex(0, { align: "start" });
56
+ tokenDetailsSheetRef.current?.close();
57
+ }, [
58
+ scrollToIndex,
59
+ isAllNetworks,
60
+ chainId,
61
+ getVirtualItems
62
+ ]);
63
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
64
+ /* @__PURE__ */ jsx(List$1, {
65
+ className: "long-list",
66
+ style: { height: getTotalSize() },
67
+ disablePadding: true,
68
+ children: getVirtualItems().map((item) => {
69
+ const currentToken = tokens[item.index];
70
+ const previousToken = tokens[item.index - 1];
71
+ const chain = chainsSet?.get(currentToken.chainId);
72
+ const isNotPinned = !currentToken.pinned;
73
+ const isFirstPinnedToken = currentToken.pinned && item.index === 0;
74
+ const isTransitionFromPinned = previousToken?.pinned && isNotPinned;
75
+ const isTransitionFromFeatured = previousToken?.featured && !currentToken.featured && isNotPinned;
76
+ const isTransitionFromMyTokens = previousToken?.amount && !currentToken.amount && isNotPinned;
77
+ const isTransitionFromPopular = previousToken?.popular && !currentToken.popular && isNotPinned;
78
+ const startAdornmentLabel = (() => {
79
+ if (showPinnedTokens && isFirstPinnedToken) return t("main.pinnedTokens");
80
+ if (showPinnedTokens && !showCategories && isTransitionFromPinned) return t("main.allTokens");
81
+ if (!showCategories) return null;
82
+ if (isTransitionFromPinned && currentToken.featured || currentToken.featured && isNotPinned && item.index === 0) return t("main.featuredTokens");
83
+ if ((isTransitionFromFeatured || isTransitionFromPinned) && currentToken.amount && isNotPinned) return t("main.myTokens");
84
+ if ((isTransitionFromFeatured || isTransitionFromMyTokens || isTransitionFromPinned) && currentToken.popular && isNotPinned) return t("main.popularTokens");
85
+ if (isTransitionFromMyTokens || isTransitionFromFeatured || isTransitionFromPinned || isTransitionFromPopular) return t("main.allTokens");
86
+ return null;
87
+ })();
88
+ const isSelected = selectedTokenAddress === currentToken.address && chainId === currentToken.chainId;
89
+ return /* @__PURE__ */ jsx(TokenListItem, {
90
+ onClick,
91
+ size: item.size,
92
+ start: item.start,
93
+ token: currentToken,
94
+ chain: isAllNetworks ? chain : void 0,
95
+ selected: isSelected,
96
+ onShowTokenDetails,
97
+ isBalanceLoading,
98
+ startAdornment: startAdornmentLabel ? /* @__PURE__ */ jsx(Typography, {
99
+ sx: {
100
+ fontSize: 14,
101
+ fontWeight: 600,
102
+ lineHeight: "16px",
103
+ px: 1.5,
104
+ pt: isFirstPinnedToken || currentToken.featured && isNotPinned && item.index === 0 ? 0 : 1,
105
+ pb: 1
106
+ },
107
+ children: startAdornmentLabel
108
+ }) : null
109
+ }, item.key);
110
+ })
111
+ }),
112
+ /* @__PURE__ */ jsx(TokenDetailsSheet, { ref: tokenDetailsSheetRef }),
113
+ isLoading && /* @__PURE__ */ jsx(List$1, {
114
+ disablePadding: true,
115
+ sx: { cursor: "default" },
116
+ children: Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsx(TokenListItemSkeleton, {}, index))
117
+ })
118
+ ] });
119
+ };
120
+ //#endregion
121
+ export { VirtualizedTokenList };
122
+
123
+ //# sourceMappingURL=VirtualizedTokenList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualizedTokenList.js","names":["List"],"sources":["../../../../src/components/TokenList/VirtualizedTokenList.tsx"],"sourcesContent":["import { Typography } from '@mui/material'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useAvailableChains } from '../../hooks/useAvailableChains.js'\nimport type { TokenAmount } from '../../types/token.js'\nimport { TokenDetailsSheet } from './TokenDetailsSheet.js'\nimport { List } from './TokenList.style.js'\nimport { TokenListItem, TokenListItemSkeleton } from './TokenListItem.js'\nimport type {\n TokenDetailsSheetBase,\n VirtualizedTokenListProps,\n} from './types.js'\n\nconst tokenItemHeight = 64 // 60 + 4px margin-bottom\n\nexport const VirtualizedTokenList: FC<VirtualizedTokenListProps> = ({\n tokens,\n scrollElementRef,\n chainId,\n selectedTokenAddress,\n isLoading,\n isBalanceLoading,\n showCategories,\n showPinnedTokens,\n onClick,\n isAllNetworks,\n}) => {\n const { t } = useTranslation()\n\n const { chains } = useAvailableChains()\n\n // Create Set for O(1) chain lookup instead of O(n) find\n const chainsSet = useMemo(() => {\n if (!chains) {\n return undefined\n }\n return new Map(chains.map((chain) => [chain.id, chain]))\n }, [chains])\n\n const tokenDetailsSheetRef = useRef<TokenDetailsSheetBase>(null)\n\n const onShowTokenDetails = useCallback(\n (tokenAddress: string, noContractAddress: boolean, chainId: number) => {\n tokenDetailsSheetRef.current?.open(\n tokenAddress,\n noContractAddress,\n chainId\n )\n },\n []\n )\n\n const getItemKey = useCallback(\n (index: number) => {\n const token = tokens[index]\n return `${token.chainId}-${token.address}-${index}`\n },\n [tokens]\n )\n\n const estimateSize = useCallback(\n (index: number) => {\n const currentToken = tokens[index]\n const previousToken = tokens[index - 1]\n let size = tokenItemHeight\n\n // Pinned tokens (always shown, even in all networks mode)\n if (currentToken.pinned && index === 0) {\n size += 24\n }\n if (previousToken?.pinned && !currentToken.pinned) {\n size += 32\n }\n\n if (!showCategories) {\n return size\n }\n\n if (currentToken.featured && !currentToken.pinned && index === 0) {\n size += 24\n }\n\n // Category transition (excluding pinned tokens)\n const isNotPinned = !currentToken.pinned && !previousToken?.pinned\n if (\n isNotPinned &&\n ((previousToken?.amount && !currentToken.amount) ||\n (previousToken?.featured && !currentToken.featured) ||\n (previousToken?.popular && !currentToken.popular))\n ) {\n size += 32\n }\n\n return size\n },\n [tokens, showCategories]\n )\n\n const virtualizerConfig = useMemo(\n () => ({\n count: tokens.length,\n overscan: 5,\n getScrollElement: () => scrollElementRef.current,\n estimateSize,\n getItemKey,\n paddingEnd: 8,\n }),\n [tokens.length, estimateSize, getItemKey, scrollElementRef]\n )\n\n const { getVirtualItems, getTotalSize, scrollToIndex, measure } =\n useVirtualizer(virtualizerConfig)\n\n // Address the issue of disappearing tokens on rerender\n useEffect(() => {\n if (scrollElementRef.current) {\n measure()\n }\n }, [measure, scrollElementRef.current])\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: run only when chainId changes\n useEffect(() => {\n // Scroll to the top of the list when switching the chains\n if (getVirtualItems().length) {\n scrollToIndex(0, { align: 'start' })\n }\n // Close the token details sheet when switching the chains\n tokenDetailsSheetRef.current?.close()\n }, [scrollToIndex, isAllNetworks, chainId, getVirtualItems])\n\n return (\n <>\n <List\n className=\"long-list\"\n style={{ height: getTotalSize() }}\n disablePadding\n >\n {getVirtualItems().map((item) => {\n const currentToken = tokens[item.index]\n const previousToken: TokenAmount | undefined = tokens[item.index - 1]\n const chain = chainsSet?.get(currentToken.chainId)\n\n const isNotPinned = !currentToken.pinned\n const isFirstPinnedToken = currentToken.pinned && item.index === 0\n const isTransitionFromPinned = previousToken?.pinned && isNotPinned\n\n // Category transitions (excluding pinned)\n const isTransitionFromFeatured =\n previousToken?.featured && !currentToken.featured && isNotPinned\n const isTransitionFromMyTokens =\n previousToken?.amount && !currentToken.amount && isNotPinned\n const isTransitionFromPopular =\n previousToken?.popular && !currentToken.popular && isNotPinned\n\n // Determine which category label to show\n const startAdornmentLabel = (() => {\n if (showPinnedTokens && isFirstPinnedToken) {\n return t('main.pinnedTokens')\n }\n if (showPinnedTokens && !showCategories && isTransitionFromPinned) {\n return t('main.allTokens')\n }\n if (!showCategories) {\n return null\n }\n\n if (\n (isTransitionFromPinned && currentToken.featured) ||\n (currentToken.featured && isNotPinned && item.index === 0)\n ) {\n return t('main.featuredTokens')\n }\n if (\n (isTransitionFromFeatured || isTransitionFromPinned) &&\n currentToken.amount &&\n isNotPinned\n ) {\n return t('main.myTokens')\n }\n if (\n (isTransitionFromFeatured ||\n isTransitionFromMyTokens ||\n isTransitionFromPinned) &&\n currentToken.popular &&\n isNotPinned\n ) {\n return t('main.popularTokens')\n }\n if (\n isTransitionFromMyTokens ||\n isTransitionFromFeatured ||\n isTransitionFromPinned ||\n isTransitionFromPopular\n ) {\n return t('main.allTokens')\n }\n return null\n })()\n\n const isSelected =\n selectedTokenAddress === currentToken.address &&\n chainId === currentToken.chainId\n\n return (\n <TokenListItem\n key={item.key}\n onClick={onClick}\n size={item.size}\n start={item.start}\n token={currentToken}\n chain={isAllNetworks ? chain : undefined}\n selected={isSelected}\n onShowTokenDetails={onShowTokenDetails}\n isBalanceLoading={isBalanceLoading}\n startAdornment={\n startAdornmentLabel ? (\n <Typography\n sx={{\n fontSize: 14,\n fontWeight: 600,\n lineHeight: '16px',\n px: 1.5,\n pt:\n isFirstPinnedToken ||\n (currentToken.featured &&\n isNotPinned &&\n item.index === 0)\n ? 0\n : 1,\n pb: 1,\n }}\n >\n {startAdornmentLabel}\n </Typography>\n ) : null\n }\n />\n )\n })}\n </List>\n <TokenDetailsSheet ref={tokenDetailsSheetRef} />\n {isLoading && (\n <List disablePadding sx={{ cursor: 'default' }}>\n {Array.from({ length: 3 }).map((_, index) => (\n <TokenListItemSkeleton key={index} />\n ))}\n </List>\n )}\n </>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { useWidgetEvents } from "../../hooks/useWidgetEvents.js";
2
+ import "../../types/events.js";
3
+ import { useWidgetConfig } from "../../providers/WidgetProvider/WidgetProvider.js";
4
+ import { useSplitModeStore } from "../../stores/settings/useSplitModeStore.js";
5
+ import { isItemAllowed } from "../../utils/item.js";
6
+ import { useFieldActions } from "../../stores/form/useFieldActions.js";
7
+ import { useChainOrderStore } from "../../stores/chains/ChainOrderStore.js";
8
+ import { FormKeyHelper } from "../../stores/form/types.js";
9
+ import { useToAddressAutoPopulate } from "../../hooks/useToAddressAutoPopulate.js";
10
+ import { useCallback } from "react";
11
+ //#region src/components/TokenList/useTokenSelect.ts
12
+ const useTokenSelect = (formType, onClick) => {
13
+ const { mode, disabledUI, chains: chainsConfig } = useWidgetConfig();
14
+ const splitMode = useSplitModeStore((store) => store.state);
15
+ const emitter = useWidgetEvents();
16
+ const { setFieldValue, getFieldValues } = useFieldActions();
17
+ const autoPopulateToAddress = useToAddressAutoPopulate();
18
+ const [setChain, setIsAllNetworks] = useChainOrderStore((state) => [state.setChain, state.setIsAllNetworks]);
19
+ const tokenKey = FormKeyHelper.getTokenKey(formType);
20
+ return useCallback((tokenAddress, chainId) => {
21
+ setFieldValue(tokenKey, tokenAddress, {
22
+ isDirty: true,
23
+ isTouched: true
24
+ });
25
+ const selectedChainId = chainId ?? getFieldValues(FormKeyHelper.getChainKey(formType))[0];
26
+ setFieldValue(FormKeyHelper.getChainKey(formType), selectedChainId, {
27
+ isDirty: true,
28
+ isTouched: true
29
+ });
30
+ const amountKey = FormKeyHelper.getAmountKey(formType);
31
+ if (!disabledUI?.[amountKey]) setFieldValue(amountKey, "");
32
+ const oppositeFormType = formType === "from" ? "to" : "from";
33
+ const [selectedOppositeTokenAddress, selectedOppositeChainId, selectedToAddress] = getFieldValues(FormKeyHelper.getTokenKey(oppositeFormType), FormKeyHelper.getChainKey(oppositeFormType), "toAddress");
34
+ if ((selectedOppositeTokenAddress === tokenAddress && selectedOppositeChainId === selectedChainId || mode === "split" && splitMode === "bridge" && selectedOppositeChainId === selectedChainId) && mode !== "custom") setFieldValue(FormKeyHelper.getTokenKey(oppositeFormType), "", {
35
+ isDirty: true,
36
+ isTouched: true
37
+ });
38
+ if (!selectedOppositeTokenAddress && selectedChainId && isItemAllowed(selectedChainId, chainsConfig?.[oppositeFormType])) {
39
+ if (!mode || mode === "default") setIsAllNetworks(false, oppositeFormType);
40
+ setFieldValue(FormKeyHelper.getChainKey(oppositeFormType), selectedChainId, {
41
+ isDirty: true,
42
+ isTouched: true
43
+ });
44
+ setChain(selectedChainId, oppositeFormType);
45
+ }
46
+ autoPopulateToAddress({
47
+ formType,
48
+ selectedToAddress,
49
+ selectedChainId,
50
+ selectedOppositeChainId,
51
+ selectedOppositeTokenAddress
52
+ });
53
+ const eventToEmit = formType === "from" ? "sourceChainTokenSelected" : "destinationChainTokenSelected";
54
+ if (selectedChainId) emitter.emit(eventToEmit, {
55
+ chainId: selectedChainId,
56
+ tokenAddress
57
+ });
58
+ onClick?.();
59
+ }, [
60
+ autoPopulateToAddress,
61
+ disabledUI,
62
+ emitter,
63
+ formType,
64
+ getFieldValues,
65
+ onClick,
66
+ setChain,
67
+ setIsAllNetworks,
68
+ setFieldValue,
69
+ mode,
70
+ splitMode,
71
+ tokenKey,
72
+ chainsConfig
73
+ ]);
74
+ };
75
+ //#endregion
76
+ export { useTokenSelect };
77
+
78
+ //# sourceMappingURL=useTokenSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenSelect.js","names":[],"sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useToAddressAutoPopulate } from '../../hooks/useToAddressAutoPopulate.js'\nimport { useWidgetEvents } from '../../hooks/useWidgetEvents.js'\nimport { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'\nimport { useChainOrderStore } from '../../stores/chains/ChainOrderStore.js'\nimport type { FormType } from '../../stores/form/types.js'\nimport { FormKeyHelper } from '../../stores/form/types.js'\nimport { useFieldActions } from '../../stores/form/useFieldActions.js'\nimport { useSplitModeStore } from '../../stores/settings/useSplitModeStore.js'\nimport { WidgetEvent } from '../../types/events.js'\nimport type { DisabledUIConfig } from '../../types/widget.js'\nimport { isItemAllowed } from '../../utils/item.js'\n\nexport const useTokenSelect = (\n formType: FormType,\n onClick?: () => void\n): ((tokenAddress: string, chainId?: number) => void) => {\n const { mode, disabledUI, chains: chainsConfig } = useWidgetConfig()\n const splitMode = useSplitModeStore((store) => store.state)\n const emitter = useWidgetEvents()\n const { setFieldValue, getFieldValues } = useFieldActions()\n const autoPopulateToAddress = useToAddressAutoPopulate()\n const [setChain, setIsAllNetworks] = useChainOrderStore((state) => [\n state.setChain,\n state.setIsAllNetworks,\n ])\n\n const tokenKey = FormKeyHelper.getTokenKey(formType)\n\n return useCallback(\n (tokenAddress: string, chainId?: number) => {\n setFieldValue(tokenKey, tokenAddress, { isDirty: true, isTouched: true })\n const selectedChainId =\n chainId ?? getFieldValues(FormKeyHelper.getChainKey(formType))[0]\n // Set chain again to trigger URL builder update\n setFieldValue(FormKeyHelper.getChainKey(formType), selectedChainId, {\n isDirty: true,\n isTouched: true,\n })\n const amountKey = FormKeyHelper.getAmountKey(formType)\n if (!disabledUI?.[amountKey as keyof DisabledUIConfig]) {\n setFieldValue(amountKey, '')\n }\n const oppositeFormType = formType === 'from' ? 'to' : 'from'\n const [\n selectedOppositeTokenAddress,\n selectedOppositeChainId,\n selectedToAddress,\n ] = getFieldValues(\n FormKeyHelper.getTokenKey(oppositeFormType),\n FormKeyHelper.getChainKey(oppositeFormType),\n 'toAddress'\n )\n\n // TODO: remove when we enable same chain/token transfers\n const isSameTokenTransfer =\n selectedOppositeTokenAddress === tokenAddress &&\n selectedOppositeChainId === selectedChainId\n\n const isBridgeToSameChain =\n mode === 'split' &&\n splitMode === 'bridge' &&\n selectedOppositeChainId === selectedChainId\n\n if ((isSameTokenTransfer || isBridgeToSameChain) && mode !== 'custom') {\n setFieldValue(FormKeyHelper.getTokenKey(oppositeFormType), '', {\n isDirty: true,\n isTouched: true,\n })\n }\n\n // If no opposite token is selected, synchronize the opposite chain\n // to match the currently selected chain (if allowed).\n // In default exchange mode, also collapse \"All Networks\" on the opposite\n // side - same-chain swap is the most common action.\n if (\n !selectedOppositeTokenAddress &&\n selectedChainId &&\n isItemAllowed(selectedChainId, chainsConfig?.[oppositeFormType])\n ) {\n const isDefaultExchange = !mode || mode === 'default'\n if (isDefaultExchange) {\n setIsAllNetworks(false, oppositeFormType)\n }\n setFieldValue(\n FormKeyHelper.getChainKey(oppositeFormType),\n selectedChainId,\n {\n isDirty: true,\n isTouched: true,\n }\n )\n setChain(selectedChainId, oppositeFormType)\n }\n\n // Automatically populate toAddress field if bridging across ecosystems and compatible wallet is connected\n autoPopulateToAddress({\n formType,\n selectedToAddress,\n selectedChainId,\n selectedOppositeChainId,\n selectedOppositeTokenAddress,\n })\n\n const eventToEmit =\n formType === 'from'\n ? WidgetEvent.SourceChainTokenSelected\n : WidgetEvent.DestinationChainTokenSelected\n\n if (selectedChainId) {\n emitter.emit(eventToEmit, {\n chainId: selectedChainId,\n tokenAddress,\n })\n }\n\n onClick?.()\n },\n [\n autoPopulateToAddress,\n disabledUI,\n emitter,\n formType,\n getFieldValues,\n onClick,\n setChain,\n setIsAllNetworks,\n setFieldValue,\n mode,\n splitMode,\n tokenKey,\n chainsConfig,\n ]\n )\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAa,kBACX,UACA,YACuD;CACvD,MAAM,EAAE,MAAM,YAAY,QAAQ,iBAAiB,gBAAgB;CACnE,MAAM,YAAY,mBAAmB,UAAU,MAAM,KAAK;CAC1D,MAAM,UAAU,gBAAgB;CAChC,MAAM,EAAE,eAAe,mBAAmB,gBAAgB;CAC1D,MAAM,wBAAwB,yBAAyB;CACvD,MAAM,CAAC,UAAU,oBAAoB,oBAAoB,UAAU,CACjE,MAAM,UACN,MAAM,gBACR,CAAC;CAED,MAAM,WAAW,cAAc,YAAY,QAAQ;CAEnD,OAAO,aACJ,cAAsB,YAAqB;EAC1C,cAAc,UAAU,cAAc;GAAE,SAAS;GAAM,WAAW;EAAK,CAAC;EACxE,MAAM,kBACJ,WAAW,eAAe,cAAc,YAAY,QAAQ,CAAC,EAAE;EAEjE,cAAc,cAAc,YAAY,QAAQ,GAAG,iBAAiB;GAClE,SAAS;GACT,WAAW;EACb,CAAC;EACD,MAAM,YAAY,cAAc,aAAa,QAAQ;EACrD,IAAI,CAAC,aAAa,YAChB,cAAc,WAAW,EAAE;EAE7B,MAAM,mBAAmB,aAAa,SAAS,OAAO;EACtD,MAAM,CACJ,8BACA,yBACA,qBACE,eACF,cAAc,YAAY,gBAAgB,GAC1C,cAAc,YAAY,gBAAgB,GAC1C,WACF;EAYA,KARE,iCAAiC,gBACjC,4BAA4B,mBAG5B,SAAS,WACT,cAAc,YACd,4BAA4B,oBAEsB,SAAS,UAC3D,cAAc,cAAc,YAAY,gBAAgB,GAAG,IAAI;GAC7D,SAAS;GACT,WAAW;EACb,CAAC;EAOH,IACE,CAAC,gCACD,mBACA,cAAc,iBAAiB,eAAe,iBAAiB,GAC/D;GAEA,IAD0B,CAAC,QAAQ,SAAS,WAE1C,iBAAiB,OAAO,gBAAgB;GAE1C,cACE,cAAc,YAAY,gBAAgB,GAC1C,iBACA;IACE,SAAS;IACT,WAAW;GACb,CACF;GACA,SAAS,iBAAiB,gBAAgB;EAC5C;EAGA,sBAAsB;GACpB;GACA;GACA;GACA;GACA;EACF,CAAC;EAED,MAAM,cACJ,aAAa,SAAA,6BAAA;EAIf,IAAI,iBACF,QAAQ,KAAK,aAAa;GACxB,SAAS;GACT;EACF,CAAC;EAGH,UAAU;CACZ,GACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;AACF"}
@@ -0,0 +1,38 @@
1
+ import { TokenRateTypography } from "./TokenRate.style.js";
2
+ import { formatUnits } from "@lifi/sdk";
3
+ import { create } from "zustand";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { useTranslation } from "react-i18next";
6
+ //#region src/components/TokenRate/TokenRate.tsx
7
+ const useTokenRate = create((set) => ({
8
+ isForward: true,
9
+ toggleIsForward: () => set((state) => ({ isForward: !state.isForward }))
10
+ }));
11
+ const TokenRate = ({ route }) => {
12
+ const { t } = useTranslation();
13
+ const { isForward, toggleIsForward } = useTokenRate();
14
+ const toggleRate = (e) => {
15
+ e.stopPropagation();
16
+ toggleIsForward();
17
+ };
18
+ const lastStep = route.steps.at(-1);
19
+ const fromToken = {
20
+ ...route.fromToken,
21
+ amount: BigInt(route.fromAmount)
22
+ };
23
+ const toToken = {
24
+ ...lastStep?.execution?.toToken ?? lastStep?.action.toToken ?? route.toToken,
25
+ amount: lastStep?.execution?.toAmount ? BigInt(lastStep.execution.toAmount) : BigInt(route.toAmount)
26
+ };
27
+ const fromToRate = Number.parseFloat(formatUnits(toToken.amount, toToken.decimals)) / Number.parseFloat(formatUnits(fromToken.amount, fromToken.decimals));
28
+ const toFromRate = Number.parseFloat(formatUnits(fromToken.amount, fromToken.decimals)) / Number.parseFloat(formatUnits(toToken.amount, toToken.decimals));
29
+ return /* @__PURE__ */ jsx(TokenRateTypography, {
30
+ onClick: toggleRate,
31
+ role: "button",
32
+ children: isForward ? `1 ${fromToken.symbol} ≈ ${t("format.tokenAmount", { value: fromToRate })} ${toToken.symbol}` : `1 ${toToken.symbol} ≈ ${t("format.tokenAmount", { value: toFromRate })} ${fromToken.symbol}`
33
+ });
34
+ };
35
+ //#endregion
36
+ export { TokenRate };
37
+
38
+ //# sourceMappingURL=TokenRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenRate.js","names":[],"sources":["../../../../src/components/TokenRate/TokenRate.tsx"],"sourcesContent":["import { formatUnits, type RouteExtended } from '@lifi/sdk'\nimport type { TypographyProps } from '@mui/material'\nimport type { MouseEventHandler } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { create } from 'zustand'\nimport { TokenRateTypography } from './TokenRate.style.js'\n\ninterface TokenRateProps extends TypographyProps {\n route: RouteExtended\n}\n\ninterface TokenRateState {\n isForward: boolean\n toggleIsForward(): void\n}\n\nconst useTokenRate = create<TokenRateState>((set) => ({\n isForward: true,\n toggleIsForward: () => set((state) => ({ isForward: !state.isForward })),\n}))\n\nexport const TokenRate: React.FC<TokenRateProps> = ({ route }) => {\n const { t } = useTranslation()\n const { isForward, toggleIsForward } = useTokenRate()\n\n const toggleRate: MouseEventHandler<HTMLSpanElement> = (e) => {\n e.stopPropagation()\n toggleIsForward()\n }\n\n const lastStep = route.steps.at(-1)\n\n const fromToken = {\n ...route.fromToken,\n amount: BigInt(route.fromAmount),\n }\n const toToken = {\n ...(lastStep?.execution?.toToken ??\n lastStep?.action.toToken ??\n route.toToken),\n amount: lastStep?.execution?.toAmount\n ? BigInt(lastStep.execution.toAmount)\n : BigInt(route.toAmount),\n }\n\n const fromToRate =\n Number.parseFloat(formatUnits(toToken.amount!, toToken.decimals)) /\n Number.parseFloat(formatUnits(fromToken.amount!, fromToken.decimals))\n const toFromRate =\n Number.parseFloat(formatUnits(fromToken.amount!, fromToken.decimals)) /\n Number.parseFloat(formatUnits(toToken.amount!, toToken.decimals))\n\n const rateText = isForward\n ? `1 ${fromToken.symbol} ≈ ${t('format.tokenAmount', { value: fromToRate })} ${toToken.symbol}`\n : `1 ${toToken.symbol} ≈ ${t('format.tokenAmount', { value: toFromRate })} ${fromToken.symbol}`\n\n return (\n <TokenRateTypography onClick={toggleRate} role=\"button\">\n {rateText}\n </TokenRateTypography>\n )\n}\n"],"mappings":";;;;;;AAgBA,MAAM,eAAe,QAAwB,SAAS;CACpD,WAAW;CACX,uBAAuB,KAAK,WAAW,EAAE,WAAW,CAAC,MAAM,UAAU,EAAE;AACzE,EAAE;AAEF,MAAa,aAAuC,EAAE,YAAY;CAChE,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,WAAW,oBAAoB,aAAa;CAEpD,MAAM,cAAkD,MAAM;EAC5D,EAAE,gBAAgB;EAClB,gBAAgB;CAClB;CAEA,MAAM,WAAW,MAAM,MAAM,GAAG,EAAE;CAElC,MAAM,YAAY;EAChB,GAAG,MAAM;EACT,QAAQ,OAAO,MAAM,UAAU;CACjC;CACA,MAAM,UAAU;EACd,GAAI,UAAU,WAAW,WACvB,UAAU,OAAO,WACjB,MAAM;EACR,QAAQ,UAAU,WAAW,WACzB,OAAO,SAAS,UAAU,QAAQ,IAClC,OAAO,MAAM,QAAQ;CAC3B;CAEA,MAAM,aACJ,OAAO,WAAW,YAAY,QAAQ,QAAS,QAAQ,QAAQ,CAAC,IAChE,OAAO,WAAW,YAAY,UAAU,QAAS,UAAU,QAAQ,CAAC;CACtE,MAAM,aACJ,OAAO,WAAW,YAAY,UAAU,QAAS,UAAU,QAAQ,CAAC,IACpE,OAAO,WAAW,YAAY,QAAQ,QAAS,QAAQ,QAAQ,CAAC;CAMlE,OACE,oBAAC,qBAAD;EAAqB,SAAS;EAAY,MAAK;YALhC,YACb,KAAK,UAAU,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,WAAW,CAAC,EAAE,GAAG,QAAQ,WACrF,KAAK,QAAQ,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,WAAW,CAAC,EAAE,GAAG,UAAU;CAKlE,CAAA;AAEzB"}
@@ -0,0 +1,19 @@
1
+ import { Typography, styled } from "@mui/material";
2
+ //#region src/components/TokenRate/TokenRate.style.ts
3
+ const TokenRateTypography = styled(Typography)(({ theme }) => ({
4
+ fontSize: 14,
5
+ lineHeight: 1.429,
6
+ fontWeight: 500,
7
+ color: theme.vars.palette.text.primary,
8
+ cursor: "pointer",
9
+ "&:hover": { opacity: 1 },
10
+ opacity: .56,
11
+ transition: theme.transitions.create(["opacity"], {
12
+ duration: theme.transitions.duration.enteringScreen,
13
+ easing: theme.transitions.easing.easeOut
14
+ })
15
+ }));
16
+ //#endregion
17
+ export { TokenRateTypography };
18
+
19
+ //# sourceMappingURL=TokenRate.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenRate.style.js","names":[],"sources":["../../../../src/components/TokenRate/TokenRate.style.ts"],"sourcesContent":["import { styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const TokenRateTypography: React.FC<\n React.ComponentProps<typeof Typography>\n> = styled(Typography)(({ theme }) => ({\n fontSize: 14,\n lineHeight: 1.429,\n fontWeight: 500,\n color: theme.vars.palette.text.primary,\n cursor: 'pointer',\n '&:hover': {\n opacity: 1,\n },\n opacity: 0.56,\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.enteringScreen,\n easing: theme.transitions.easing.easeOut,\n }),\n}))\n"],"mappings":";;AAGA,MAAa,sBAET,OAAO,UAAU,GAAG,EAAE,aAAa;CACrC,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,QAAQ;CACR,WAAW,EACT,SAAS,EACX;CACA,SAAS;CACT,YAAY,MAAM,YAAY,OAAO,CAAC,SAAS,GAAG;EAChD,UAAU,MAAM,YAAY,SAAS;EACrC,QAAQ,MAAM,YAAY,OAAO;CACnC,CAAC;AACH,EAAE"}
@@ -0,0 +1,37 @@
1
+ import { ListItemText as ListItemText$1 } from "../ListItemText.js";
2
+ import { SettingsListItemButton } from "../SettingsListItemButton.js";
3
+ import { memo } from "react";
4
+ import { Avatar, Checkbox, ListItemAvatar } from "@mui/material";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/components/Tools/ToolItem.tsx
7
+ const ToolItem = memo(({ tool, typeKey, isEnabled, onToggle }) => {
8
+ const handleClick = () => {
9
+ onToggle(tool.key);
10
+ };
11
+ const handleCheckboxClick = (e) => {
12
+ e.stopPropagation();
13
+ onToggle(tool.key);
14
+ };
15
+ return /* @__PURE__ */ jsxs(SettingsListItemButton, {
16
+ onClick: handleClick,
17
+ children: [
18
+ /* @__PURE__ */ jsx(ListItemAvatar, { children: /* @__PURE__ */ jsx(Avatar, {
19
+ src: tool.logoURI,
20
+ alt: tool.name,
21
+ children: tool.name[0]
22
+ }) }),
23
+ /* @__PURE__ */ jsx(ListItemText$1, { primary: tool.name }),
24
+ /* @__PURE__ */ jsx(Checkbox, {
25
+ id: `${typeKey}-${tool.key}-checkbox`,
26
+ checked: isEnabled,
27
+ onChange: handleClick,
28
+ onClick: handleCheckboxClick,
29
+ sx: { mr: -1 }
30
+ })
31
+ ]
32
+ });
33
+ });
34
+ //#endregion
35
+ export { ToolItem };
36
+
37
+ //# sourceMappingURL=ToolItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolItem.js","names":["ListItemText"],"sources":["../../../../src/components/Tools/ToolItem.tsx"],"sourcesContent":["import { Avatar, Checkbox, ListItemAvatar } from '@mui/material'\nimport { memo, type NamedExoticComponent } from 'react'\nimport { ListItemText } from '../ListItemText.js'\nimport { SettingsListItemButton } from '../SettingsListItemButton.js'\n\ninterface ToolItemProps {\n tool: any\n typeKey: string\n isEnabled: boolean\n onToggle: (key: string) => void\n}\n\nexport const ToolItem: NamedExoticComponent<ToolItemProps> =\n memo<ToolItemProps>(({ tool, typeKey, isEnabled, onToggle }) => {\n const handleClick = () => {\n onToggle(tool.key)\n }\n\n const handleCheckboxClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onToggle(tool.key)\n }\n\n return (\n <SettingsListItemButton onClick={handleClick}>\n <ListItemAvatar>\n <Avatar src={tool.logoURI} alt={tool.name}>\n {tool.name[0]}\n </Avatar>\n </ListItemAvatar>\n <ListItemText primary={tool.name} />\n <Checkbox\n id={`${typeKey}-${tool.key}-checkbox`}\n checked={isEnabled}\n onChange={handleClick}\n onClick={handleCheckboxClick}\n sx={{ mr: -1 }}\n />\n </SettingsListItemButton>\n )\n })\n"],"mappings":";;;;;;AAYA,MAAa,WACX,MAAqB,EAAE,MAAM,SAAS,WAAW,eAAe;CAC9D,MAAM,oBAAoB;EACxB,SAAS,KAAK,GAAG;CACnB;CAEA,MAAM,uBAAuB,MAAwB;EACnD,EAAE,gBAAgB;EAClB,SAAS,KAAK,GAAG;CACnB;CAEA,OACE,qBAAC,wBAAD;EAAwB,SAAS;YAAjC;GACE,oBAAC,gBAAD,EAAA,UACE,oBAAC,QAAD;IAAQ,KAAK,KAAK;IAAS,KAAK,KAAK;cAClC,KAAK,KAAK;GACL,CAAA,EACM,CAAA;GAChB,oBAACA,gBAAD,EAAc,SAAS,KAAK,KAAO,CAAA;GACnC,oBAAC,UAAD;IACE,IAAI,GAAG,QAAQ,GAAG,KAAK,IAAI;IAC3B,SAAS;IACT,UAAU;IACV,SAAS;IACT,IAAI,EAAE,IAAI,GAAG;GACd,CAAA;EACqB;;AAE5B,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { useSettingsStore } from "../../stores/settings/SettingsStore.js";
2
+ import { useSettingsActions } from "../../stores/settings/useSettingsActions.js";
3
+ import { SearchNotFound } from "../Search/SearchNotFound.js";
4
+ import { ToolItem } from "./ToolItem.js";
5
+ import { useMemo, useRef } from "react";
6
+ import { List } from "@mui/material";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { useTranslation } from "react-i18next";
9
+ //#region src/components/Tools/Tools.tsx
10
+ const Tools = ({ filteredTools, type }) => {
11
+ const { t } = useTranslation();
12
+ const typeKey = type.toLowerCase();
13
+ const enabledTools = useSettingsStore((state) => state[`_enabled${type}`]);
14
+ const { setToolValue } = useSettingsActions();
15
+ const enabledToolsRef = useRef(enabledTools);
16
+ enabledToolsRef.current = enabledTools;
17
+ const toggleCallbacks = useMemo(() => {
18
+ const callbacks = {};
19
+ filteredTools.forEach((tool) => {
20
+ callbacks[tool.key] = () => {
21
+ setToolValue(type, tool.key, !enabledToolsRef.current[tool.key]);
22
+ };
23
+ });
24
+ return callbacks;
25
+ }, [
26
+ filteredTools,
27
+ setToolValue,
28
+ type
29
+ ]);
30
+ if (!filteredTools.length) return /* @__PURE__ */ jsx(SearchNotFound, { message: t(`info.message.empty${type}List`) });
31
+ return /* @__PURE__ */ jsx(List, {
32
+ className: "long-list",
33
+ disablePadding: true,
34
+ "data-testid": `${typeKey}-list`,
35
+ sx: {
36
+ px: 1.5,
37
+ pb: 2
38
+ },
39
+ children: filteredTools.map((tool) => /* @__PURE__ */ jsx(ToolItem, {
40
+ tool,
41
+ typeKey,
42
+ isEnabled: enabledTools[tool.key],
43
+ onToggle: toggleCallbacks[tool.key]
44
+ }, tool.key))
45
+ });
46
+ };
47
+ //#endregion
48
+ export { Tools };
49
+
50
+ //# sourceMappingURL=Tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tools.js","names":[],"sources":["../../../../src/components/Tools/Tools.tsx"],"sourcesContent":["import type { ToolsResponse } from '@lifi/sdk'\nimport { List } from '@mui/material'\nimport { type JSX, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useSettingsStore } from '../../stores/settings/SettingsStore.js'\nimport { useSettingsActions } from '../../stores/settings/useSettingsActions.js'\nimport { SearchNotFound } from '../Search/SearchNotFound.js'\nimport { ToolItem } from './ToolItem.js'\n\nexport type ToolCollectionTypes =\n | ToolsResponse['exchanges']\n | ToolsResponse['bridges']\n\ninterface ToolsProps {\n filteredTools: ToolCollectionTypes\n type: 'Bridges' | 'Exchanges'\n}\n\nexport const Tools = ({ filteredTools, type }: ToolsProps): JSX.Element => {\n const { t } = useTranslation()\n const typeKey = type.toLowerCase() as 'bridges' | 'exchanges'\n const enabledTools = useSettingsStore((state) => state[`_enabled${type}`])\n const { setToolValue } = useSettingsActions()\n\n // Use ref to access current enabledTools without causing re-renders\n const enabledToolsRef = useRef(enabledTools)\n enabledToolsRef.current = enabledTools\n const toggleCallbacks = useMemo(() => {\n const callbacks: Record<string, () => void> = {}\n filteredTools.forEach((tool) => {\n callbacks[tool.key] = () => {\n // Access current state via ref to avoid dependency on enabledTools\n setToolValue(type, tool.key, !enabledToolsRef.current[tool.key])\n }\n })\n return callbacks\n }, [filteredTools, setToolValue, type])\n\n if (!filteredTools.length) {\n return <SearchNotFound message={t(`info.message.empty${type}List`)} />\n }\n\n return (\n <List\n className=\"long-list\"\n disablePadding\n data-testid={`${typeKey}-list`}\n sx={{ px: 1.5, pb: 2 }}\n >\n {filteredTools.map((tool) => (\n <ToolItem\n key={tool.key}\n tool={tool}\n typeKey={typeKey}\n isEnabled={enabledTools[tool.key]}\n onToggle={toggleCallbacks[tool.key]}\n />\n ))}\n </List>\n )\n}\n"],"mappings":";;;;;;;;;AAkBA,MAAa,SAAS,EAAE,eAAe,WAAoC;CACzE,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,UAAU,KAAK,YAAY;CACjC,MAAM,eAAe,kBAAkB,UAAU,MAAM,WAAW,OAAO;CACzE,MAAM,EAAE,iBAAiB,mBAAmB;CAG5C,MAAM,kBAAkB,OAAO,YAAY;CAC3C,gBAAgB,UAAU;CAC1B,MAAM,kBAAkB,cAAc;EACpC,MAAM,YAAwC,CAAC;EAC/C,cAAc,SAAS,SAAS;GAC9B,UAAU,KAAK,aAAa;IAE1B,aAAa,MAAM,KAAK,KAAK,CAAC,gBAAgB,QAAQ,KAAK,IAAI;GACjE;EACF,CAAC;EACD,OAAO;CACT,GAAG;EAAC;EAAe;EAAc;CAAI,CAAC;CAEtC,IAAI,CAAC,cAAc,QACjB,OAAO,oBAAC,gBAAD,EAAgB,SAAS,EAAE,qBAAqB,KAAK,KAAK,EAAI,CAAA;CAGvE,OACE,oBAAC,MAAD;EACE,WAAU;EACV,gBAAA;EACA,eAAa,GAAG,QAAQ;EACxB,IAAI;GAAE,IAAI;GAAK,IAAI;EAAE;YAEpB,cAAc,KAAK,SAClB,oBAAC,UAAD;GAEQ;GACG;GACT,WAAW,aAAa,KAAK;GAC7B,UAAU,gBAAgB,KAAK;EAChC,GALM,KAAK,GAKX,CACF;CACG,CAAA;AAEV"}
@@ -0,0 +1,68 @@
1
+ import { Card as Card$1 } from "../Card/Card.js";
2
+ import { CircularProgressPending } from "../Timer/StepStatusTimer.style.js";
3
+ import { useActionMessage } from "../../hooks/useActionMessage.js";
4
+ import { getExpiryTimestamp } from "../../utils/timer.js";
5
+ import { ActionRow } from "../ActionRow/ActionRow.js";
6
+ import { IconCircle } from "../IconCircle/IconCircle.js";
7
+ import { RouteTokens } from "../RouteCard/RouteTokens.js";
8
+ import { ExecutionTimerText } from "../Timer/ExecutionTimerText.js";
9
+ import { DeleteButton, PendingCircle } from "./ActiveTransactionCard.style.js";
10
+ import { Tooltip, Typography } from "@mui/material";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import { useTranslation } from "react-i18next";
13
+ import DeleteOutline from "@mui/icons-material/DeleteOutlined";
14
+ //#region src/components/TransactionCard/ActiveTransactionCard.tsx
15
+ const ActiveTransactionCard = ({ route, status, onClick, onDelete }) => {
16
+ const { t } = useTranslation();
17
+ const lastActiveStep = route.steps.findLast((step) => step.execution);
18
+ const lastActiveAction = lastActiveStep?.execution?.actions?.at(-1);
19
+ const { title } = useActionMessage(lastActiveStep, lastActiveAction);
20
+ const isFailed = status === 8;
21
+ return /* @__PURE__ */ jsxs(Card$1, {
22
+ onClick,
23
+ indented: true,
24
+ children: [/* @__PURE__ */ jsx(ActionRow, {
25
+ sx: { mb: 1.5 },
26
+ startAdornment: (() => {
27
+ if (isFailed) return /* @__PURE__ */ jsx(IconCircle, {
28
+ status: "error",
29
+ size: 24
30
+ });
31
+ if ([
32
+ "ACTION_REQUIRED",
33
+ "MESSAGE_REQUIRED",
34
+ "RESET_REQUIRED"
35
+ ].includes(lastActiveAction?.status ?? "")) return /* @__PURE__ */ jsx(IconCircle, {
36
+ status: "info",
37
+ size: 24
38
+ });
39
+ return /* @__PURE__ */ jsx(PendingCircle, { children: /* @__PURE__ */ jsx(CircularProgressPending, {
40
+ size: 24,
41
+ sx: {
42
+ top: -2,
43
+ left: -2
44
+ }
45
+ }) });
46
+ })(),
47
+ message: title ?? "",
48
+ endAdornment: isFailed ? /* @__PURE__ */ jsx(Tooltip, {
49
+ title: t("button.clearTransaction"),
50
+ children: /* @__PURE__ */ jsx(DeleteButton, {
51
+ size: "small",
52
+ onClick: onDelete,
53
+ children: /* @__PURE__ */ jsx(DeleteOutline, { sx: { fontSize: 16 } })
54
+ })
55
+ }) : lastActiveStep?.execution?.signedAt ? /* @__PURE__ */ jsx(Typography, {
56
+ sx: {
57
+ fontSize: 12,
58
+ fontWeight: 600
59
+ },
60
+ children: /* @__PURE__ */ jsx(ExecutionTimerText, { expiryTimestamp: getExpiryTimestamp(lastActiveStep) })
61
+ }) : void 0
62
+ }), /* @__PURE__ */ jsx(RouteTokens, { route })]
63
+ });
64
+ };
65
+ //#endregion
66
+ export { ActiveTransactionCard };
67
+
68
+ //# sourceMappingURL=ActiveTransactionCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveTransactionCard.js","names":["Card"],"sources":["../../../../src/components/TransactionCard/ActiveTransactionCard.tsx"],"sourcesContent":["import type { RouteExtended } from '@lifi/sdk'\nimport DeleteOutline from '@mui/icons-material/DeleteOutlined'\nimport { Tooltip, Typography } from '@mui/material'\nimport type { JSX, MouseEvent } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useActionMessage } from '../../hooks/useActionMessage.js'\nimport { RouteExecutionStatus } from '../../stores/routes/types.js'\nimport { getExpiryTimestamp } from '../../utils/timer.js'\nimport { ActionRow } from '../ActionRow/ActionRow.js'\nimport { Card } from '../Card/Card.js'\nimport { IconCircle } from '../IconCircle/IconCircle.js'\nimport { RouteTokens } from '../RouteCard/RouteTokens.js'\nimport { ExecutionTimerText } from '../Timer/ExecutionTimerText.js'\nimport { CircularProgressPending } from '../Timer/StepStatusTimer.style.js'\nimport { DeleteButton, PendingCircle } from './ActiveTransactionCard.style.js'\n\ninterface ActiveTransactionCardProps {\n route: RouteExtended\n status?: RouteExecutionStatus\n onClick: () => void\n onDelete: (e: MouseEvent) => void\n}\n\nexport const ActiveTransactionCard = ({\n route,\n status,\n onClick,\n onDelete,\n}: ActiveTransactionCardProps): JSX.Element => {\n const { t } = useTranslation()\n\n const lastActiveStep = route.steps.findLast((step) => step.execution)\n const lastActiveAction = lastActiveStep?.execution?.actions?.at(-1)\n const { title } = useActionMessage(lastActiveStep, lastActiveAction)\n\n const isFailed = status === RouteExecutionStatus.Failed\n\n const statusIcon = (() => {\n if (isFailed) {\n return <IconCircle status=\"error\" size={24} />\n }\n if (\n ['ACTION_REQUIRED', 'MESSAGE_REQUIRED', 'RESET_REQUIRED'].includes(\n lastActiveAction?.status ?? ''\n )\n ) {\n return <IconCircle status=\"info\" size={24} />\n }\n return (\n <PendingCircle>\n <CircularProgressPending size={24} sx={{ top: -2, left: -2 }} />\n </PendingCircle>\n )\n })()\n\n return (\n <Card onClick={onClick} indented>\n <ActionRow\n sx={{ mb: 1.5 }}\n startAdornment={statusIcon}\n message={title ?? ''}\n endAdornment={\n isFailed ? (\n <Tooltip title={t('button.clearTransaction')}>\n <DeleteButton size=\"small\" onClick={onDelete}>\n <DeleteOutline sx={{ fontSize: 16 }} />\n </DeleteButton>\n </Tooltip>\n ) : lastActiveStep?.execution?.signedAt ? (\n <Typography sx={{ fontSize: 12, fontWeight: 600 }}>\n <ExecutionTimerText\n expiryTimestamp={getExpiryTimestamp(lastActiveStep)}\n />\n </Typography>\n ) : undefined\n }\n />\n <RouteTokens route={route} />\n </Card>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAuBA,MAAa,yBAAyB,EACpC,OACA,QACA,SACA,eAC6C;CAC7C,MAAM,EAAE,MAAM,eAAe;CAE7B,MAAM,iBAAiB,MAAM,MAAM,UAAU,SAAS,KAAK,SAAS;CACpE,MAAM,mBAAmB,gBAAgB,WAAW,SAAS,GAAG,EAAE;CAClE,MAAM,EAAE,UAAU,iBAAiB,gBAAgB,gBAAgB;CAEnE,MAAM,WAAW,WAAA;CAoBjB,OACE,qBAACA,QAAD;EAAe;EAAS,UAAA;YAAxB,CACE,oBAAC,WAAD;GACE,IAAI,EAAE,IAAI,IAAI;GACd,uBAtBoB;IACxB,IAAI,UACF,OAAO,oBAAC,YAAD;KAAY,QAAO;KAAQ,MAAM;IAAK,CAAA;IAE/C,IACE;KAAC;KAAmB;KAAoB;IAAgB,EAAE,SACxD,kBAAkB,UAAU,EAC9B,GAEA,OAAO,oBAAC,YAAD;KAAY,QAAO;KAAO,MAAM;IAAK,CAAA;IAE9C,OACE,oBAAC,eAAD,EAAA,UACE,oBAAC,yBAAD;KAAyB,MAAM;KAAI,IAAI;MAAE,KAAK;MAAI,MAAM;KAAG;IAAI,CAAA,EAClD,CAAA;GAEnB,GAM+B;GACzB,SAAS,SAAS;GAClB,cACE,WACE,oBAAC,SAAD;IAAS,OAAO,EAAE,yBAAyB;cACzC,oBAAC,cAAD;KAAc,MAAK;KAAQ,SAAS;eAClC,oBAAC,eAAD,EAAe,IAAI,EAAE,UAAU,GAAG,EAAI,CAAA;IAC1B,CAAA;GACP,CAAA,IACP,gBAAgB,WAAW,WAC7B,oBAAC,YAAD;IAAY,IAAI;KAAE,UAAU;KAAI,YAAY;IAAI;cAC9C,oBAAC,oBAAD,EACE,iBAAiB,mBAAmB,cAAc,EACnD,CAAA;GACS,CAAA,IACV,KAAA;EAEP,CAAA,GACD,oBAAC,aAAD,EAAoB,MAAQ,CAAA,CACxB;;AAEV"}
@@ -0,0 +1,21 @@
1
+ import { Box, IconButton, styled } from "@mui/material";
2
+ //#region src/components/TransactionCard/ActiveTransactionCard.style.tsx
3
+ const PendingCircle = styled(Box)(({ theme }) => ({
4
+ position: "relative",
5
+ width: 24,
6
+ height: 24,
7
+ flexShrink: 0,
8
+ borderRadius: "50%",
9
+ border: `2px solid ${theme.vars.palette.grey[300]}`,
10
+ ...theme.applyStyles("dark", { borderColor: theme.vars.palette.grey[800] })
11
+ }));
12
+ const DeleteButton = styled(IconButton)(({ theme }) => ({
13
+ padding: theme.spacing(.5),
14
+ backgroundColor: theme.vars.palette.background.paper,
15
+ width: 24,
16
+ height: 24
17
+ }));
18
+ //#endregion
19
+ export { DeleteButton, PendingCircle };
20
+
21
+ //# sourceMappingURL=ActiveTransactionCard.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveTransactionCard.style.js","names":[],"sources":["../../../../src/components/TransactionCard/ActiveTransactionCard.style.tsx"],"sourcesContent":["import { Box, IconButton, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const PendingCircle: React.FC<React.ComponentProps<typeof Box>> = styled(\n Box\n)(({ theme }) => ({\n position: 'relative',\n width: 24,\n height: 24,\n flexShrink: 0,\n borderRadius: '50%',\n border: `2px solid ${theme.vars.palette.grey[300]}`,\n ...theme.applyStyles('dark', {\n borderColor: theme.vars.palette.grey[800],\n }),\n}))\n\nexport const DeleteButton: React.FC<React.ComponentProps<typeof IconButton>> =\n styled(IconButton)(({ theme }) => ({\n padding: theme.spacing(0.5),\n backgroundColor: theme.vars.palette.background.paper,\n width: 24,\n height: 24,\n }))\n"],"mappings":";;AAGA,MAAa,gBAA4D,OACvE,GACF,GAAG,EAAE,aAAa;CAChB,UAAU;CACV,OAAO;CACP,QAAQ;CACR,YAAY;CACZ,cAAc;CACd,QAAQ,aAAa,MAAM,KAAK,QAAQ,KAAK;CAC7C,GAAG,MAAM,YAAY,QAAQ,EAC3B,aAAa,MAAM,KAAK,QAAQ,KAAK,KACvC,CAAC;AACH,EAAE;AAEF,MAAa,eACX,OAAO,UAAU,GAAG,EAAE,aAAa;CACjC,SAAS,MAAM,QAAQ,EAAG;CAC1B,iBAAiB,MAAM,KAAK,QAAQ,WAAW;CAC/C,OAAO;CACP,QAAQ;AACV,EAAE"}
@@ -0,0 +1,32 @@
1
+ import { Card as Card$1 } from "../Card/Card.js";
2
+ import { RouteTokens } from "../RouteCard/RouteTokens.js";
3
+ import { DateLabelContainer, DateLabelText } from "./TransactionCard.style.js";
4
+ import { Box } from "@mui/material";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { useTranslation } from "react-i18next";
7
+ //#region src/components/TransactionCard/TransactionCard.tsx
8
+ const TransactionCard = ({ route, date, onClick }) => {
9
+ const { i18n } = useTranslation();
10
+ return /* @__PURE__ */ jsx(Card$1, {
11
+ indented: true,
12
+ onClick,
13
+ children: /* @__PURE__ */ jsxs(Box, {
14
+ sx: {
15
+ display: "flex",
16
+ flexDirection: "column",
17
+ gap: 1.5
18
+ },
19
+ children: [/* @__PURE__ */ jsxs(DateLabelContainer, { children: [/* @__PURE__ */ jsx(DateLabelText, {
20
+ color: "text.secondary",
21
+ children: date.toLocaleString(i18n.language, { dateStyle: "long" })
22
+ }), /* @__PURE__ */ jsx(DateLabelText, {
23
+ color: "text.secondary",
24
+ children: date.toLocaleString(i18n.language, { timeStyle: "short" })
25
+ })] }), /* @__PURE__ */ jsx(RouteTokens, { route })]
26
+ })
27
+ });
28
+ };
29
+ //#endregion
30
+ export { TransactionCard };
31
+
32
+ //# sourceMappingURL=TransactionCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionCard.js","names":["Card"],"sources":["../../../../src/components/TransactionCard/TransactionCard.tsx"],"sourcesContent":["import type { RouteExtended } from '@lifi/sdk'\nimport { Box } from '@mui/material'\nimport type { JSX } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Card } from '../Card/Card.js'\nimport { RouteTokens } from '../RouteCard/RouteTokens.js'\nimport { DateLabelContainer, DateLabelText } from './TransactionCard.style.js'\n\ninterface TransactionCardProps {\n route: RouteExtended\n date: Date\n onClick?: () => void\n}\n\nexport const TransactionCard = ({\n route,\n date,\n onClick,\n}: TransactionCardProps): JSX.Element => {\n const { i18n } = useTranslation()\n\n return (\n <Card indented onClick={onClick}>\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1.5 }}>\n <DateLabelContainer>\n <DateLabelText color=\"text.secondary\">\n {date.toLocaleString(i18n.language, { dateStyle: 'long' })}\n </DateLabelText>\n <DateLabelText color=\"text.secondary\">\n {date.toLocaleString(i18n.language, { timeStyle: 'short' })}\n </DateLabelText>\n </DateLabelContainer>\n <RouteTokens route={route} />\n </Box>\n </Card>\n )\n}\n"],"mappings":";;;;;;;AAcA,MAAa,mBAAmB,EAC9B,OACA,MACA,cACuC;CACvC,MAAM,EAAE,SAAS,eAAe;CAEhC,OACE,oBAACA,QAAD;EAAM,UAAA;EAAkB;YACtB,qBAAC,KAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,eAAe;IAAU,KAAK;GAAI;aAA9D,CACE,qBAAC,oBAAD,EAAA,UAAA,CACE,oBAAC,eAAD;IAAe,OAAM;cAClB,KAAK,eAAe,KAAK,UAAU,EAAE,WAAW,OAAO,CAAC;GAC5C,CAAA,GACf,oBAAC,eAAD;IAAe,OAAM;cAClB,KAAK,eAAe,KAAK,UAAU,EAAE,WAAW,QAAQ,CAAC;GAC7C,CAAA,CACG,EAAA,CAAA,GACpB,oBAAC,aAAD,EAAoB,MAAQ,CAAA,CACzB;;CACD,CAAA;AAEV"}