@lifi/widget 4.3.1 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/dist/esm/App.d.ts +0 -1
  2. package/dist/esm/App.d.ts.map +1 -1
  3. package/dist/esm/App.js.map +1 -1
  4. package/dist/esm/AppDrawer.d.ts +1 -1
  5. package/dist/esm/AppDrawer.d.ts.map +1 -1
  6. package/dist/esm/AppDrawer.js.map +1 -1
  7. package/dist/esm/AppLayout.js.map +1 -1
  8. package/dist/esm/AppProvider.js.map +1 -1
  9. package/dist/esm/components/ActionRow/ActionRow.d.ts +13 -0
  10. package/dist/esm/components/ActionRow/ActionRow.d.ts.map +1 -0
  11. package/dist/esm/components/ActionRow/ActionRow.js.map +1 -1
  12. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
  13. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +9 -0
  14. package/dist/esm/components/AmountInput/AmountInput.style.d.ts.map +1 -0
  15. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +7 -0
  16. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts.map +1 -0
  17. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  18. package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -1
  19. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +7 -0
  20. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts.map +1 -0
  21. package/dist/esm/components/AmountInputCard/AmountInputCardPair.js.map +1 -1
  22. package/dist/esm/components/AmountInputCard/BalanceDisplay.js.map +1 -1
  23. package/dist/esm/components/AmountInputCard/FiatValueToggle.js.map +1 -1
  24. package/dist/esm/components/AmountInputCard/PercentageChips.js.map +1 -1
  25. package/dist/esm/components/AmountInputCard/ReceiveAmountCard.js.map +1 -1
  26. package/dist/esm/components/AmountInputCard/SendAmountCard.js.map +1 -1
  27. package/dist/esm/components/AppContainer.js.map +1 -1
  28. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
  29. package/dist/esm/components/Avatar/Avatar.d.ts +12 -0
  30. package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -0
  31. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  32. package/dist/esm/components/Avatar/ChainBadgeContent.js.map +1 -1
  33. package/dist/esm/components/Avatar/TokenAvatar.d.ts +14 -0
  34. package/dist/esm/components/Avatar/TokenAvatar.d.ts.map +1 -0
  35. package/dist/esm/components/Avatar/TokenAvatar.js.map +1 -1
  36. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts +6 -0
  37. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts.map +1 -0
  38. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  39. package/dist/esm/components/BaseTransactionButton/types.d.ts +14 -0
  40. package/dist/esm/components/BaseTransactionButton/types.d.ts.map +1 -0
  41. package/dist/esm/components/BottomSheet/types.d.ts +11 -0
  42. package/dist/esm/components/BottomSheet/types.d.ts.map +1 -0
  43. package/dist/esm/components/ButtonTertiary.d.ts +7 -0
  44. package/dist/esm/components/ButtonTertiary.d.ts.map +1 -0
  45. package/dist/esm/components/Card/Card.d.ts +12 -0
  46. package/dist/esm/components/Card/Card.d.ts.map +1 -0
  47. package/dist/esm/components/Card/CardButton.js.map +1 -1
  48. package/dist/esm/components/Card/CardIconButton.d.ts +7 -0
  49. package/dist/esm/components/Card/CardIconButton.d.ts.map +1 -0
  50. package/dist/esm/components/Card/CardTitle.d.ts +9 -0
  51. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -0
  52. package/dist/esm/components/Card/InputCard.d.ts +7 -0
  53. package/dist/esm/components/Card/InputCard.d.ts.map +1 -0
  54. package/dist/esm/components/ChainSelect/ChainSelect.d.ts +7 -0
  55. package/dist/esm/components/ChainSelect/ChainSelect.d.ts.map +1 -0
  56. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  57. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +10 -0
  58. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts.map +1 -0
  59. package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -1
  60. package/dist/esm/components/Chains/ChainList.js.map +1 -1
  61. package/dist/esm/components/Chains/ChainListItem.js.map +1 -1
  62. package/dist/esm/components/Chains/ChainsExpanded.js.map +1 -1
  63. package/dist/esm/components/Chains/PinChainButton.js.map +1 -1
  64. package/dist/esm/components/Chains/SelectChainExpansionContent.js.map +1 -1
  65. package/dist/esm/components/Chains/SelectChainPageContent.js.map +1 -1
  66. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
  67. package/dist/esm/components/ContextMenu.js.map +1 -1
  68. package/dist/esm/components/ContractComponent/ContractComponent.d.ts +7 -0
  69. package/dist/esm/components/ContractComponent/ContractComponent.d.ts.map +1 -0
  70. package/dist/esm/components/ContractComponent/ItemPrice.d.ts +0 -1
  71. package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -1
  72. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +0 -1
  73. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -1
  74. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +0 -1
  75. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -1
  76. package/dist/esm/components/ContractComponent/NFT/NFTBase.js.map +1 -1
  77. package/dist/esm/components/ContractComponent/NFT/types.d.ts +0 -1
  78. package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -1
  79. package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js.map +1 -1
  80. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts +21 -0
  81. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts.map +1 -0
  82. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js.map +1 -1
  83. package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js.map +1 -1
  84. package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts +16 -0
  85. package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts.map +1 -0
  86. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -1
  87. package/dist/esm/components/ExecutionStatusCard/iconKey.js +1 -0
  88. package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
  89. package/dist/esm/components/Expansion/Expansion.js.map +1 -1
  90. package/dist/esm/components/Expansion/ExpansionTransition.js.map +1 -1
  91. package/dist/esm/components/FeeBreakdownTooltip.d.ts +13 -0
  92. package/dist/esm/components/FeeBreakdownTooltip.d.ts.map +1 -0
  93. package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -1
  94. package/dist/esm/components/Header/ActivitiesButton.js.map +1 -1
  95. package/dist/esm/components/Header/BackButton.js.map +1 -1
  96. package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -1
  97. package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -1
  98. package/dist/esm/components/Header/HeaderTabs.js.map +1 -1
  99. package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
  100. package/dist/esm/components/Header/SettingsButton.js.map +1 -1
  101. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  102. package/dist/esm/components/Header/WalletMenu.js.map +1 -1
  103. package/dist/esm/components/IconCircle/IconCircle.d.ts +11 -0
  104. package/dist/esm/components/IconCircle/IconCircle.d.ts.map +1 -0
  105. package/dist/esm/components/IconCircle/IconCircle.js.map +1 -1
  106. package/dist/esm/components/IconCircle/statusIcons.d.ts +6 -0
  107. package/dist/esm/components/IconCircle/statusIcons.d.ts.map +1 -0
  108. package/dist/esm/components/IconTypography.d.ts +7 -0
  109. package/dist/esm/components/IconTypography.d.ts.map +1 -0
  110. package/dist/esm/components/LimitOrderSettings/LimitOrderSettings.js.map +1 -1
  111. package/dist/esm/components/LimitPriceCard/LimitPriceCard.js.map +1 -1
  112. package/dist/esm/components/LimitPriceCard/LimitPricePresets.js.map +1 -1
  113. package/dist/esm/components/ListItem/ListItemButton.d.ts +7 -0
  114. package/dist/esm/components/ListItem/ListItemButton.d.ts.map +1 -0
  115. package/dist/esm/components/ListItemButton.d.ts +7 -0
  116. package/dist/esm/components/ListItemButton.d.ts.map +1 -0
  117. package/dist/esm/components/Messages/AccountDeployedMessage.js.map +1 -1
  118. package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -1
  119. package/dist/esm/components/Messages/AlertMessage.js.map +1 -1
  120. package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -1
  121. package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -1
  122. package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -1
  123. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js.map +1 -1
  124. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js.map +1 -1
  125. package/dist/esm/components/Messages/WarningMessages.d.ts +11 -0
  126. package/dist/esm/components/Messages/WarningMessages.d.ts.map +1 -0
  127. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  128. package/dist/esm/components/NotFound.js.map +1 -1
  129. package/dist/esm/components/PageContainer.d.ts +12 -0
  130. package/dist/esm/components/PageContainer.d.ts.map +1 -0
  131. package/dist/esm/components/PoweredBy/PoweredBy.d.ts +5 -0
  132. package/dist/esm/components/PoweredBy/PoweredBy.d.ts.map +1 -0
  133. package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -1
  134. package/dist/esm/components/ProgressToNextUpdate.d.ts +10 -0
  135. package/dist/esm/components/ProgressToNextUpdate.d.ts.map +1 -0
  136. package/dist/esm/components/ProgressToNextUpdate.js.map +1 -1
  137. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  138. package/dist/esm/components/RouteCard/RouteCard.d.ts +7 -0
  139. package/dist/esm/components/RouteCard/RouteCard.d.ts.map +1 -0
  140. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  141. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  142. package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts +7 -0
  143. package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts.map +1 -0
  144. package/dist/esm/components/RouteCard/RouteCardSkeleton.js.map +1 -1
  145. package/dist/esm/components/RouteCard/RouteDetails.d.ts +10 -0
  146. package/dist/esm/components/RouteCard/RouteDetails.d.ts.map +1 -0
  147. package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -1
  148. package/dist/esm/components/RouteCard/RouteDetails.style.d.ts +12 -0
  149. package/dist/esm/components/RouteCard/RouteDetails.style.d.ts.map +1 -0
  150. package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts +5 -0
  151. package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts.map +1 -0
  152. package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -1
  153. package/dist/esm/components/RouteCard/RouteProviderCard.js.map +1 -1
  154. package/dist/esm/components/RouteCard/RouteToken.js.map +1 -1
  155. package/dist/esm/components/RouteCard/RouteTokens.d.ts +11 -0
  156. package/dist/esm/components/RouteCard/RouteTokens.d.ts.map +1 -0
  157. package/dist/esm/components/RouteCard/RouteTokens.js +2 -2
  158. package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
  159. package/dist/esm/components/RouteCard/types.d.ts +14 -0
  160. package/dist/esm/components/RouteCard/types.d.ts.map +1 -0
  161. package/dist/esm/components/Routes/LimitOrderRoutes.js.map +1 -1
  162. package/dist/esm/components/Routes/Routes.js.map +1 -1
  163. package/dist/esm/components/Routes/RoutesContent.js.map +1 -1
  164. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
  165. package/dist/esm/components/Search/SearchInput.d.ts +17 -0
  166. package/dist/esm/components/Search/SearchInput.d.ts.map +1 -0
  167. package/dist/esm/components/Search/SearchInput.js.map +1 -1
  168. package/dist/esm/components/SelectChainAndToken.js.map +1 -1
  169. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
  170. package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts +10 -0
  171. package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts.map +1 -0
  172. package/dist/esm/components/SendToWallet/SendToWalletButton.js +15 -6
  173. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  174. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -1
  175. package/dist/esm/components/SettingsPanel/SettingsPanel.js.map +1 -1
  176. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +1 -4
  177. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -1
  178. package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
  179. package/dist/esm/components/Step/StepActions.js.map +1 -1
  180. package/dist/esm/components/StepActions/SentToWalletRow.d.ts +9 -0
  181. package/dist/esm/components/StepActions/SentToWalletRow.d.ts.map +1 -0
  182. package/dist/esm/components/StepActions/SentToWalletRow.js.map +1 -1
  183. package/dist/esm/components/StepActions/StepActionRow.js.map +1 -1
  184. package/dist/esm/components/StepActions/StepActionRow.style.d.ts +7 -0
  185. package/dist/esm/components/StepActions/StepActionRow.style.d.ts.map +1 -0
  186. package/dist/esm/components/StepActions/StepActionsList.d.ts +12 -0
  187. package/dist/esm/components/StepActions/StepActionsList.d.ts.map +1 -0
  188. package/dist/esm/components/StepActions/StepActionsList.js.map +1 -1
  189. package/dist/esm/components/StepActions/executionRows.d.ts +26 -0
  190. package/dist/esm/components/StepActions/executionRows.d.ts.map +1 -0
  191. package/dist/esm/components/SwapButton/SwapButton.js.map +1 -1
  192. package/dist/esm/components/TextFitter/TextFitter.js.map +1 -1
  193. package/dist/esm/components/Timer/StepStatusTimer.js.map +1 -1
  194. package/dist/esm/components/Token/Token.d.ts +17 -0
  195. package/dist/esm/components/Token/Token.d.ts.map +1 -0
  196. package/dist/esm/components/Token/Token.js.map +1 -1
  197. package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -1
  198. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
  199. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
  200. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  201. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  202. package/dist/esm/components/TokenList/TokenNotFound.d.ts +6 -0
  203. package/dist/esm/components/TokenList/TokenNotFound.d.ts.map +1 -0
  204. package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts +7 -0
  205. package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts.map +1 -0
  206. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  207. package/dist/esm/components/TokenList/types.d.ts +20 -0
  208. package/dist/esm/components/TokenList/types.d.ts.map +1 -0
  209. package/dist/esm/components/TokenList/useTokenSelect.d.ts +6 -0
  210. package/dist/esm/components/TokenList/useTokenSelect.d.ts.map +1 -0
  211. package/dist/esm/components/TokenPillButton/TokenPillButton.js.map +1 -1
  212. package/dist/esm/components/TokenRate/TokenRate.d.ts +10 -0
  213. package/dist/esm/components/TokenRate/TokenRate.d.ts.map +1 -0
  214. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -1
  215. package/dist/esm/components/Tools/ToolItem.js.map +1 -1
  216. package/dist/esm/components/Tools/Tools.js.map +1 -1
  217. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +1 -0
  218. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
  219. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +9 -0
  220. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
  221. package/dist/esm/components/TransactionCard/TransactionCard.js.map +1 -1
  222. package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts +8 -0
  223. package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts.map +1 -0
  224. package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js.map +1 -1
  225. package/dist/esm/config/constants.d.ts.map +1 -1
  226. package/dist/esm/config/version.d.ts +1 -1
  227. package/dist/esm/config/version.d.ts.map +1 -1
  228. package/dist/esm/config/version.js +1 -1
  229. package/dist/esm/config/version.js.map +1 -1
  230. package/dist/esm/hooks/useAccountsBalancesData.js +1 -14
  231. package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -1
  232. package/dist/esm/hooks/useAddressActivity.d.ts +11 -0
  233. package/dist/esm/hooks/useAddressActivity.d.ts.map +1 -0
  234. package/dist/esm/hooks/useAddressValidation.d.ts +28 -0
  235. package/dist/esm/hooks/useAddressValidation.d.ts.map +1 -0
  236. package/dist/esm/hooks/useAddressValidation.js +6 -1
  237. package/dist/esm/hooks/useAddressValidation.js.map +1 -1
  238. package/dist/esm/hooks/useAvailableChains.d.ts +12 -0
  239. package/dist/esm/hooks/useAvailableChains.d.ts.map +1 -0
  240. package/dist/esm/hooks/useChain.d.ts +10 -0
  241. package/dist/esm/hooks/useChain.d.ts.map +1 -0
  242. package/dist/esm/hooks/useContactSupport.d.ts +5 -0
  243. package/dist/esm/hooks/useContactSupport.d.ts.map +1 -0
  244. package/dist/esm/hooks/useDebouncedWatch.d.ts +6 -0
  245. package/dist/esm/hooks/useDebouncedWatch.d.ts.map +1 -0
  246. package/dist/esm/hooks/useDisplayedTokens.js +48 -0
  247. package/dist/esm/hooks/useDisplayedTokens.js.map +1 -0
  248. package/dist/esm/hooks/useExplorer.d.ts +14 -0
  249. package/dist/esm/hooks/useExplorer.d.ts.map +1 -0
  250. package/dist/esm/hooks/useHeader.d.ts +6 -0
  251. package/dist/esm/hooks/useHeader.d.ts.map +1 -0
  252. package/dist/esm/hooks/useListHeight.d.ts +12 -0
  253. package/dist/esm/hooks/useListHeight.d.ts.map +1 -0
  254. package/dist/esm/hooks/useListHeight.js +1 -0
  255. package/dist/esm/hooks/useListHeight.js.map +1 -1
  256. package/dist/esm/hooks/useNavigateBack.d.ts +5 -0
  257. package/dist/esm/hooks/useNavigateBack.d.ts.map +1 -0
  258. package/dist/esm/hooks/usePacedRouteExecution.js +1 -0
  259. package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -1
  260. package/dist/esm/hooks/useRouteExecution.d.ts +18 -0
  261. package/dist/esm/hooks/useRouteExecution.d.ts.map +1 -0
  262. package/dist/esm/hooks/useRouteExecutionMessage.d.ts +10 -0
  263. package/dist/esm/hooks/useRouteExecutionMessage.d.ts.map +1 -0
  264. package/dist/esm/hooks/useRouteExecutionMessage.js +1 -0
  265. package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
  266. package/dist/esm/hooks/useRoutes.d.ts +32 -0
  267. package/dist/esm/hooks/useRoutes.d.ts.map +1 -0
  268. package/dist/esm/hooks/useRoutes.js +12 -8
  269. package/dist/esm/hooks/useRoutes.js.map +1 -1
  270. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -1
  271. package/dist/esm/hooks/useToAddressRequirements.d.ts +16 -0
  272. package/dist/esm/hooks/useToAddressRequirements.d.ts.map +1 -0
  273. package/dist/esm/hooks/useToken.d.ts +9 -0
  274. package/dist/esm/hooks/useToken.d.ts.map +1 -0
  275. package/dist/esm/hooks/useTokenAddressBalance.d.ts +11 -0
  276. package/dist/esm/hooks/useTokenAddressBalance.d.ts.map +1 -0
  277. package/dist/esm/hooks/useTokenBalances.d.ts +14 -0
  278. package/dist/esm/hooks/useTokenBalances.d.ts.map +1 -0
  279. package/dist/esm/hooks/useTokenBalances.js +5 -45
  280. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  281. package/dist/esm/hooks/useTokenBalancesQueries.js +5 -3
  282. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -1
  283. package/dist/esm/hooks/useTokenList.d.ts +16 -0
  284. package/dist/esm/hooks/useTokenList.d.ts.map +1 -0
  285. package/dist/esm/hooks/useTokenList.js +31 -0
  286. package/dist/esm/hooks/useTokenList.js.map +1 -0
  287. package/dist/esm/hooks/useTokens.js.map +1 -1
  288. package/dist/esm/hooks/useTools.d.ts +8 -0
  289. package/dist/esm/hooks/useTools.d.ts.map +1 -0
  290. package/dist/esm/hooks/useTransactionDetails.js +1 -3
  291. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  292. package/dist/esm/hooks/useTransactionList.js +1 -0
  293. package/dist/esm/hooks/useTransactionList.js.map +1 -1
  294. package/dist/esm/hooks/useWidgetChains.d.ts +0 -1
  295. package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -1
  296. package/dist/esm/hooks/useWidgetEvents.d.ts +0 -1
  297. package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -1
  298. package/dist/esm/i18n/en.json +321 -0
  299. package/dist/esm/index.d.ts +1 -0
  300. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +1 -0
  301. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
  302. package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js.map +1 -1
  303. package/dist/esm/pages/LanguagesPage.js.map +1 -1
  304. package/dist/esm/pages/MainPage/LimitPageContent.js.map +1 -1
  305. package/dist/esm/pages/MainPage/MainPage.js.map +1 -1
  306. package/dist/esm/pages/MainPage/MainPageActions.js.map +1 -1
  307. package/dist/esm/pages/MainPage/MainWarningMessages.d.ts +10 -0
  308. package/dist/esm/pages/MainPage/MainWarningMessages.d.ts.map +1 -0
  309. package/dist/esm/pages/RoutePriorityPage.js.map +1 -1
  310. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  311. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +7 -0
  312. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts.map +1 -0
  313. package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts +6 -0
  314. package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts.map +1 -0
  315. package/dist/esm/pages/SelectChainPage/types.d.ts +8 -0
  316. package/dist/esm/pages/SelectChainPage/types.d.ts.map +1 -0
  317. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
  318. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts +10 -0
  319. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts.map +1 -0
  320. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  321. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
  322. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  323. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  324. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  325. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  326. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  327. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  328. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  329. package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -1
  330. package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
  331. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -1
  332. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -1
  333. package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -1
  334. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  335. package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -1
  336. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippagePage.js.map +1 -1
  337. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  338. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -1
  339. package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
  340. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts +9 -0
  341. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts.map +1 -0
  342. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js.map +1 -1
  343. package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js.map +1 -1
  344. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  345. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -1
  346. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -1
  347. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts +14 -0
  348. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts.map +1 -0
  349. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -1
  350. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts +19 -0
  351. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts.map +1 -0
  352. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
  353. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts +12 -0
  354. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts.map +1 -0
  355. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +1 -0
  356. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -1
  357. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts +11 -0
  358. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts.map +1 -0
  359. package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts +6 -0
  360. package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts.map +1 -0
  361. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts +15 -0
  362. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts.map +1 -0
  363. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  364. package/dist/esm/pages/TransactionPage/TransactionContent.js +1 -0
  365. package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -1
  366. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts +12 -0
  367. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts.map +1 -0
  368. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +1 -0
  369. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -1
  370. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +1 -0
  371. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
  372. package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js.map +1 -1
  373. package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -0
  374. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  375. package/dist/esm/pages/TransactionPage/TransactionReview.js.map +1 -1
  376. package/dist/esm/pages/TransactionPage/types.d.ts +9 -0
  377. package/dist/esm/pages/TransactionPage/types.d.ts.map +1 -0
  378. package/dist/esm/pages/TransactionPage/utils.d.ts +6 -0
  379. package/dist/esm/pages/TransactionPage/utils.d.ts.map +1 -0
  380. package/dist/esm/providers/I18nProvider/I18nProvider.d.ts +5 -0
  381. package/dist/esm/providers/I18nProvider/I18nProvider.d.ts.map +1 -0
  382. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  383. package/dist/esm/providers/I18nProvider/types.d.ts +2 -3
  384. package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -1
  385. package/dist/esm/providers/QueryClientProvider.d.ts +6 -0
  386. package/dist/esm/providers/QueryClientProvider.d.ts.map +1 -0
  387. package/dist/esm/providers/SDKClientProvider.d.ts +8 -0
  388. package/dist/esm/providers/SDKClientProvider.d.ts.map +1 -0
  389. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +10 -0
  390. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts.map +1 -0
  391. package/dist/esm/providers/WalletProvider/WalletProvider.js +8 -3
  392. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  393. package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts +8 -0
  394. package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  395. package/dist/esm/providers/WidgetProvider/types.d.ts +11 -0
  396. package/dist/esm/providers/WidgetProvider/types.d.ts.map +1 -0
  397. package/dist/esm/shared.d.ts +107 -0
  398. package/dist/esm/shared.js +105 -0
  399. package/dist/esm/stores/StoreProvider.d.ts +7 -0
  400. package/dist/esm/stores/StoreProvider.d.ts.map +1 -0
  401. package/dist/esm/stores/StoreProvider.js.map +1 -1
  402. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
  403. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts.map +1 -0
  404. package/dist/esm/stores/bookmarks/types.d.ts +0 -1
  405. package/dist/esm/stores/bookmarks/types.d.ts.map +1 -1
  406. package/dist/esm/stores/chains/ChainOrderStore.d.ts +8 -0
  407. package/dist/esm/stores/chains/ChainOrderStore.d.ts.map +1 -0
  408. package/dist/esm/stores/chains/types.d.ts +27 -0
  409. package/dist/esm/stores/chains/types.d.ts.map +1 -0
  410. package/dist/esm/stores/form/FormStore.js.map +1 -1
  411. package/dist/esm/stores/form/FormUpdater.js.map +1 -1
  412. package/dist/esm/stores/form/createFormStore.js +1 -0
  413. package/dist/esm/stores/form/createFormStore.js.map +1 -1
  414. package/dist/esm/stores/form/types.d.ts +7 -7
  415. package/dist/esm/stores/form/types.d.ts.map +1 -1
  416. package/dist/esm/stores/form/types.js.map +1 -1
  417. package/dist/esm/stores/form/useFieldActions.d.ts +0 -1
  418. package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -1
  419. package/dist/esm/stores/form/useFieldValues.d.ts +0 -1
  420. package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -1
  421. package/dist/esm/stores/header/types.d.ts +20 -0
  422. package/dist/esm/stores/header/types.d.ts.map +1 -0
  423. package/dist/esm/stores/header/useHeaderStore.d.ts +8 -0
  424. package/dist/esm/stores/header/useHeaderStore.d.ts.map +1 -0
  425. package/dist/esm/stores/inputMode/useInputModeStore.d.ts +13 -0
  426. package/dist/esm/stores/inputMode/useInputModeStore.d.ts.map +1 -0
  427. package/dist/esm/stores/navigationTabs/useNavigationTabsStore.js.map +1 -1
  428. package/dist/esm/stores/routes/RouteExecutionStore.d.ts +9 -0
  429. package/dist/esm/stores/routes/RouteExecutionStore.d.ts.map +1 -0
  430. package/dist/esm/stores/routes/createRouteExecutionStore.js +1 -0
  431. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  432. package/dist/esm/stores/routes/types.d.ts +24 -0
  433. package/dist/esm/stores/routes/types.d.ts.map +1 -0
  434. package/dist/esm/stores/routes/types.js +14 -0
  435. package/dist/esm/stores/routes/types.js.map +1 -0
  436. package/dist/esm/stores/routes/useRouteExecutionIndicator.js +1 -0
  437. package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
  438. package/dist/esm/stores/routes/utils.d.ts +9 -0
  439. package/dist/esm/stores/routes/utils.d.ts.map +1 -0
  440. package/dist/esm/stores/settings/SettingsStore.d.ts +8 -0
  441. package/dist/esm/stores/settings/SettingsStore.d.ts.map +1 -0
  442. package/dist/esm/stores/settings/types.d.ts +5 -2
  443. package/dist/esm/stores/settings/types.d.ts.map +1 -1
  444. package/dist/esm/stores/types.d.ts +9 -0
  445. package/dist/esm/stores/types.d.ts.map +1 -0
  446. package/dist/esm/themes/azureLight.d.ts +0 -1
  447. package/dist/esm/themes/azureLight.d.ts.map +1 -1
  448. package/dist/esm/themes/createTheme.d.ts +0 -1
  449. package/dist/esm/themes/createTheme.d.ts.map +1 -1
  450. package/dist/esm/themes/jumper.d.ts +0 -1
  451. package/dist/esm/themes/jumper.d.ts.map +1 -1
  452. package/dist/esm/themes/palettes.d.ts.map +1 -1
  453. package/dist/esm/themes/types.d.ts +0 -1
  454. package/dist/esm/themes/types.d.ts.map +1 -1
  455. package/dist/esm/themes/watermelonLight.d.ts +0 -1
  456. package/dist/esm/themes/watermelonLight.d.ts.map +1 -1
  457. package/dist/esm/themes/windows95.d.ts +0 -1
  458. package/dist/esm/themes/windows95.d.ts.map +1 -1
  459. package/dist/esm/types/events.d.ts +4 -3
  460. package/dist/esm/types/events.d.ts.map +1 -1
  461. package/dist/esm/types/token.d.ts +1 -2
  462. package/dist/esm/types/token.d.ts.map +1 -1
  463. package/dist/esm/types/widget.d.ts +72 -73
  464. package/dist/esm/types/widget.d.ts.map +1 -1
  465. package/dist/esm/utils/compactNumberFormatter.d.ts +8 -8
  466. package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -1
  467. package/dist/esm/utils/converters.d.ts +7 -0
  468. package/dist/esm/utils/converters.d.ts.map +1 -0
  469. package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -1
  470. package/dist/esm/utils/elements.d.ts +11 -0
  471. package/dist/esm/utils/elements.d.ts.map +1 -0
  472. package/dist/esm/utils/elements.js +8 -1
  473. package/dist/esm/utils/elements.js.map +1 -1
  474. package/dist/esm/utils/enum.d.ts +5 -0
  475. package/dist/esm/utils/enum.d.ts.map +1 -0
  476. package/dist/esm/utils/fees.d.ts +17 -0
  477. package/dist/esm/utils/fees.d.ts.map +1 -0
  478. package/dist/esm/utils/format.d.ts +14 -14
  479. package/dist/esm/utils/format.d.ts.map +1 -1
  480. package/dist/esm/utils/getPriceImpact.d.ts +1 -7
  481. package/dist/esm/utils/getPriceImpact.d.ts.map +1 -1
  482. package/dist/esm/utils/input.d.ts +5 -0
  483. package/dist/esm/utils/input.d.ts.map +1 -0
  484. package/dist/esm/utils/navigationRoutes.d.ts.map +1 -1
  485. package/dist/esm/utils/percentFormatter.d.ts +5 -5
  486. package/dist/esm/utils/percentFormatter.d.ts.map +1 -1
  487. package/dist/esm/utils/tokenList.js +3 -6
  488. package/dist/esm/utils/tokenList.js.map +1 -1
  489. package/dist/esm/utils/wallet.d.ts +5 -0
  490. package/dist/esm/utils/wallet.d.ts.map +1 -0
  491. package/package.json +29 -21
  492. package/src/components/RouteCard/RouteTokens.tsx +3 -2
  493. package/src/components/SendToWallet/SendToWalletButton.tsx +27 -5
  494. package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +11 -0
  495. package/src/config/version.ts +1 -1
  496. package/src/hooks/useAccountsBalancesData.ts +4 -31
  497. package/src/hooks/useDisplayedTokens.ts +70 -0
  498. package/src/hooks/useListHeight.ts +4 -0
  499. package/src/hooks/useRoutes.ts +360 -325
  500. package/src/hooks/useTokenBalances.ts +8 -53
  501. package/src/hooks/useTokenBalancesQueries.ts +12 -4
  502. package/src/hooks/useTokenList.ts +59 -0
  503. package/src/hooks/useTransactionDetails.ts +1 -3
  504. package/src/providers/WalletProvider/WalletProvider.tsx +15 -3
  505. package/src/shared.ts +191 -0
  506. package/src/stores/form/createFormStore.ts +1 -0
  507. package/src/stores/form/types.ts +1 -0
  508. package/src/utils/tokenList.ts +4 -12
  509. package/dist/esm/hooks/useFilteredByTokenBalances.js +0 -74
  510. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +0 -1
  511. package/src/hooks/useFilteredByTokenBalances.ts +0 -145
@@ -0,0 +1,10 @@
1
+ import { RouteExtended } from "@lifi/sdk";
2
+ import { TypographyProps } from "@mui/material";
3
+ //#region src/components/TokenRate/TokenRate.d.ts
4
+ interface TokenRateProps extends TypographyProps {
5
+ route: RouteExtended;
6
+ }
7
+ declare const TokenRate: React.FC<TokenRateProps>;
8
+ //#endregion
9
+ export { TokenRate };
10
+ //# sourceMappingURL=TokenRate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenRate.d.ts","names":[],"sources":["../../../../src/components/TokenRate/TokenRate.tsx"],"mappings":";;;UAOU,uBAAuB;EAC/B,OAAO;;cAaI,WAAW,MAAM,GAAG"}
@@ -1 +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"}
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;EALhC,UAAA,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"}
@@ -1 +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"}
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;EAAjC,UAAA;GACE,oBAAC,gBAAD,EAAA,UACE,oBAAC,QAAD;IAAQ,KAAK,KAAK;IAAS,KAAK,KAAK;IAClC,UAAA,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"}
@@ -1 +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"}
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;EAEpB,UAAA,cAAc,KAAK,SAClB,oBAAC,UAAD;GAEQ;GACG;GACT,WAAW,aAAa,KAAK;GAC7B,UAAU,gBAAgB,KAAK;EAChC,GALM,KAAK,GAKX,CACF;CACG,CAAA;AAEV"}
@@ -1,4 +1,5 @@
1
1
  import { Card as Card$1 } from "../Card/Card.js";
2
+ import "../../stores/routes/types.js";
2
3
  import { CircularProgressPending } from "../Timer/StepStatusTimer.style.js";
3
4
  import { useActionMessage } from "../../hooks/useActionMessage.js";
4
5
  import { getExpiryTimestamp } from "../../utils/timer.js";
@@ -1 +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,CAAC,CAAC,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,EAAA,CAM+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"}
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;EAAxB,UAAA,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,CAAC,CAAC,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,EAAA,CAM+B;GACzB,SAAS,SAAS;GAClB,cACE,WACE,oBAAC,SAAD;IAAS,OAAO,EAAE,yBAAyB;IACzC,UAAA,oBAAC,cAAD;KAAc,MAAK;KAAQ,SAAS;KAClC,UAAA,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;IAC9C,UAAA,oBAAC,oBAAD,EACE,iBAAiB,mBAAmB,cAAc,EACnD,CAAA;GACS,CAAA,IACV,KAAA;EAEP,CAAA,GACD,oBAAC,aAAD,EAAoB,MAAQ,CAAA,CACxB;;AAEV"}
@@ -15,6 +15,15 @@ const DeleteButton = styled(IconButton)(({ theme }) => ({
15
15
  width: 24,
16
16
  height: 24
17
17
  }));
18
+ styled(IconButton)(({ theme }) => ({
19
+ fontWeight: 700,
20
+ fontSize: 12,
21
+ height: 24,
22
+ borderRadius: theme.vars.shape.borderRadius,
23
+ padding: theme.spacing(.5, 1.5),
24
+ color: theme.vars.palette.text.primary,
25
+ backgroundColor: theme.vars.palette.background.paper
26
+ }));
18
27
  //#endregion
19
28
  export { DeleteButton, PendingCircle };
20
29
 
@@ -1 +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,CAAC,EAAE,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,CAAC,EAAE,EAAE,aAAa;CACjC,SAAS,MAAM,QAAQ,EAAG;CAC1B,iBAAiB,MAAM,KAAK,QAAQ,WAAW;CAC/C,OAAO;CACP,QAAQ;AACV,EAAE"}
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\nexport const RetryButton: React.FC<React.ComponentProps<typeof IconButton>> =\n styled(IconButton)(({ theme }) => ({\n fontWeight: 700,\n fontSize: 12,\n height: 24,\n borderRadius: theme.vars.shape.borderRadius,\n padding: theme.spacing(0.5, 1.5),\n color: theme.vars.palette.text.primary,\n backgroundColor: theme.vars.palette.background.paper,\n }))\n"],"mappings":";;AAGA,MAAa,gBAA4D,OACvE,GACF,CAAC,EAAE,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,CAAC,EAAE,EAAE,aAAa;CACjC,SAAS,MAAM,QAAQ,EAAG;CAC1B,iBAAiB,MAAM,KAAK,QAAQ,WAAW;CAC/C,OAAO;CACP,QAAQ;AACV,EAAE;AAGF,OAAO,UAAU,CAAC,EAAE,EAAE,aAAa;CACjC,YAAY;CACZ,UAAU;CACV,QAAQ;CACR,cAAc,MAAM,KAAK,MAAM;CAC/B,SAAS,MAAM,QAAQ,IAAK,GAAG;CAC/B,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,iBAAiB,MAAM,KAAK,QAAQ,WAAW;AACjD,EAAE"}
@@ -1 +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"}
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;EACtB,UAAA,qBAAC,KAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,eAAe;IAAU,KAAK;GAAI;GAA9D,UAAA,CACE,qBAAC,oBAAD,EAAA,UAAA,CACE,oBAAC,eAAD;IAAe,OAAM;IAClB,UAAA,KAAK,eAAe,KAAK,UAAU,EAAE,WAAW,OAAO,CAAC;GAC5C,CAAA,GACf,oBAAC,eAAD;IAAe,OAAM;IAClB,UAAA,KAAK,eAAe,KAAK,UAAU,EAAE,WAAW,QAAQ,CAAC;GAC7C,CAAA,CACG,EAAA,CAAA,GACpB,oBAAC,aAAD,EAAoB,MAAQ,CAAA,CACzB;;CACD,CAAA;AAEV"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { Box, Typography } from "@mui/material";
3
+ //#region src/components/TransactionCard/TransactionCard.style.d.ts
4
+ declare const DateLabelContainer: React.FC<React.ComponentProps<typeof Box>>;
5
+ declare const DateLabelText: React.FC<React.ComponentProps<typeof Typography>>;
6
+ //#endregion
7
+ export { DateLabelContainer, DateLabelText };
8
+ //# sourceMappingURL=TransactionCard.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionCard.style.d.ts","names":[],"sources":["../../../../src/components/TransactionCard/TransactionCard.style.tsx"],"mappings":";;;cAGa,oBAAoB,MAAM,GAAG,MAAM,sBAAsB;cAMzD,eAAe,MAAM,GAAG,MAAM,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionCardSkeleton.js","names":["Card"],"sources":["../../../../src/components/TransactionCard/TransactionCardSkeleton.tsx"],"sourcesContent":["import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward'\nimport { Box, Skeleton } from '@mui/material'\nimport type { JSX } from 'react'\nimport { Card } from '../Card/Card.js'\nimport { TokenSkeleton } from '../Token/Token.js'\n\ninterface TransactionCardSkeletonProps {\n active?: boolean\n}\n\nexport const TransactionCardSkeleton = ({\n active,\n}: TransactionCardSkeletonProps): JSX.Element => {\n return (\n <Card indented>\n {active ? (\n <Skeleton\n variant=\"rectangular\"\n height={40}\n sx={(theme) => ({\n borderRadius: theme.vars.shape.borderRadiusTertiary,\n mb: 1.5,\n })}\n />\n ) : (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n pb: 1.5,\n }}\n >\n <Skeleton\n variant=\"rectangular\"\n width={96}\n height={18}\n sx={(theme) => ({\n borderRadius: theme.vars.shape.borderRadius,\n })}\n />\n <Skeleton\n variant=\"rectangular\"\n width={64}\n height={18}\n sx={(theme) => ({\n borderRadius: theme.vars.shape.borderRadius,\n })}\n />\n </Box>\n )}\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1.5 }}>\n <TokenSkeleton />\n <Box\n sx={{\n width: 40,\n height: 20,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <ArrowDownwardIcon sx={{ fontSize: 16, color: 'text.secondary' }} />\n </Box>\n <TokenSkeleton />\n </Box>\n </Card>\n )\n}\n"],"mappings":";;;;;;AAUA,MAAa,2BAA2B,EACtC,aAC+C;CAC/C,OACE,qBAACA,QAAD;EAAM,UAAA;YAAN,CACG,SACC,oBAAC,UAAD;GACE,SAAQ;GACR,QAAQ;GACR,KAAK,WAAW;IACd,cAAc,MAAM,KAAK,MAAM;IAC/B,IAAI;GACN;EACD,CAAA,IAED,qBAAC,KAAD;GACE,IAAI;IACF,SAAS;IACT,gBAAgB;IAChB,IAAI;GACN;aALF,CAOE,oBAAC,UAAD;IACE,SAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK,WAAW,EACd,cAAc,MAAM,KAAK,MAAM,aACjC;GACD,CAAA,GACD,oBAAC,UAAD;IACE,SAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK,WAAW,EACd,cAAc,MAAM,KAAK,MAAM,aACjC;GACD,CAAA,CACE;MAEP,qBAAC,KAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,eAAe;IAAU,KAAK;GAAI;aAA9D;IACE,oBAAC,eAAD,CAAgB,CAAA;IAChB,oBAAC,KAAD;KACE,IAAI;MACF,OAAO;MACP,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,gBAAgB;KAClB;eAEA,oBAAC,mBAAD,EAAmB,IAAI;MAAE,UAAU;MAAI,OAAO;KAAiB,EAAI,CAAA;IAChE,CAAA;IACL,oBAAC,eAAD,CAAgB,CAAA;GACb;IACD;;AAEV"}
1
+ {"version":3,"file":"TransactionCardSkeleton.js","names":["Card"],"sources":["../../../../src/components/TransactionCard/TransactionCardSkeleton.tsx"],"sourcesContent":["import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward'\nimport { Box, Skeleton } from '@mui/material'\nimport type { JSX } from 'react'\nimport { Card } from '../Card/Card.js'\nimport { TokenSkeleton } from '../Token/Token.js'\n\ninterface TransactionCardSkeletonProps {\n active?: boolean\n}\n\nexport const TransactionCardSkeleton = ({\n active,\n}: TransactionCardSkeletonProps): JSX.Element => {\n return (\n <Card indented>\n {active ? (\n <Skeleton\n variant=\"rectangular\"\n height={40}\n sx={(theme) => ({\n borderRadius: theme.vars.shape.borderRadiusTertiary,\n mb: 1.5,\n })}\n />\n ) : (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n pb: 1.5,\n }}\n >\n <Skeleton\n variant=\"rectangular\"\n width={96}\n height={18}\n sx={(theme) => ({\n borderRadius: theme.vars.shape.borderRadius,\n })}\n />\n <Skeleton\n variant=\"rectangular\"\n width={64}\n height={18}\n sx={(theme) => ({\n borderRadius: theme.vars.shape.borderRadius,\n })}\n />\n </Box>\n )}\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1.5 }}>\n <TokenSkeleton />\n <Box\n sx={{\n width: 40,\n height: 20,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <ArrowDownwardIcon sx={{ fontSize: 16, color: 'text.secondary' }} />\n </Box>\n <TokenSkeleton />\n </Box>\n </Card>\n )\n}\n"],"mappings":";;;;;;AAUA,MAAa,2BAA2B,EACtC,aAC+C;CAC/C,OACE,qBAACA,QAAD;EAAM,UAAA;EAAN,UAAA,CACG,SACC,oBAAC,UAAD;GACE,SAAQ;GACR,QAAQ;GACR,KAAK,WAAW;IACd,cAAc,MAAM,KAAK,MAAM;IAC/B,IAAI;GACN;EACD,CAAA,IAED,qBAAC,KAAD;GACE,IAAI;IACF,SAAS;IACT,gBAAgB;IAChB,IAAI;GACN;GALF,UAAA,CAOE,oBAAC,UAAD;IACE,SAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK,WAAW,EACd,cAAc,MAAM,KAAK,MAAM,aACjC;GACD,CAAA,GACD,oBAAC,UAAD;IACE,SAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK,WAAW,EACd,cAAc,MAAM,KAAK,MAAM,aACjC;GACD,CAAA,CACE;EAEP,CAAA,GAAA,qBAAC,KAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,eAAe;IAAU,KAAK;GAAI;GAA9D,UAAA;IACE,oBAAC,eAAD,CAAgB,CAAA;IAChB,oBAAC,KAAD;KACE,IAAI;MACF,OAAO;MACP,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,gBAAgB;KAClB;KAEA,UAAA,oBAAC,mBAAD,EAAmB,IAAI;MAAE,UAAU;MAAI,OAAO;KAAiB,EAAI,CAAA;IAChE,CAAA;IACL,oBAAC,eAAD,CAAgB,CAAA;GACb;EACD,CAAA,CAAA;;AAEV"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/config/constants.ts"],"mappings":";cAAa,gBAAA"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/config/constants.ts"],"mappings":";cAAa"}
@@ -1,6 +1,6 @@
1
1
  //#region src/config/version.d.ts
2
2
  declare const name = "@lifi/widget";
3
- declare const version = "4.3.1";
3
+ declare const version = "4.5.0";
4
4
  //#endregion
5
5
  export { name, version };
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","names":[],"sources":["../../../src/config/version.ts"],"mappings":";cAAa,IAAA;AAAA,cACA,OAAA"}
1
+ {"version":3,"file":"version.d.ts","names":[],"sources":["../../../src/config/version.ts"],"mappings":";cAAa;cACA"}
@@ -1,6 +1,6 @@
1
1
  //#region src/config/version.ts
2
2
  const name = "@lifi/widget";
3
- const version = "4.3.1";
3
+ const version = "4.5.0";
4
4
  //#endregion
5
5
  export { name, version };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../../../src/config/version.ts"],"sourcesContent":["export const name = '@lifi/widget'\nexport const version = '4.3.1'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../../src/config/version.ts"],"sourcesContent":["export const name = '@lifi/widget'\nexport const version = '4.5.0'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
@@ -1,17 +1,8 @@
1
1
  import { useChains } from "./useChains.js";
2
- import { useFilteredTokensByBalance } from "./useFilteredByTokenBalances.js";
3
2
  import { useMemo } from "react";
4
3
  import { useAccount } from "@lifi/wallet-management";
5
4
  //#region src/hooks/useAccountsBalancesData.ts
6
5
  const useAccountsBalancesData = (selectedChainId, formType, isAllNetworks, allTokens) => {
7
- const { data: accountsWithTokens, isLoading: isAccountsLoading } = useAccountsData(selectedChainId, formType, isAllNetworks, allTokens);
8
- const { data: filteredTokens, isLoading: isCachedBalancesLoading } = useFilteredTokensByBalance(accountsWithTokens, formType);
9
- return {
10
- data: filteredTokens,
11
- isLoading: isAccountsLoading || isCachedBalancesLoading
12
- };
13
- };
14
- const useAccountsData = (selectedChainId, formType, isAllNetworks, allTokens) => {
15
6
  const { chains: allChains, isLoading: isChainsLoading, getChainById } = useChains(formType);
16
7
  const currentChain = useMemo(() => {
17
8
  return selectedChainId ? getChainById(selectedChainId, allChains) : void 0;
@@ -43,15 +34,11 @@ const useAccountsData = (selectedChainId, formType, isAllNetworks, allTokens) =>
43
34
  const accountChains = chains?.filter((chain) => account.chainType === chain?.chainType);
44
35
  if (accountChains) {
45
36
  const chainIdSet = new Set(accountChains.map((chain) => chain.id));
46
- const filteredTokens = Object.entries(allTokens).reduce((tokenAcc, [chainIdStr, tokens]) => {
37
+ acc[account.address] = Object.entries(allTokens).reduce((tokenAcc, [chainIdStr, tokens]) => {
47
38
  const chainId = Number(chainIdStr);
48
39
  if (chainIdSet.has(chainId)) tokenAcc[chainId] = tokens;
49
40
  return tokenAcc;
50
41
  }, {});
51
- acc[account.address] = {
52
- chainType: account.chainType,
53
- tokens: filteredTokens
54
- };
55
42
  }
56
43
  }
57
44
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountsBalancesData.js","names":[],"sources":["../../../src/hooks/useAccountsBalancesData.ts"],"sourcesContent":["import type { ChainType, TokenExtended } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport { useMemo } from 'react'\nimport type { FormType } from '../stores/form/types.js'\nimport { useChains } from './useChains.js'\nimport { useFilteredTokensByBalance } from './useFilteredByTokenBalances.js'\n\nexport const useAccountsBalancesData = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n allTokens?: Record<number, TokenExtended[]>\n): {\n data: Record<string, Record<number, TokenExtended[]>> | undefined\n isLoading: boolean\n} => {\n const { data: accountsWithTokens, isLoading: isAccountsLoading } =\n useAccountsData(selectedChainId, formType, isAllNetworks, allTokens)\n\n // Filter out EVM tokens that do not have balances\n const { data: filteredTokens, isLoading: isCachedBalancesLoading } =\n useFilteredTokensByBalance(accountsWithTokens, formType)\n\n return {\n data: filteredTokens,\n isLoading: isAccountsLoading || isCachedBalancesLoading,\n }\n}\n\nconst useAccountsData = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n allTokens?: Record<number, TokenExtended[]>\n) => {\n const {\n chains: allChains,\n isLoading: isChainsLoading,\n getChainById,\n } = useChains(formType)\n const currentChain = useMemo(() => {\n return selectedChainId\n ? getChainById(selectedChainId, allChains)\n : undefined\n }, [selectedChainId, allChains, getChainById])\n const chains = useMemo(() => {\n return isAllNetworks ? allChains : currentChain ? [currentChain] : undefined\n }, [allChains, isAllNetworks, currentChain])\n\n const { accounts: allAccounts, account: currentAccount } = useAccount(\n isAllNetworks ? undefined : { chainType: currentChain?.chainType }\n )\n const accounts = useMemo(() => {\n return isAllNetworks\n ? allAccounts\n : currentAccount\n ? [currentAccount]\n : undefined\n }, [allAccounts, currentAccount, isAllNetworks])\n\n const accountsWithTokens = useMemo(() => {\n if (!chains || !allTokens || !accounts?.length) {\n return undefined\n }\n return accounts\n ?.filter((account) => account.address)\n .reduce(\n (acc, account) => {\n if (account.address) {\n const accountChains = chains?.filter(\n (chain) => account.chainType === chain?.chainType\n )\n if (accountChains) {\n const chainIdSet = new Set(accountChains.map((chain) => chain.id))\n const filteredTokens = Object.entries(allTokens).reduce(\n (tokenAcc, [chainIdStr, tokens]) => {\n const chainId = Number(chainIdStr)\n if (chainIdSet.has(chainId)) {\n tokenAcc[chainId] = tokens\n }\n return tokenAcc\n },\n {} as { [chainId: number]: TokenExtended[] }\n )\n acc[account.address] = {\n chainType: account.chainType,\n tokens: filteredTokens,\n }\n }\n }\n return acc\n },\n {} as Record<\n string,\n { chainType: ChainType; tokens: Record<number, TokenExtended[]> }\n >\n )\n }, [accounts, chains, allTokens])\n\n return {\n data: accountsWithTokens,\n isLoading: isChainsLoading,\n }\n}\n"],"mappings":";;;;;AAOA,MAAa,2BACX,iBACA,UACA,eACA,cAIG;CACH,MAAM,EAAE,MAAM,oBAAoB,WAAW,sBAC3C,gBAAgB,iBAAiB,UAAU,eAAe,SAAS;CAGrE,MAAM,EAAE,MAAM,gBAAgB,WAAW,4BACvC,2BAA2B,oBAAoB,QAAQ;CAEzD,OAAO;EACL,MAAM;EACN,WAAW,qBAAqB;CAClC;AACF;AAEA,MAAM,mBACJ,iBACA,UACA,eACA,cACG;CACH,MAAM,EACJ,QAAQ,WACR,WAAW,iBACX,iBACE,UAAU,QAAQ;CACtB,MAAM,eAAe,cAAc;EACjC,OAAO,kBACH,aAAa,iBAAiB,SAAS,IACvC,KAAA;CACN,GAAG;EAAC;EAAiB;EAAW;CAAY,CAAC;CAC7C,MAAM,SAAS,cAAc;EAC3B,OAAO,gBAAgB,YAAY,eAAe,CAAC,YAAY,IAAI,KAAA;CACrE,GAAG;EAAC;EAAW;EAAe;CAAY,CAAC;CAE3C,MAAM,EAAE,UAAU,aAAa,SAAS,mBAAmB,WACzD,gBAAgB,KAAA,IAAY,EAAE,WAAW,cAAc,UAAU,CACnE;CACA,MAAM,WAAW,cAAc;EAC7B,OAAO,gBACH,cACA,iBACE,CAAC,cAAc,IACf,KAAA;CACR,GAAG;EAAC;EAAa;EAAgB;CAAa,CAAC;CAyC/C,OAAO;EACL,MAxCyB,cAAc;GACvC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,QACtC;GAEF,OAAO,UACH,QAAQ,YAAY,QAAQ,OAAO,CAAC,CACrC,QACE,KAAK,YAAY;IAChB,IAAI,QAAQ,SAAS;KACnB,MAAM,gBAAgB,QAAQ,QAC3B,UAAU,QAAQ,cAAc,OAAO,SAC1C;KACA,IAAI,eAAe;MACjB,MAAM,aAAa,IAAI,IAAI,cAAc,KAAK,UAAU,MAAM,EAAE,CAAC;MACjE,MAAM,iBAAiB,OAAO,QAAQ,SAAS,CAAC,CAAC,QAC9C,UAAU,CAAC,YAAY,YAAY;OAClC,MAAM,UAAU,OAAO,UAAU;OACjC,IAAI,WAAW,IAAI,OAAO,GACxB,SAAS,WAAW;OAEtB,OAAO;MACT,GACA,CAAC,CACH;MACA,IAAI,QAAQ,WAAW;OACrB,WAAW,QAAQ;OACnB,QAAQ;MACV;KACF;IACF;IACA,OAAO;GACT,GACA,CAAC,CAIH;EACJ,GAAG;GAAC;GAAU;GAAQ;EAAS,CAGN;EACvB,WAAW;CACb;AACF"}
1
+ {"version":3,"file":"useAccountsBalancesData.js","names":[],"sources":["../../../src/hooks/useAccountsBalancesData.ts"],"sourcesContent":["import type { TokenExtended } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport { useMemo } from 'react'\nimport type { FormType } from '../stores/form/types.js'\nimport { useChains } from './useChains.js'\n\nexport const useAccountsBalancesData = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n allTokens?: Record<number, TokenExtended[]>\n): {\n data: Record<string, Record<number, TokenExtended[]>> | undefined\n isLoading: boolean\n} => {\n const {\n chains: allChains,\n isLoading: isChainsLoading,\n getChainById,\n } = useChains(formType)\n const currentChain = useMemo(() => {\n return selectedChainId\n ? getChainById(selectedChainId, allChains)\n : undefined\n }, [selectedChainId, allChains, getChainById])\n const chains = useMemo(() => {\n return isAllNetworks ? allChains : currentChain ? [currentChain] : undefined\n }, [allChains, isAllNetworks, currentChain])\n\n const { accounts: allAccounts, account: currentAccount } = useAccount(\n isAllNetworks ? undefined : { chainType: currentChain?.chainType }\n )\n const accounts = useMemo(() => {\n return isAllNetworks\n ? allAccounts\n : currentAccount\n ? [currentAccount]\n : undefined\n }, [allAccounts, currentAccount, isAllNetworks])\n\n const accountsWithTokens = useMemo(() => {\n if (!chains || !allTokens || !accounts?.length) {\n return undefined\n }\n return accounts\n ?.filter((account) => account.address)\n .reduce(\n (acc, account) => {\n if (account.address) {\n const accountChains = chains?.filter(\n (chain) => account.chainType === chain?.chainType\n )\n if (accountChains) {\n const chainIdSet = new Set(accountChains.map((chain) => chain.id))\n acc[account.address] = Object.entries(allTokens).reduce(\n (tokenAcc, [chainIdStr, tokens]) => {\n const chainId = Number(chainIdStr)\n if (chainIdSet.has(chainId)) {\n tokenAcc[chainId] = tokens\n }\n return tokenAcc\n },\n {} as Record<number, TokenExtended[]>\n )\n }\n }\n return acc\n },\n {} as Record<string, Record<number, TokenExtended[]>>\n )\n }, [accounts, chains, allTokens])\n\n return {\n data: accountsWithTokens,\n isLoading: isChainsLoading,\n }\n}\n"],"mappings":";;;;AAMA,MAAa,2BACX,iBACA,UACA,eACA,cAIG;CACH,MAAM,EACJ,QAAQ,WACR,WAAW,iBACX,iBACE,UAAU,QAAQ;CACtB,MAAM,eAAe,cAAc;EACjC,OAAO,kBACH,aAAa,iBAAiB,SAAS,IACvC,KAAA;CACN,GAAG;EAAC;EAAiB;EAAW;CAAY,CAAC;CAC7C,MAAM,SAAS,cAAc;EAC3B,OAAO,gBAAgB,YAAY,eAAe,CAAC,YAAY,IAAI,KAAA;CACrE,GAAG;EAAC;EAAW;EAAe;CAAY,CAAC;CAE3C,MAAM,EAAE,UAAU,aAAa,SAAS,mBAAmB,WACzD,gBAAgB,KAAA,IAAY,EAAE,WAAW,cAAc,UAAU,CACnE;CACA,MAAM,WAAW,cAAc;EAC7B,OAAO,gBACH,cACA,iBACE,CAAC,cAAc,IACf,KAAA;CACR,GAAG;EAAC;EAAa;EAAgB;CAAa,CAAC;CAkC/C,OAAO;EACL,MAjCyB,cAAc;GACvC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,QACtC;GAEF,OAAO,UACH,QAAQ,YAAY,QAAQ,OAAO,CAAC,CACrC,QACE,KAAK,YAAY;IAChB,IAAI,QAAQ,SAAS;KACnB,MAAM,gBAAgB,QAAQ,QAC3B,UAAU,QAAQ,cAAc,OAAO,SAC1C;KACA,IAAI,eAAe;MACjB,MAAM,aAAa,IAAI,IAAI,cAAc,KAAK,UAAU,MAAM,EAAE,CAAC;MACjE,IAAI,QAAQ,WAAW,OAAO,QAAQ,SAAS,CAAC,CAAC,QAC9C,UAAU,CAAC,YAAY,YAAY;OAClC,MAAM,UAAU,OAAO,UAAU;OACjC,IAAI,WAAW,IAAI,OAAO,GACxB,SAAS,WAAW;OAEtB,OAAO;MACT,GACA,CAAC,CACH;KACF;IACF;IACA,OAAO;GACT,GACA,CAAC,CACH;EACJ,GAAG;GAAC;GAAU;GAAQ;EAAS,CAGN;EACvB,WAAW;CACb;AACF"}
@@ -0,0 +1,11 @@
1
+ //#region src/hooks/useAddressActivity.d.ts
2
+ interface AddressActivity {
3
+ hasActivity: boolean;
4
+ isLoading: boolean;
5
+ isFetched: boolean;
6
+ toAddress: string | undefined;
7
+ }
8
+ declare const useAddressActivity: (chainId?: number) => AddressActivity;
9
+ //#endregion
10
+ export { useAddressActivity };
11
+ //# sourceMappingURL=useAddressActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddressActivity.d.ts","names":[],"sources":["../../../src/hooks/useAddressActivity.ts"],"mappings":";UAMU;EACR;EACA;EACA;EACA;;cAEW,qBAAsB,qBAAmB"}
@@ -0,0 +1,28 @@
1
+ import { Chain, ChainType } from "@lifi/sdk";
2
+ //#region src/hooks/useAddressValidation.d.ts
3
+ declare enum AddressType {
4
+ Address = 0,
5
+ NameService = 1
6
+ }
7
+ type ValidationArgs = {
8
+ value: string;
9
+ chainType?: ChainType;
10
+ chain?: Chain;
11
+ };
12
+ type ValidResponse = {
13
+ address: string;
14
+ addressType: AddressType;
15
+ chainType: ChainType;
16
+ isValid: true;
17
+ };
18
+ type InvalidResponse = {
19
+ error: string;
20
+ isValid: false;
21
+ };
22
+ declare const useAddressValidation: () => {
23
+ validateAddress: (args: ValidationArgs) => Promise<ValidResponse | InvalidResponse>;
24
+ isValidating: boolean;
25
+ };
26
+ //#endregion
27
+ export { AddressType, useAddressValidation };
28
+ //# sourceMappingURL=useAddressValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddressValidation.d.ts","names":[],"sources":["../../../src/hooks/useAddressValidation.ts"],"mappings":";;aAOY;EACV;EACA;;KAGG;EACH;EACA,YAAY;EACZ,QAAQ;;KAGL;EACH;EACA,aAAa;EACb,WAAW;EACX;;KAGG;EACH;EACA;;cAGW;EACX,kBACE,MAAM,mBACH,QAAQ,gBAAgB;EAC7B"}
@@ -4,6 +4,11 @@ import { useTranslation } from "react-i18next";
4
4
  import { useMutation } from "@tanstack/react-query";
5
5
  import { useChainTypeFromAddress } from "@lifi/widget-provider";
6
6
  //#region src/hooks/useAddressValidation.ts
7
+ let AddressType = /* @__PURE__ */ function(AddressType) {
8
+ AddressType[AddressType["Address"] = 0] = "Address";
9
+ AddressType[AddressType["NameService"] = 1] = "NameService";
10
+ return AddressType;
11
+ }({});
7
12
  const useAddressValidation = () => {
8
13
  const { t } = useTranslation();
9
14
  const { getChainTypeFromAddress } = useChainTypeFromAddress();
@@ -45,6 +50,6 @@ const useAddressValidation = () => {
45
50
  };
46
51
  };
47
52
  //#endregion
48
- export { useAddressValidation };
53
+ export { AddressType, useAddressValidation };
49
54
 
50
55
  //# sourceMappingURL=useAddressValidation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAddressValidation.js","names":[],"sources":["../../../src/hooks/useAddressValidation.ts"],"sourcesContent":["import type { Chain, ChainType } from '@lifi/sdk'\nimport { getNameServiceAddress } from '@lifi/sdk'\nimport { useChainTypeFromAddress } from '@lifi/widget-provider'\nimport { useMutation } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\n\nexport enum AddressType {\n Address = 0,\n NameService = 1,\n}\n\ntype ValidationArgs = {\n value: string\n chainType?: ChainType\n chain?: Chain\n}\n\ntype ValidResponse = {\n address: string\n addressType: AddressType\n chainType: ChainType\n isValid: true\n}\n\ntype InvalidResponse = {\n error: string\n isValid: false\n}\n\nexport const useAddressValidation = (): {\n validateAddress: (\n args: ValidationArgs\n ) => Promise<ValidResponse | InvalidResponse>\n isValidating: boolean\n} => {\n const { t } = useTranslation()\n const { getChainTypeFromAddress } = useChainTypeFromAddress()\n const sdkClient = useSDKClient()\n\n const { mutateAsync: validateAddress, isPending: isValidating } = useMutation(\n {\n mutationFn: async ({\n value,\n chainType,\n chain,\n }: ValidationArgs): Promise<ValidResponse | InvalidResponse> => {\n try {\n if (!value) {\n throw new Error()\n }\n\n const _chainType = getChainTypeFromAddress(value)\n if (_chainType) {\n return {\n address: value,\n addressType: AddressType.Address,\n chainType: _chainType,\n isValid: true,\n }\n }\n\n const address = await getNameServiceAddress(\n sdkClient,\n value,\n chainType\n )\n\n if (address) {\n const _chainType = getChainTypeFromAddress(address)\n if (_chainType) {\n return {\n address: address,\n addressType: AddressType.NameService,\n chainType: _chainType,\n isValid: true,\n }\n }\n }\n\n throw new Error()\n } catch (_) {\n return {\n isValid: false,\n error: t(\n 'error.title.walletAddressInvalid',\n chain?.name\n ? { context: 'chain', chainName: chain.name }\n : undefined\n ),\n }\n }\n },\n }\n )\n\n return {\n validateAddress,\n isValidating,\n }\n}\n"],"mappings":";;;;;;AA8BA,MAAa,6BAKR;CACH,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,4BAA4B,wBAAwB;CAC5D,MAAM,YAAY,aAAa;CAE/B,MAAM,EAAE,aAAa,iBAAiB,WAAW,iBAAiB,YAChE,EACE,YAAY,OAAO,EACjB,OACA,WACA,YAC8D;EAC9D,IAAI;GACF,IAAI,CAAC,OACH,MAAM,IAAI,MAAM;GAGlB,MAAM,aAAa,wBAAwB,KAAK;GAChD,IAAI,YACF,OAAO;IACL,SAAS;IACT,aAAA;IACA,WAAW;IACX,SAAS;GACX;GAGF,MAAM,UAAU,MAAM,sBACpB,WACA,OACA,SACF;GAEA,IAAI,SAAS;IACX,MAAM,aAAa,wBAAwB,OAAO;IAClD,IAAI,YACF,OAAO;KACI;KACT,aAAA;KACA,WAAW;KACX,SAAS;IACX;GAEJ;GAEA,MAAM,IAAI,MAAM;EAClB,SAAS,GAAG;GACV,OAAO;IACL,SAAS;IACT,OAAO,EACL,oCACA,OAAO,OACH;KAAE,SAAS;KAAS,WAAW,MAAM;IAAK,IAC1C,KAAA,CACN;GACF;EACF;CACF,EACF,CACF;CAEA,OAAO;EACL;EACA;CACF;AACF"}
1
+ {"version":3,"file":"useAddressValidation.js","names":[],"sources":["../../../src/hooks/useAddressValidation.ts"],"sourcesContent":["import type { Chain, ChainType } from '@lifi/sdk'\nimport { getNameServiceAddress } from '@lifi/sdk'\nimport { useChainTypeFromAddress } from '@lifi/widget-provider'\nimport { useMutation } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\n\nexport enum AddressType {\n Address = 0,\n NameService = 1,\n}\n\ntype ValidationArgs = {\n value: string\n chainType?: ChainType\n chain?: Chain\n}\n\ntype ValidResponse = {\n address: string\n addressType: AddressType\n chainType: ChainType\n isValid: true\n}\n\ntype InvalidResponse = {\n error: string\n isValid: false\n}\n\nexport const useAddressValidation = (): {\n validateAddress: (\n args: ValidationArgs\n ) => Promise<ValidResponse | InvalidResponse>\n isValidating: boolean\n} => {\n const { t } = useTranslation()\n const { getChainTypeFromAddress } = useChainTypeFromAddress()\n const sdkClient = useSDKClient()\n\n const { mutateAsync: validateAddress, isPending: isValidating } = useMutation(\n {\n mutationFn: async ({\n value,\n chainType,\n chain,\n }: ValidationArgs): Promise<ValidResponse | InvalidResponse> => {\n try {\n if (!value) {\n throw new Error()\n }\n\n const _chainType = getChainTypeFromAddress(value)\n if (_chainType) {\n return {\n address: value,\n addressType: AddressType.Address,\n chainType: _chainType,\n isValid: true,\n }\n }\n\n const address = await getNameServiceAddress(\n sdkClient,\n value,\n chainType\n )\n\n if (address) {\n const _chainType = getChainTypeFromAddress(address)\n if (_chainType) {\n return {\n address: address,\n addressType: AddressType.NameService,\n chainType: _chainType,\n isValid: true,\n }\n }\n }\n\n throw new Error()\n } catch (_) {\n return {\n isValid: false,\n error: t(\n 'error.title.walletAddressInvalid',\n chain?.name\n ? { context: 'chain', chainName: chain.name }\n : undefined\n ),\n }\n }\n },\n }\n )\n\n return {\n validateAddress,\n isValidating,\n }\n}\n"],"mappings":";;;;;;AAOA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,YAAA,aAAA,KAAA;CACA,YAAA,YAAA,iBAAA,KAAA;;AACF,EAAA,CAAA,CAAA;AAoBA,MAAa,6BAKR;CACH,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,4BAA4B,wBAAwB;CAC5D,MAAM,YAAY,aAAa;CAE/B,MAAM,EAAE,aAAa,iBAAiB,WAAW,iBAAiB,YAChE,EACE,YAAY,OAAO,EACjB,OACA,WACA,YAC8D;EAC9D,IAAI;GACF,IAAI,CAAC,OACH,MAAM,IAAI,MAAM;GAGlB,MAAM,aAAa,wBAAwB,KAAK;GAChD,IAAI,YACF,OAAO;IACL,SAAS;IACT,aAAA;IACA,WAAW;IACX,SAAS;GACX;GAGF,MAAM,UAAU,MAAM,sBACpB,WACA,OACA,SACF;GAEA,IAAI,SAAS;IACX,MAAM,aAAa,wBAAwB,OAAO;IAClD,IAAI,YACF,OAAO;KACI;KACT,aAAA;KACA,WAAW;KACX,SAAS;IACX;GAEJ;GAEA,MAAM,IAAI,MAAM;EAClB,SAAS,GAAG;GACV,OAAO;IACL,SAAS;IACT,OAAO,EACL,oCACA,OAAO,OACH;KAAE,SAAS;KAAS,WAAW,MAAM;IAAK,IAC1C,KAAA,CACN;GACF;EACF;CACF,EACF,CACF;CAEA,OAAO;EACL;EACA;CACF;AACF"}
@@ -0,0 +1,12 @@
1
+ import { WidgetConfig } from "../types/widget.js";
2
+ import { ChainType, ExtendedChain } from "@lifi/sdk";
3
+ //#region src/hooks/useAvailableChains.d.ts
4
+ type GetChainById = (chainId?: number, chains?: ExtendedChain[]) => ExtendedChain | undefined;
5
+ declare const useAvailableChains: (chainTypes?: ChainType[], widgetConfig?: WidgetConfig) => {
6
+ chains: ExtendedChain[] | undefined;
7
+ getChainById: GetChainById;
8
+ isLoading: boolean;
9
+ };
10
+ //#endregion
11
+ export { useAvailableChains };
12
+ //# sourceMappingURL=useAvailableChains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAvailableChains.d.ts","names":[],"sources":["../../../src/hooks/useAvailableChains.ts"],"mappings":";;;KAUK,gBACH,kBACA,SAAS,oBACN;cAUQ,qBACX,aAAa,aACb,eAAe;EAEf,QAAQ;EACR,cAAc;EACd"}
@@ -0,0 +1,10 @@
1
+ import { ExtendedChain } from "@lifi/sdk";
2
+ //#region src/hooks/useChain.d.ts
3
+ declare const useChain: (chainId?: number) => {
4
+ chain: ExtendedChain | undefined;
5
+ isLoading: boolean;
6
+ getChainById: (chainId?: number, chains?: ExtendedChain[]) => ExtendedChain | undefined;
7
+ };
8
+ //#endregion
9
+ export { useChain };
10
+ //# sourceMappingURL=useChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChain.d.ts","names":[],"sources":["../../../src/hooks/useChain.ts"],"mappings":";;cAIa,WACX;EAEA,OAAO;EACP;EACA,eACE,kBACA,SAAS,oBACN"}
@@ -0,0 +1,5 @@
1
+ //#region src/hooks/useContactSupport.d.ts
2
+ declare const useContactSupport: (supportId?: string) => (() => void);
3
+ //#endregion
4
+ export { useContactSupport };
5
+ //# sourceMappingURL=useContactSupport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContactSupport.d.ts","names":[],"sources":["../../../src/hooks/useContactSupport.ts"],"mappings":";cAGa,oBAAqB"}
@@ -0,0 +1,6 @@
1
+ import { FormFieldArray, FormFieldNames } from "../stores/form/types.js";
2
+ //#region src/hooks/useDebouncedWatch.d.ts
3
+ declare const useDebouncedWatch: <T extends FormFieldNames[]>(delay: number, ...name: T) => FormFieldArray<T>;
4
+ //#endregion
5
+ export { useDebouncedWatch };
6
+ //# sourceMappingURL=useDebouncedWatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebouncedWatch.d.ts","names":[],"sources":["../../../src/hooks/useDebouncedWatch.ts"],"mappings":";;cAIa,oBAAqB,UAAU,kBAC1C,kBACG,MAAM,MACR,eAAe"}
@@ -0,0 +1,48 @@
1
+ import { useTokens } from "./useTokens.js";
2
+ import { isSearchMatch } from "../utils/tokenList.js";
3
+ import { usePinnedTokensStore } from "../stores/pinnedTokens/PinnedTokensStore.js";
4
+ import { useMemo } from "react";
5
+ //#region src/hooks/useDisplayedTokens.ts
6
+ const useDisplayedTokens = (selectedChainId, formType, isAllNetworks, search) => {
7
+ const { allTokens, isLoading: isTokensLoading, isSearchLoading } = useTokens(formType, search, isAllNetworks ? void 0 : selectedChainId);
8
+ const pinnedTokens = usePinnedTokensStore((state) => state.pinnedTokens);
9
+ const isPinnedToken = useMemo(() => {
10
+ if (isAllNetworks) {
11
+ const pinnedSet = /* @__PURE__ */ new Set();
12
+ Object.entries(pinnedTokens).forEach(([chainIdStr, addresses]) => {
13
+ const chainId = Number.parseInt(chainIdStr, 10);
14
+ addresses.forEach((address) => {
15
+ pinnedSet.add(`${chainId}-${address.toLowerCase()}`);
16
+ });
17
+ });
18
+ return (chainId, tokenAddress) => pinnedSet.has(`${chainId}-${tokenAddress.toLowerCase()}`);
19
+ }
20
+ if (selectedChainId) {
21
+ const chainPinnedTokens = pinnedTokens[selectedChainId] || [];
22
+ const pinnedSet = new Set(chainPinnedTokens.map((addr) => addr.toLowerCase()));
23
+ return (chainId, tokenAddress) => chainId === selectedChainId && pinnedSet.has(tokenAddress.toLowerCase());
24
+ }
25
+ }, [
26
+ isAllNetworks,
27
+ selectedChainId,
28
+ pinnedTokens
29
+ ]);
30
+ return {
31
+ allTokens,
32
+ displayedTokensList: useMemo(() => {
33
+ return (isAllNetworks ? Object.values(allTokens ?? {}).flat() : selectedChainId ? allTokens?.[selectedChainId] : void 0)?.filter((t) => isSearchMatch(t, search)) ?? [];
34
+ }, [
35
+ allTokens,
36
+ isAllNetworks,
37
+ selectedChainId,
38
+ search
39
+ ]),
40
+ isPinnedToken,
41
+ isTokensLoading,
42
+ isSearchLoading
43
+ };
44
+ };
45
+ //#endregion
46
+ export { useDisplayedTokens };
47
+
48
+ //# sourceMappingURL=useDisplayedTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisplayedTokens.js","names":[],"sources":["../../../src/hooks/useDisplayedTokens.ts"],"sourcesContent":["import type { TokenExtended } from '@lifi/sdk'\nimport { useMemo } from 'react'\nimport type { FormType } from '../stores/form/types.js'\nimport { usePinnedTokensStore } from '../stores/pinnedTokens/PinnedTokensStore.js'\nimport { isSearchMatch } from '../utils/tokenList.js'\nimport { useTokens } from './useTokens.js'\n\nexport type IsPinnedToken = (chainId: number, tokenAddress: string) => boolean\n\n// Balance-free core shared by useTokenList and useTokenBalances.\nexport const useDisplayedTokens = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n search?: string\n): {\n allTokens: Record<number, TokenExtended[]> | undefined\n displayedTokensList: TokenExtended[]\n isPinnedToken: IsPinnedToken | undefined\n isTokensLoading: boolean\n isSearchLoading: boolean\n} => {\n const {\n allTokens,\n isLoading: isTokensLoading,\n isSearchLoading,\n } = useTokens(formType, search, isAllNetworks ? undefined : selectedChainId)\n\n const pinnedTokens = usePinnedTokensStore((state) => state.pinnedTokens)\n\n const isPinnedToken = useMemo<IsPinnedToken | undefined>(() => {\n if (isAllNetworks) {\n const pinnedSet = new Set<string>()\n Object.entries(pinnedTokens).forEach(([chainIdStr, addresses]) => {\n const chainId = Number.parseInt(chainIdStr, 10)\n addresses.forEach((address) => {\n pinnedSet.add(`${chainId}-${address.toLowerCase()}`)\n })\n })\n return (chainId, tokenAddress) =>\n pinnedSet.has(`${chainId}-${tokenAddress.toLowerCase()}`)\n }\n if (selectedChainId) {\n const chainPinnedTokens = pinnedTokens[selectedChainId] || []\n const pinnedSet = new Set(\n chainPinnedTokens.map((addr) => addr.toLowerCase())\n )\n return (chainId, tokenAddress) =>\n chainId === selectedChainId && pinnedSet.has(tokenAddress.toLowerCase())\n }\n return undefined\n }, [isAllNetworks, selectedChainId, pinnedTokens])\n\n const displayedTokensList = useMemo(() => {\n const tokensByChain = isAllNetworks\n ? Object.values(allTokens ?? {}).flat()\n : selectedChainId\n ? allTokens?.[selectedChainId]\n : undefined\n return tokensByChain?.filter((t) => isSearchMatch(t, search)) ?? []\n }, [allTokens, isAllNetworks, selectedChainId, search])\n\n return {\n allTokens,\n displayedTokensList,\n isPinnedToken,\n isTokensLoading,\n isSearchLoading,\n }\n}\n"],"mappings":";;;;;AAUA,MAAa,sBACX,iBACA,UACA,eACA,WAOG;CACH,MAAM,EACJ,WACA,WAAW,iBACX,oBACE,UAAU,UAAU,QAAQ,gBAAgB,KAAA,IAAY,eAAe;CAE3E,MAAM,eAAe,sBAAsB,UAAU,MAAM,YAAY;CAEvE,MAAM,gBAAgB,cAAyC;EAC7D,IAAI,eAAe;GACjB,MAAM,4BAAY,IAAI,IAAY;GAClC,OAAO,QAAQ,YAAY,CAAC,CAAC,SAAS,CAAC,YAAY,eAAe;IAChE,MAAM,UAAU,OAAO,SAAS,YAAY,EAAE;IAC9C,UAAU,SAAS,YAAY;KAC7B,UAAU,IAAI,GAAG,QAAQ,GAAG,QAAQ,YAAY,GAAG;IACrD,CAAC;GACH,CAAC;GACD,QAAQ,SAAS,iBACf,UAAU,IAAI,GAAG,QAAQ,GAAG,aAAa,YAAY,GAAG;EAC5D;EACA,IAAI,iBAAiB;GACnB,MAAM,oBAAoB,aAAa,oBAAoB,CAAC;GAC5D,MAAM,YAAY,IAAI,IACpB,kBAAkB,KAAK,SAAS,KAAK,YAAY,CAAC,CACpD;GACA,QAAQ,SAAS,iBACf,YAAY,mBAAmB,UAAU,IAAI,aAAa,YAAY,CAAC;EAC3E;CAEF,GAAG;EAAC;EAAe;EAAiB;CAAY,CAAC;CAWjD,OAAO;EACL;EACA,qBAX0B,cAAc;GAMxC,QALsB,gBAClB,OAAO,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,IACpC,kBACE,YAAY,mBACZ,KAAA,EAAA,EACgB,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;EACpE,GAAG;GAAC;GAAW;GAAe;GAAiB;EAAM,CAIjC;EAClB;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,14 @@
1
+ import { Chain } from "@lifi/sdk";
2
+ //#region src/hooks/useExplorer.d.ts
3
+ type TransactionLinkProps = {
4
+ chain?: Chain | number;
5
+ txHash?: string;
6
+ txLink?: string;
7
+ };
8
+ declare const useExplorer: () => {
9
+ getTransactionLink: (props: TransactionLinkProps) => string | undefined;
10
+ getAddressLink: (address: string, chain?: Chain | number) => string;
11
+ };
12
+ //#endregion
13
+ export { useExplorer };
14
+ //# sourceMappingURL=useExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExplorer.d.ts","names":[],"sources":["../../../src/hooks/useExplorer.ts"],"mappings":";;KAiBK;EACH,QAAQ;EACR;EACA;;cAGW;EACX,qBAAqB,OAAO;EAC5B,iBAAiB,iBAAiB,QAAQ"}
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/hooks/useHeader.d.ts
3
+ declare function useHeader(title: string, action?: ReactNode): void;
4
+ //#endregion
5
+ export { useHeader };
6
+ //# sourceMappingURL=useHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHeader.d.ts","names":[],"sources":["../../../src/hooks/useHeader.ts"],"mappings":";;iBAIgB,UAAU,eAAe,SAAS"}
@@ -0,0 +1,12 @@
1
+ import { RefObject } from "react";
2
+ //#region src/hooks/useListHeight.d.ts
3
+ interface UseContentHeightProps {
4
+ listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>;
5
+ headerRef?: RefObject<HTMLElement | null>;
6
+ }
7
+ declare const useListHeight: ({ listParentRef, headerRef }: UseContentHeightProps) => {
8
+ listHeight: number;
9
+ };
10
+ //#endregion
11
+ export { useListHeight };
12
+ //# sourceMappingURL=useListHeight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListHeight.d.ts","names":[],"sources":["../../../src/hooks/useListHeight.ts"],"mappings":";;UAoDU;EACR,eAAe,UAAU,mBAAmB;EAC5C,YAAY,UAAU;;cAUX,kBACX,eACA,aACC;EAA0B"}
@@ -14,6 +14,7 @@ const getContentHeight = (elementId, listParentRef) => {
14
14
  }
15
15
  if (!containerElement || !headerElement) {
16
16
  console.warn(`Can't find widget-scrollable-container or widget-header id.`);
17
+ if (listParentElement && oldHeight !== void 0) listParentElement.style.height = oldHeight;
17
18
  return 0;
18
19
  }
19
20
  const { height: containerHeight } = containerElement.getBoundingClientRect();
@@ -1 +1 @@
1
- {"version":3,"file":"useListHeight.js","names":[],"sources":["../../../src/hooks/useListHeight.ts"],"sourcesContent":["import { debounce, useTheme } from '@mui/material'\nimport type { RefObject } from 'react'\nimport { useLayoutEffect, useState } from 'react'\nimport {\n ElementId,\n getAppContainer,\n getHeaderElement,\n getScrollableContainer,\n} from '../utils/elements.js'\nimport { useDefaultElementId } from './useDefaultElementId.js'\n\nconst getContentHeight = (\n elementId: string,\n listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>\n) => {\n const containerElement = getScrollableContainer(elementId)\n\n const headerElement = getHeaderElement(elementId)\n\n const listParentElement = listParentRef?.current\n\n let oldHeight: string | undefined\n\n // This covers the case where in full height flex mode when the browser height is reduced\n // - this allows a virtualised list to be made smaller\n if (listParentElement) {\n oldHeight = listParentElement.style.height\n listParentElement.style.height = '0'\n }\n\n if (!containerElement || !headerElement) {\n console.warn(\n `Can't find ${ElementId.ScrollableContainer} or ${ElementId.Header} id.`\n )\n return 0\n }\n const { height: containerHeight } = containerElement.getBoundingClientRect()\n const { height: headerHeight } = headerElement.getBoundingClientRect()\n\n // This covers the case where in full height flex mode when the browser height is reduced the\n // - this allows a virtualised list to be set to minimum size\n if (listParentElement && oldHeight) {\n listParentElement.style.height = oldHeight\n }\n\n return containerHeight - headerHeight\n}\n\ninterface UseContentHeightProps {\n listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>\n headerRef?: RefObject<HTMLElement | null>\n}\n\nconst defaultMinListHeight = 360\nconst minMobileListHeight = 160\n\n// NOTE: this hook is implicitly tied to the widget height functionality in the\n// AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts\n// CSS changes in those components can have implications for the functionality in this hook\n\nexport const useListHeight = ({\n listParentRef,\n headerRef,\n}: UseContentHeightProps): { listHeight: number } => {\n const elementId = useDefaultElementId() ?? ''\n const [contentHeight, setContentHeight] = useState<number>(0)\n const theme = useTheme()\n\n useLayoutEffect(() => {\n const handleResize = () => {\n setContentHeight(getContentHeight(elementId, listParentRef))\n }\n\n const processResize = debounce(() => handleResize(), 40)\n\n // calling this on initial mount prevents the lists resizing appearing glitchy\n handleResize()\n\n const appContainer = getAppContainer(elementId)\n\n let resizeObserver: ResizeObserver\n if (appContainer) {\n resizeObserver = new ResizeObserver(processResize)\n resizeObserver.observe(appContainer)\n }\n\n return () => {\n if (resizeObserver) {\n resizeObserver.disconnect()\n }\n }\n }, [elementId, listParentRef])\n\n const minListHeight =\n theme.container?.height === '100%'\n ? minMobileListHeight\n : defaultMinListHeight\n\n const listHeight = Math.max(\n contentHeight - (headerRef?.current?.offsetHeight ?? 0),\n minListHeight\n )\n\n return {\n listHeight,\n }\n}\n"],"mappings":";;;;;AAWA,MAAM,oBACJ,WACA,kBACG;CACH,MAAM,mBAAmB,uBAAuB,SAAS;CAEzD,MAAM,gBAAgB,iBAAiB,SAAS;CAEhD,MAAM,oBAAoB,eAAe;CAEzC,IAAI;CAIJ,IAAI,mBAAmB;EACrB,YAAY,kBAAkB,MAAM;EACpC,kBAAkB,MAAM,SAAS;CACnC;CAEA,IAAI,CAAC,oBAAoB,CAAC,eAAe;EACvC,QAAQ,KACN,6DACF;EACA,OAAO;CACT;CACA,MAAM,EAAE,QAAQ,oBAAoB,iBAAiB,sBAAsB;CAC3E,MAAM,EAAE,QAAQ,iBAAiB,cAAc,sBAAsB;CAIrE,IAAI,qBAAqB,WACvB,kBAAkB,MAAM,SAAS;CAGnC,OAAO,kBAAkB;AAC3B;AAOA,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAM5B,MAAa,iBAAiB,EAC5B,eACA,gBACmD;CACnD,MAAM,YAAY,oBAAoB,KAAK;CAC3C,MAAM,CAAC,eAAe,oBAAoB,SAAiB,CAAC;CAC5D,MAAM,QAAQ,SAAS;CAEvB,sBAAsB;EACpB,MAAM,qBAAqB;GACzB,iBAAiB,iBAAiB,WAAW,aAAa,CAAC;EAC7D;EAEA,MAAM,gBAAgB,eAAe,aAAa,GAAG,EAAE;EAGvD,aAAa;EAEb,MAAM,eAAe,gBAAgB,SAAS;EAE9C,IAAI;EACJ,IAAI,cAAc;GAChB,iBAAiB,IAAI,eAAe,aAAa;GACjD,eAAe,QAAQ,YAAY;EACrC;EAEA,aAAa;GACX,IAAI,gBACF,eAAe,WAAW;EAE9B;CACF,GAAG,CAAC,WAAW,aAAa,CAAC;CAE7B,MAAM,gBACJ,MAAM,WAAW,WAAW,SACxB,sBACA;CAON,OAAO,EACL,YANiB,KAAK,IACtB,iBAAiB,WAAW,SAAS,gBAAgB,IACrD,aAIS,EACX;AACF"}
1
+ {"version":3,"file":"useListHeight.js","names":[],"sources":["../../../src/hooks/useListHeight.ts"],"sourcesContent":["import { debounce, useTheme } from '@mui/material'\nimport type { RefObject } from 'react'\nimport { useLayoutEffect, useState } from 'react'\nimport {\n ElementId,\n getAppContainer,\n getHeaderElement,\n getScrollableContainer,\n} from '../utils/elements.js'\nimport { useDefaultElementId } from './useDefaultElementId.js'\n\nconst getContentHeight = (\n elementId: string,\n listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>\n) => {\n const containerElement = getScrollableContainer(elementId)\n\n const headerElement = getHeaderElement(elementId)\n\n const listParentElement = listParentRef?.current\n\n let oldHeight: string | undefined\n\n // This covers the case where in full height flex mode when the browser height is reduced\n // - this allows a virtualised list to be made smaller\n if (listParentElement) {\n oldHeight = listParentElement.style.height\n listParentElement.style.height = '0'\n }\n\n if (!containerElement || !headerElement) {\n console.warn(\n `Can't find ${ElementId.ScrollableContainer} or ${ElementId.Header} id.`\n )\n // Restore the height we zeroed above before returning early\n if (listParentElement && oldHeight !== undefined) {\n listParentElement.style.height = oldHeight\n }\n return 0\n }\n const { height: containerHeight } = containerElement.getBoundingClientRect()\n const { height: headerHeight } = headerElement.getBoundingClientRect()\n\n // This covers the case where in full height flex mode when the browser height is reduced the\n // - this allows a virtualised list to be set to minimum size\n if (listParentElement && oldHeight) {\n listParentElement.style.height = oldHeight\n }\n\n return containerHeight - headerHeight\n}\n\ninterface UseContentHeightProps {\n listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>\n headerRef?: RefObject<HTMLElement | null>\n}\n\nconst defaultMinListHeight = 360\nconst minMobileListHeight = 160\n\n// NOTE: this hook is implicitly tied to the widget height functionality in the\n// AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts\n// CSS changes in those components can have implications for the functionality in this hook\n\nexport const useListHeight = ({\n listParentRef,\n headerRef,\n}: UseContentHeightProps): { listHeight: number } => {\n const elementId = useDefaultElementId() ?? ''\n const [contentHeight, setContentHeight] = useState<number>(0)\n const theme = useTheme()\n\n useLayoutEffect(() => {\n const handleResize = () => {\n setContentHeight(getContentHeight(elementId, listParentRef))\n }\n\n const processResize = debounce(() => handleResize(), 40)\n\n // calling this on initial mount prevents the lists resizing appearing glitchy\n handleResize()\n\n const appContainer = getAppContainer(elementId)\n\n let resizeObserver: ResizeObserver\n if (appContainer) {\n resizeObserver = new ResizeObserver(processResize)\n resizeObserver.observe(appContainer)\n }\n\n return () => {\n if (resizeObserver) {\n resizeObserver.disconnect()\n }\n }\n }, [elementId, listParentRef])\n\n const minListHeight =\n theme.container?.height === '100%'\n ? minMobileListHeight\n : defaultMinListHeight\n\n const listHeight = Math.max(\n contentHeight - (headerRef?.current?.offsetHeight ?? 0),\n minListHeight\n )\n\n return {\n listHeight,\n }\n}\n"],"mappings":";;;;;AAWA,MAAM,oBACJ,WACA,kBACG;CACH,MAAM,mBAAmB,uBAAuB,SAAS;CAEzD,MAAM,gBAAgB,iBAAiB,SAAS;CAEhD,MAAM,oBAAoB,eAAe;CAEzC,IAAI;CAIJ,IAAI,mBAAmB;EACrB,YAAY,kBAAkB,MAAM;EACpC,kBAAkB,MAAM,SAAS;CACnC;CAEA,IAAI,CAAC,oBAAoB,CAAC,eAAe;EACvC,QAAQ,KACN,6DACF;EAEA,IAAI,qBAAqB,cAAc,KAAA,GACrC,kBAAkB,MAAM,SAAS;EAEnC,OAAO;CACT;CACA,MAAM,EAAE,QAAQ,oBAAoB,iBAAiB,sBAAsB;CAC3E,MAAM,EAAE,QAAQ,iBAAiB,cAAc,sBAAsB;CAIrE,IAAI,qBAAqB,WACvB,kBAAkB,MAAM,SAAS;CAGnC,OAAO,kBAAkB;AAC3B;AAOA,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB;AAM5B,MAAa,iBAAiB,EAC5B,eACA,gBACmD;CACnD,MAAM,YAAY,oBAAoB,KAAK;CAC3C,MAAM,CAAC,eAAe,oBAAoB,SAAiB,CAAC;CAC5D,MAAM,QAAQ,SAAS;CAEvB,sBAAsB;EACpB,MAAM,qBAAqB;GACzB,iBAAiB,iBAAiB,WAAW,aAAa,CAAC;EAC7D;EAEA,MAAM,gBAAgB,eAAe,aAAa,GAAG,EAAE;EAGvD,aAAa;EAEb,MAAM,eAAe,gBAAgB,SAAS;EAE9C,IAAI;EACJ,IAAI,cAAc;GAChB,iBAAiB,IAAI,eAAe,aAAa;GACjD,eAAe,QAAQ,YAAY;EACrC;EAEA,aAAa;GACX,IAAI,gBACF,eAAe,WAAW;EAE9B;CACF,GAAG,CAAC,WAAW,aAAa,CAAC;CAE7B,MAAM,gBACJ,MAAM,WAAW,WAAW,SACxB,sBACA;CAON,OAAO,EACL,YANiB,KAAK,IACtB,iBAAiB,WAAW,SAAS,gBAAgB,IACrD,aAIS,EACX;AACF"}
@@ -0,0 +1,5 @@
1
+ //#region src/hooks/useNavigateBack.d.ts
2
+ declare const useNavigateBack: () => (() => void);
3
+ //#endregion
4
+ export { useNavigateBack };
5
+ //# sourceMappingURL=useNavigateBack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNavigateBack.d.ts","names":[],"sources":["../../../src/hooks/useNavigateBack.ts"],"mappings":";cAIa"}
@@ -1,3 +1,4 @@
1
+ import "../stores/routes/types.js";
1
2
  import { useRouteExecution } from "./useRouteExecution.js";
2
3
  import { usePacedValue } from "./usePacedValue.js";
3
4
  import { useMemo } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"usePacedRouteExecution.js","names":[],"sources":["../../../src/hooks/usePacedRouteExecution.ts"],"sourcesContent":["import type { ExchangeRateUpdateParams, RouteExtended } from '@lifi/sdk'\nimport { useMemo } from 'react'\nimport { RouteExecutionStatus } from '../stores/routes/types.js'\nimport { usePacedValue } from './usePacedValue.js'\nimport { useRouteExecution } from './useRouteExecution.js'\n\ninterface PacedRouteExecutionProps {\n routeId: string\n onAcceptExchangeRateUpdate?(\n resolver: (value: boolean) => void,\n data: ExchangeRateUpdateParams\n ): void\n}\n\n/**\n * Wraps {@link useRouteExecution} and paces `route`/`status` so the\n * `ExecutionStatusCard` animation has time to play between updates. Only the\n * display is paced — events and store writes happen at the SDK's real speed.\n */\nexport function usePacedRouteExecution({\n routeId,\n onAcceptExchangeRateUpdate,\n}: PacedRouteExecutionProps): {\n executeRoute: () => void\n restartRoute: () => void\n deleteRoute: () => void\n route: RouteExtended | undefined\n status: RouteExecutionStatus | undefined\n} {\n const { executeRoute, restartRoute, deleteRoute, route, status } =\n useRouteExecution({ routeId, onAcceptExchangeRateUpdate })\n\n // Pace route and status as one value so they always match. Skip pacing while\n // Idle, so the review screen shows live data.\n const live = useMemo(() => ({ route, status }), [route, status])\n const display = usePacedValue(live, status !== RouteExecutionStatus.Idle)\n\n return {\n executeRoute,\n restartRoute,\n deleteRoute,\n route: display.route,\n status: display.status,\n }\n}\n"],"mappings":";;;;;;;;;AAmBA,SAAgB,uBAAuB,EACrC,SACA,8BAOA;CACA,MAAM,EAAE,cAAc,cAAc,aAAa,OAAO,WACtD,kBAAkB;EAAE;EAAS;CAA2B,CAAC;CAK3D,MAAM,UAAU,cADH,eAAe;EAAE;EAAO;CAAO,IAAI,CAAC,OAAO,MAAM,CAC7B,GAAG,WAAA,CAAoC;CAExE,OAAO;EACL;EACA;EACA;EACA,OAAO,QAAQ;EACf,QAAQ,QAAQ;CAClB;AACF"}
1
+ {"version":3,"file":"usePacedRouteExecution.js","names":[],"sources":["../../../src/hooks/usePacedRouteExecution.ts"],"sourcesContent":["import type { ExchangeRateUpdateParams, RouteExtended } from '@lifi/sdk'\nimport { useMemo } from 'react'\nimport { RouteExecutionStatus } from '../stores/routes/types.js'\nimport { usePacedValue } from './usePacedValue.js'\nimport { useRouteExecution } from './useRouteExecution.js'\n\ninterface PacedRouteExecutionProps {\n routeId: string\n onAcceptExchangeRateUpdate?(\n resolver: (value: boolean) => void,\n data: ExchangeRateUpdateParams\n ): void\n}\n\n/**\n * Wraps {@link useRouteExecution} and paces `route`/`status` so the\n * `ExecutionStatusCard` animation has time to play between updates. Only the\n * display is paced — events and store writes happen at the SDK's real speed.\n */\nexport function usePacedRouteExecution({\n routeId,\n onAcceptExchangeRateUpdate,\n}: PacedRouteExecutionProps): {\n executeRoute: () => void\n restartRoute: () => void\n deleteRoute: () => void\n route: RouteExtended | undefined\n status: RouteExecutionStatus | undefined\n} {\n const { executeRoute, restartRoute, deleteRoute, route, status } =\n useRouteExecution({ routeId, onAcceptExchangeRateUpdate })\n\n // Pace route and status as one value so they always match. Skip pacing while\n // Idle, so the review screen shows live data.\n const live = useMemo(() => ({ route, status }), [route, status])\n const display = usePacedValue(live, status !== RouteExecutionStatus.Idle)\n\n return {\n executeRoute,\n restartRoute,\n deleteRoute,\n route: display.route,\n status: display.status,\n }\n}\n"],"mappings":";;;;;;;;;;AAmBA,SAAgB,uBAAuB,EACrC,SACA,8BAOA;CACA,MAAM,EAAE,cAAc,cAAc,aAAa,OAAO,WACtD,kBAAkB;EAAE;EAAS;CAA2B,CAAC;CAK3D,MAAM,UAAU,cADH,eAAe;EAAE;EAAO;CAAO,IAAI,CAAC,OAAO,MAAM,CAC7B,GAAG,WAAA,CAAoC;CAExE,OAAO;EACL;EACA;EACA;EACA,OAAO,QAAQ;EACf,QAAQ,QAAQ;CAClB;AACF"}
@@ -0,0 +1,18 @@
1
+ import { RouteExecutionStatus } from "../stores/routes/types.js";
2
+ import { ExchangeRateUpdateParams, RouteExtended } from "@lifi/sdk";
3
+ //#region src/hooks/useRouteExecution.d.ts
4
+ interface RouteExecutionProps {
5
+ routeId: string;
6
+ executeInBackground?: boolean;
7
+ onAcceptExchangeRateUpdate?(resolver: (value: boolean) => void, data: ExchangeRateUpdateParams): void;
8
+ }
9
+ declare const useRouteExecution: ({ routeId, executeInBackground, onAcceptExchangeRateUpdate }: RouteExecutionProps) => {
10
+ executeRoute: () => void;
11
+ restartRoute: () => void;
12
+ deleteRoute: () => void;
13
+ route: RouteExtended | undefined;
14
+ status: RouteExecutionStatus | undefined;
15
+ };
16
+ //#endregion
17
+ export { useRouteExecution };
18
+ //# sourceMappingURL=useRouteExecution.d.ts.map