@lifi/widget 4.3.0 → 4.4.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.
- package/dist/esm/App.d.ts +0 -1
- package/dist/esm/App.d.ts.map +1 -1
- package/dist/esm/AppDrawer.d.ts +1 -1
- package/dist/esm/AppDrawer.d.ts.map +1 -1
- package/dist/esm/components/ActionRow/ActionRow.d.ts +13 -0
- package/dist/esm/components/ActionRow/ActionRow.d.ts.map +1 -0
- package/dist/esm/components/AmountInput/AmountInput.style.d.ts +9 -0
- package/dist/esm/components/AmountInput/AmountInput.style.d.ts.map +1 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +7 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts.map +1 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +7 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts.map +1 -0
- package/dist/esm/components/Avatar/Avatar.d.ts +12 -0
- package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/esm/components/Avatar/TokenAvatar.d.ts +14 -0
- package/dist/esm/components/Avatar/TokenAvatar.d.ts.map +1 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts +6 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts.map +1 -0
- package/dist/esm/components/BaseTransactionButton/types.d.ts +14 -0
- package/dist/esm/components/BaseTransactionButton/types.d.ts.map +1 -0
- package/dist/esm/components/BottomSheet/types.d.ts +11 -0
- package/dist/esm/components/BottomSheet/types.d.ts.map +1 -0
- package/dist/esm/components/ButtonTertiary.d.ts +7 -0
- package/dist/esm/components/ButtonTertiary.d.ts.map +1 -0
- package/dist/esm/components/Card/Card.d.ts +12 -0
- package/dist/esm/components/Card/Card.d.ts.map +1 -0
- package/dist/esm/components/Card/CardIconButton.d.ts +7 -0
- package/dist/esm/components/Card/CardIconButton.d.ts.map +1 -0
- package/dist/esm/components/Card/CardTitle.d.ts +9 -0
- package/dist/esm/components/Card/CardTitle.d.ts.map +1 -0
- package/dist/esm/components/Card/InputCard.d.ts +7 -0
- package/dist/esm/components/Card/InputCard.d.ts.map +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.d.ts +7 -0
- package/dist/esm/components/ChainSelect/ChainSelect.d.ts.map +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +10 -0
- package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/ContractComponent.d.ts +7 -0
- package/dist/esm/components/ContractComponent/ContractComponent.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts +0 -1
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +0 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +0 -1
- package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/types.d.ts +0 -1
- package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -1
- package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts +21 -0
- package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts +16 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/iconKey.js +1 -0
- package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
- package/dist/esm/components/FeeBreakdownTooltip.d.ts +13 -0
- package/dist/esm/components/FeeBreakdownTooltip.d.ts.map +1 -0
- package/dist/esm/components/IconCircle/IconCircle.d.ts +11 -0
- package/dist/esm/components/IconCircle/IconCircle.d.ts.map +1 -0
- package/dist/esm/components/IconCircle/statusIcons.d.ts +6 -0
- package/dist/esm/components/IconCircle/statusIcons.d.ts.map +1 -0
- package/dist/esm/components/IconTypography.d.ts +7 -0
- package/dist/esm/components/IconTypography.d.ts.map +1 -0
- package/dist/esm/components/ListItem/ListItemButton.d.ts +7 -0
- package/dist/esm/components/ListItem/ListItemButton.d.ts.map +1 -0
- package/dist/esm/components/ListItemButton.d.ts +7 -0
- package/dist/esm/components/ListItemButton.d.ts.map +1 -0
- package/dist/esm/components/Messages/WarningMessages.d.ts +11 -0
- package/dist/esm/components/Messages/WarningMessages.d.ts.map +1 -0
- package/dist/esm/components/PageContainer.d.ts +12 -0
- package/dist/esm/components/PageContainer.d.ts.map +1 -0
- package/dist/esm/components/PoweredBy/PoweredBy.d.ts +5 -0
- package/dist/esm/components/PoweredBy/PoweredBy.d.ts.map +1 -0
- package/dist/esm/components/ProgressToNextUpdate.d.ts +10 -0
- package/dist/esm/components/ProgressToNextUpdate.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteCard.d.ts +7 -0
- package/dist/esm/components/RouteCard/RouteCard.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts +7 -0
- package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteDetails.d.ts +10 -0
- package/dist/esm/components/RouteCard/RouteDetails.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteDetails.style.d.ts +12 -0
- package/dist/esm/components/RouteCard/RouteDetails.style.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts +5 -0
- package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteTokens.d.ts +11 -0
- package/dist/esm/components/RouteCard/RouteTokens.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteTokens.js +2 -2
- package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
- package/dist/esm/components/RouteCard/types.d.ts +14 -0
- package/dist/esm/components/RouteCard/types.d.ts.map +1 -0
- package/dist/esm/components/Search/SearchInput.d.ts +17 -0
- package/dist/esm/components/Search/SearchInput.d.ts.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts +10 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.js +15 -6
- package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +1 -4
- package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -1
- package/dist/esm/components/StepActions/SentToWalletRow.d.ts +9 -0
- package/dist/esm/components/StepActions/SentToWalletRow.d.ts.map +1 -0
- package/dist/esm/components/StepActions/StepActionRow.style.d.ts +7 -0
- package/dist/esm/components/StepActions/StepActionRow.style.d.ts.map +1 -0
- package/dist/esm/components/StepActions/StepActionsList.d.ts +12 -0
- package/dist/esm/components/StepActions/StepActionsList.d.ts.map +1 -0
- package/dist/esm/components/StepActions/executionRows.d.ts +26 -0
- package/dist/esm/components/StepActions/executionRows.d.ts.map +1 -0
- package/dist/esm/components/Token/Token.d.ts +17 -0
- package/dist/esm/components/Token/Token.d.ts.map +1 -0
- package/dist/esm/components/TokenList/TokenNotFound.d.ts +6 -0
- package/dist/esm/components/TokenList/TokenNotFound.d.ts.map +1 -0
- package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts +7 -0
- package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts.map +1 -0
- package/dist/esm/components/TokenList/types.d.ts +20 -0
- package/dist/esm/components/TokenList/types.d.ts.map +1 -0
- package/dist/esm/components/TokenList/useTokenSelect.d.ts +6 -0
- package/dist/esm/components/TokenList/useTokenSelect.d.ts.map +1 -0
- package/dist/esm/components/TokenRate/TokenRate.d.ts +10 -0
- package/dist/esm/components/TokenRate/TokenRate.d.ts.map +1 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +1 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +9 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
- package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts +8 -0
- package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts.map +1 -0
- package/dist/esm/config/constants.d.ts.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.d.ts.map +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/config/version.js.map +1 -1
- package/dist/esm/hooks/useAddressActivity.d.ts +11 -0
- package/dist/esm/hooks/useAddressActivity.d.ts.map +1 -0
- package/dist/esm/hooks/useAddressValidation.d.ts +28 -0
- package/dist/esm/hooks/useAddressValidation.d.ts.map +1 -0
- package/dist/esm/hooks/useAddressValidation.js +6 -1
- package/dist/esm/hooks/useAddressValidation.js.map +1 -1
- package/dist/esm/hooks/useAvailableChains.d.ts +12 -0
- package/dist/esm/hooks/useAvailableChains.d.ts.map +1 -0
- package/dist/esm/hooks/useChain.d.ts +10 -0
- package/dist/esm/hooks/useChain.d.ts.map +1 -0
- package/dist/esm/hooks/useContactSupport.d.ts +5 -0
- package/dist/esm/hooks/useContactSupport.d.ts.map +1 -0
- package/dist/esm/hooks/useDebouncedWatch.d.ts +6 -0
- package/dist/esm/hooks/useDebouncedWatch.d.ts.map +1 -0
- package/dist/esm/hooks/useDisplayedTokens.js +48 -0
- package/dist/esm/hooks/useDisplayedTokens.js.map +1 -0
- package/dist/esm/hooks/useExplorer.d.ts +14 -0
- package/dist/esm/hooks/useExplorer.d.ts.map +1 -0
- package/dist/esm/hooks/useHeader.d.ts +6 -0
- package/dist/esm/hooks/useHeader.d.ts.map +1 -0
- package/dist/esm/hooks/useListHeight.d.ts +12 -0
- package/dist/esm/hooks/useListHeight.d.ts.map +1 -0
- package/dist/esm/hooks/useListHeight.js +1 -0
- package/dist/esm/hooks/useListHeight.js.map +1 -1
- package/dist/esm/hooks/useNavigateBack.d.ts +5 -0
- package/dist/esm/hooks/useNavigateBack.d.ts.map +1 -0
- package/dist/esm/hooks/usePacedRouteExecution.js +1 -0
- package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -1
- package/dist/esm/hooks/useRouteExecution.d.ts +18 -0
- package/dist/esm/hooks/useRouteExecution.d.ts.map +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.d.ts +10 -0
- package/dist/esm/hooks/useRouteExecutionMessage.d.ts.map +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.js +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
- package/dist/esm/hooks/useRoutes.d.ts +32 -0
- package/dist/esm/hooks/useRoutes.d.ts.map +1 -0
- package/dist/esm/hooks/useRoutes.js +12 -8
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/hooks/useToAddressRequirements.d.ts +16 -0
- package/dist/esm/hooks/useToAddressRequirements.d.ts.map +1 -0
- package/dist/esm/hooks/useToken.d.ts +9 -0
- package/dist/esm/hooks/useToken.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenAddressBalance.d.ts +11 -0
- package/dist/esm/hooks/useTokenAddressBalance.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenBalances.d.ts +14 -0
- package/dist/esm/hooks/useTokenBalances.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenBalances.js +5 -45
- package/dist/esm/hooks/useTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useTokenList.d.ts +16 -0
- package/dist/esm/hooks/useTokenList.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenList.js +31 -0
- package/dist/esm/hooks/useTokenList.js.map +1 -0
- package/dist/esm/hooks/useTools.d.ts +8 -0
- package/dist/esm/hooks/useTools.d.ts.map +1 -0
- package/dist/esm/hooks/useTransactionDetails.js +1 -3
- package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
- package/dist/esm/hooks/useTransactionList.js +1 -0
- package/dist/esm/hooks/useTransactionList.js.map +1 -1
- package/dist/esm/hooks/useWidgetChains.d.ts +0 -1
- package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -1
- package/dist/esm/hooks/useWidgetEvents.d.ts +0 -1
- package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -1
- package/dist/esm/i18n/en.json +321 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +1 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
- package/dist/esm/pages/LanguagesPage.js +19 -7
- package/dist/esm/pages/LanguagesPage.js.map +1 -1
- package/dist/esm/pages/MainPage/MainWarningMessages.d.ts +10 -0
- package/dist/esm/pages/MainPage/MainWarningMessages.d.ts.map +1 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.js +28 -16
- package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +7 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts.map +1 -0
- package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts +6 -0
- package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts.map +1 -0
- package/dist/esm/pages/SelectChainPage/types.d.ts +8 -0
- package/dist/esm/pages/SelectChainPage/types.d.ts.map +1 -0
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts +10 -0
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts +9 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts +14 -0
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts +19 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts +12 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -1
- package/dist/esm/pages/TransactionPage/RouteTracker.d.ts +11 -0
- package/dist/esm/pages/TransactionPage/RouteTracker.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts +6 -0
- package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts +15 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionContent.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts +12 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
- package/dist/esm/pages/TransactionPage/types.d.ts +9 -0
- package/dist/esm/pages/TransactionPage/types.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/utils.d.ts +6 -0
- package/dist/esm/pages/TransactionPage/utils.d.ts.map +1 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.d.ts +5 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.d.ts.map +1 -0
- package/dist/esm/providers/I18nProvider/types.d.ts +2 -3
- package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -1
- package/dist/esm/providers/QueryClientProvider.d.ts +6 -0
- package/dist/esm/providers/QueryClientProvider.d.ts.map +1 -0
- package/dist/esm/providers/SDKClientProvider.d.ts +8 -0
- package/dist/esm/providers/SDKClientProvider.d.ts.map +1 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +10 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.d.ts.map +1 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.js +8 -3
- package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
- package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts +8 -0
- package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
- package/dist/esm/providers/WidgetProvider/types.d.ts +11 -0
- package/dist/esm/providers/WidgetProvider/types.d.ts.map +1 -0
- package/dist/esm/shared.d.ts +107 -0
- package/dist/esm/shared.js +105 -0
- package/dist/esm/stores/StoreProvider.d.ts +7 -0
- package/dist/esm/stores/StoreProvider.d.ts.map +1 -0
- package/dist/esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
- package/dist/esm/stores/bookmarks/BookmarkStore.d.ts.map +1 -0
- package/dist/esm/stores/bookmarks/types.d.ts +0 -1
- package/dist/esm/stores/bookmarks/types.d.ts.map +1 -1
- package/dist/esm/stores/chains/ChainOrderStore.d.ts +8 -0
- package/dist/esm/stores/chains/ChainOrderStore.d.ts.map +1 -0
- package/dist/esm/stores/chains/types.d.ts +27 -0
- package/dist/esm/stores/chains/types.d.ts.map +1 -0
- package/dist/esm/stores/form/createFormStore.js +1 -0
- package/dist/esm/stores/form/createFormStore.js.map +1 -1
- package/dist/esm/stores/form/types.d.ts +7 -7
- package/dist/esm/stores/form/types.d.ts.map +1 -1
- package/dist/esm/stores/form/types.js.map +1 -1
- package/dist/esm/stores/form/useFieldActions.d.ts +0 -1
- package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -1
- package/dist/esm/stores/form/useFieldValues.d.ts +0 -1
- package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -1
- package/dist/esm/stores/header/types.d.ts +20 -0
- package/dist/esm/stores/header/types.d.ts.map +1 -0
- package/dist/esm/stores/header/useHeaderStore.d.ts +8 -0
- package/dist/esm/stores/header/useHeaderStore.d.ts.map +1 -0
- package/dist/esm/stores/inputMode/useInputModeStore.d.ts +13 -0
- package/dist/esm/stores/inputMode/useInputModeStore.d.ts.map +1 -0
- package/dist/esm/stores/routes/RouteExecutionStore.d.ts +9 -0
- package/dist/esm/stores/routes/RouteExecutionStore.d.ts.map +1 -0
- package/dist/esm/stores/routes/createRouteExecutionStore.js +1 -0
- package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
- package/dist/esm/stores/routes/types.d.ts +24 -0
- package/dist/esm/stores/routes/types.d.ts.map +1 -0
- package/dist/esm/stores/routes/types.js +14 -0
- package/dist/esm/stores/routes/types.js.map +1 -0
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js +1 -0
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
- package/dist/esm/stores/routes/utils.d.ts +9 -0
- package/dist/esm/stores/routes/utils.d.ts.map +1 -0
- package/dist/esm/stores/settings/SettingsStore.d.ts +8 -0
- package/dist/esm/stores/settings/SettingsStore.d.ts.map +1 -0
- package/dist/esm/stores/settings/types.d.ts +5 -2
- package/dist/esm/stores/settings/types.d.ts.map +1 -1
- package/dist/esm/stores/types.d.ts +9 -0
- package/dist/esm/stores/types.d.ts.map +1 -0
- package/dist/esm/themes/azureLight.d.ts +0 -1
- package/dist/esm/themes/azureLight.d.ts.map +1 -1
- package/dist/esm/themes/createTheme.d.ts +0 -1
- package/dist/esm/themes/createTheme.d.ts.map +1 -1
- package/dist/esm/themes/jumper.d.ts +0 -1
- package/dist/esm/themes/jumper.d.ts.map +1 -1
- package/dist/esm/themes/palettes.d.ts.map +1 -1
- package/dist/esm/themes/types.d.ts +0 -1
- package/dist/esm/themes/types.d.ts.map +1 -1
- package/dist/esm/themes/watermelonLight.d.ts +0 -1
- package/dist/esm/themes/watermelonLight.d.ts.map +1 -1
- package/dist/esm/themes/windows95.d.ts +0 -1
- package/dist/esm/themes/windows95.d.ts.map +1 -1
- package/dist/esm/types/events.d.ts +4 -3
- package/dist/esm/types/events.d.ts.map +1 -1
- package/dist/esm/types/token.d.ts +1 -2
- package/dist/esm/types/token.d.ts.map +1 -1
- package/dist/esm/types/widget.d.ts +72 -73
- package/dist/esm/types/widget.d.ts.map +1 -1
- package/dist/esm/utils/compactNumberFormatter.d.ts +8 -8
- package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -1
- package/dist/esm/utils/converters.d.ts +7 -0
- package/dist/esm/utils/converters.d.ts.map +1 -0
- package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -1
- package/dist/esm/utils/elements.d.ts +11 -0
- package/dist/esm/utils/elements.d.ts.map +1 -0
- package/dist/esm/utils/elements.js +8 -1
- package/dist/esm/utils/elements.js.map +1 -1
- package/dist/esm/utils/enum.d.ts +5 -0
- package/dist/esm/utils/enum.d.ts.map +1 -0
- package/dist/esm/utils/fees.d.ts +17 -0
- package/dist/esm/utils/fees.d.ts.map +1 -0
- package/dist/esm/utils/format.d.ts +14 -14
- package/dist/esm/utils/format.d.ts.map +1 -1
- package/dist/esm/utils/getPriceImpact.d.ts +1 -7
- package/dist/esm/utils/getPriceImpact.d.ts.map +1 -1
- package/dist/esm/utils/input.d.ts +5 -0
- package/dist/esm/utils/input.d.ts.map +1 -0
- package/dist/esm/utils/navigationRoutes.d.ts.map +1 -1
- package/dist/esm/utils/percentFormatter.d.ts +5 -5
- package/dist/esm/utils/percentFormatter.d.ts.map +1 -1
- package/dist/esm/utils/tokenList.js +3 -3
- package/dist/esm/utils/tokenList.js.map +1 -1
- package/dist/esm/utils/wallet.d.ts +5 -0
- package/dist/esm/utils/wallet.d.ts.map +1 -0
- package/package.json +28 -20
- package/src/components/RouteCard/RouteTokens.tsx +3 -2
- package/src/components/SendToWallet/SendToWalletButton.tsx +27 -5
- package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +11 -0
- package/src/config/version.ts +1 -1
- package/src/hooks/useDisplayedTokens.ts +70 -0
- package/src/hooks/useListHeight.ts +4 -0
- package/src/hooks/useRoutes.ts +360 -325
- package/src/hooks/useTokenBalances.ts +8 -53
- package/src/hooks/useTokenList.ts +59 -0
- package/src/hooks/useTransactionDetails.ts +1 -3
- package/src/pages/LanguagesPage.tsx +36 -23
- package/src/pages/RoutesPage/RoutesPage.tsx +38 -27
- package/src/providers/WalletProvider/WalletProvider.tsx +15 -3
- package/src/shared.ts +191 -0
- package/src/stores/form/createFormStore.ts +1 -0
- package/src/stores/form/types.ts +1 -0
- package/src/utils/tokenList.ts +3 -3
package/dist/esm/i18n/en.json
CHANGED
|
@@ -31,7 +31,11 @@
|
|
|
31
31
|
"dark": "Dark",
|
|
32
32
|
"delete": "Delete",
|
|
33
33
|
"deposit": "Deposit",
|
|
34
|
+
"depositWithCash": "Deposit with cash",
|
|
35
|
+
"pay": "Pay",
|
|
34
36
|
"depositReview": "Review deposit",
|
|
37
|
+
"connectExchange": "Connect exchange",
|
|
38
|
+
"transferCrypto": "Transfer crypto",
|
|
35
39
|
"disconnect": "Disconnect",
|
|
36
40
|
"done": "Done",
|
|
37
41
|
"exchange": "Exchange",
|
|
@@ -41,10 +45,16 @@
|
|
|
41
45
|
"max": "MAX",
|
|
42
46
|
"ok": "Ok",
|
|
43
47
|
"options": "Options",
|
|
48
|
+
"requestRefund": "Request refund",
|
|
44
49
|
"reset": "Reset",
|
|
45
50
|
"resetSettings": "Reset settings",
|
|
51
|
+
"resumeTransaction": "Resume transaction",
|
|
46
52
|
"review": "Review",
|
|
47
53
|
"seeDetails": "See details",
|
|
54
|
+
"topUp": "Top up",
|
|
55
|
+
"viewRefund": "View refund",
|
|
56
|
+
"viewRefundStatus": "View refund status",
|
|
57
|
+
"viewTransferDetails": "View transfer details",
|
|
48
58
|
"showAll": "Show all",
|
|
49
59
|
"startBridging": "Start bridging",
|
|
50
60
|
"startSwapping": "Start swapping",
|
|
@@ -63,8 +73,13 @@
|
|
|
63
73
|
"checkout": "Checkout",
|
|
64
74
|
"checkoutDetails": "Checkout details",
|
|
65
75
|
"deposit": "Deposit",
|
|
76
|
+
"depositWithCash": "Deposit with cash",
|
|
77
|
+
"depositAddress": "Deposit address",
|
|
66
78
|
"depositDetails": "Deposit details",
|
|
67
79
|
"depositTo": "Deposit to",
|
|
80
|
+
"connectExchange": "Connect exchange",
|
|
81
|
+
"transferCrypto": "Transfer crypto",
|
|
82
|
+
"currency": "Currency",
|
|
68
83
|
"exchange": "Exchange",
|
|
69
84
|
"from": "Exchange from",
|
|
70
85
|
"gas": "Gas",
|
|
@@ -330,6 +345,7 @@
|
|
|
330
345
|
"tokenSearch": "Search by token or address",
|
|
331
346
|
"valueLoss": "Value loss",
|
|
332
347
|
"searchBridges": "Search by bridge name",
|
|
348
|
+
"searchCurrency": "Search currency",
|
|
333
349
|
"searchExchanges": "Search by exchange name",
|
|
334
350
|
"searchNetwork": "Search network"
|
|
335
351
|
},
|
|
@@ -381,5 +397,310 @@
|
|
|
381
397
|
"contractAddress": "Contract address",
|
|
382
398
|
"marketCap": "Market cap",
|
|
383
399
|
"volume24h": "Volume 24h"
|
|
400
|
+
},
|
|
401
|
+
"tags": {
|
|
402
|
+
"connected": "Connected",
|
|
403
|
+
"getStarted": "Get Started",
|
|
404
|
+
"installed": "Installed",
|
|
405
|
+
"multichain": "Multichain",
|
|
406
|
+
"qrCode": "QR Code"
|
|
407
|
+
},
|
|
408
|
+
"checkout": {
|
|
409
|
+
"closeConfirmation": {
|
|
410
|
+
"title": "Leave checkout?",
|
|
411
|
+
"body": "Closing won't cancel your deposit. You can come back to check on it here anytime.",
|
|
412
|
+
"confirm": "Close checkout",
|
|
413
|
+
"cancel": "Cancel"
|
|
414
|
+
},
|
|
415
|
+
"abandonConfirmation": {
|
|
416
|
+
"title": "Cancel this transfer?",
|
|
417
|
+
"body": "Your deposit details will be discarded. Don't send funds to this address after cancelling.",
|
|
418
|
+
"confirm": "Cancel transfer",
|
|
419
|
+
"cancel": "Keep transfer"
|
|
420
|
+
},
|
|
421
|
+
"activity": {
|
|
422
|
+
"title": "Activity",
|
|
423
|
+
"deposit": "Deposit",
|
|
424
|
+
"amountOnChain": "{{amount}} {{symbol}} on {{chain}}",
|
|
425
|
+
"depositInProgress": "Deposit in progress",
|
|
426
|
+
"refundInProgress": "Refund in progress",
|
|
427
|
+
"couldNotComplete": "Couldn't complete",
|
|
428
|
+
"singleFailed": "Deposit failed. Please resolve",
|
|
429
|
+
"dismiss": "Dismiss"
|
|
430
|
+
},
|
|
431
|
+
"transak": {
|
|
432
|
+
"forceClose": {
|
|
433
|
+
"tooltip": "Close (transaction won't resume)"
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
"legal": {
|
|
437
|
+
"termsDisclaimer": "By continuing, you agree to LI.FI's <terms>Terms of Service</terms>."
|
|
438
|
+
},
|
|
439
|
+
"resume": {
|
|
440
|
+
"notFoundToast": "We couldn't find your transaction. Start over or contact support if you think this is a mistake."
|
|
441
|
+
},
|
|
442
|
+
"transferDeposit": {
|
|
443
|
+
"warning": "Send at least <b>{{amount}} {{symbol}}</b> on <b>{{chain}}</b>. Wrong token or chain may be unrecoverable.",
|
|
444
|
+
"expiresIn": "Deposit address expires in {{minutes}}:{{seconds}}",
|
|
445
|
+
"addressLabel": "Deposit address",
|
|
446
|
+
"copyAddress": "Copy address",
|
|
447
|
+
"addressCopied": "Copied!",
|
|
448
|
+
"regenerate": "Generate new deposit address",
|
|
449
|
+
"expired": "This deposit window expired. Generate a new one to continue.",
|
|
450
|
+
"polling": "Watching for your deposit…",
|
|
451
|
+
"detailsTitle": "Deposit details",
|
|
452
|
+
"table": {
|
|
453
|
+
"required": "Required",
|
|
454
|
+
"received": "Received",
|
|
455
|
+
"minRefundable": "Min. refundable",
|
|
456
|
+
"remaining": "Remaining",
|
|
457
|
+
"excess": "Excess",
|
|
458
|
+
"timeRemaining": "Time remaining"
|
|
459
|
+
},
|
|
460
|
+
"errors": {
|
|
461
|
+
"unexpected": {
|
|
462
|
+
"title": "Unexpected deposit",
|
|
463
|
+
"description": "We received a deposit that doesn't match a supported route. Contact support for next steps."
|
|
464
|
+
},
|
|
465
|
+
"amountLowThreshold": {
|
|
466
|
+
"title": "Deposit incomplete",
|
|
467
|
+
"description": "Top up to complete your order, or to enable a refund."
|
|
468
|
+
},
|
|
469
|
+
"amountLowTopUp": {
|
|
470
|
+
"title": "Deposit incomplete",
|
|
471
|
+
"description": "Send the remaining before the deposit window closes."
|
|
472
|
+
},
|
|
473
|
+
"amountLowExpired": {
|
|
474
|
+
"title": "Deposit incomplete",
|
|
475
|
+
"description": "The deposit window has expired. You can request a refund for the amount received."
|
|
476
|
+
},
|
|
477
|
+
"excessHeld": {
|
|
478
|
+
"title": "Excess held",
|
|
479
|
+
"description": "Your order is processing. The excess is held — request a refund to retrieve it."
|
|
480
|
+
},
|
|
481
|
+
"lateArrival": {
|
|
482
|
+
"title": "Deposit arrived late",
|
|
483
|
+
"description": "Your funds reached us after the deposit window closed. You can reactivate to continue, or request a refund."
|
|
484
|
+
},
|
|
485
|
+
"addressExpired": {
|
|
486
|
+
"title": "Deposit address expired",
|
|
487
|
+
"description": "The deposit address has expired without receiving funds. You can try again with a new deposit address."
|
|
488
|
+
},
|
|
489
|
+
"marketMoved": {
|
|
490
|
+
"title": "Transaction failed",
|
|
491
|
+
"description": "The exchange rate moved before your order could complete. Your funds are safe — a refund has been started."
|
|
492
|
+
},
|
|
493
|
+
"refunding": {
|
|
494
|
+
"title": "Transaction failed — refunding",
|
|
495
|
+
"description": "We couldn't complete the transfer after several attempts. Your funds are being refunded to the wallet that sent them."
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
"fiatCurrency": {
|
|
500
|
+
"label": "Pay with"
|
|
501
|
+
},
|
|
502
|
+
"cashCurrency": {
|
|
503
|
+
"error": "Unable to load currencies right now. Try again."
|
|
504
|
+
},
|
|
505
|
+
"cashQuote": {
|
|
506
|
+
"totalFeesLabel": "Total fees",
|
|
507
|
+
"feeFallback": "Fee {{index}}",
|
|
508
|
+
"guaranteedMinimum": "Guaranteed minimum",
|
|
509
|
+
"refundNote": "You'll receive at least {{value}}, or a full refund.",
|
|
510
|
+
"error": "Unable to refresh the quote right now. Try again."
|
|
511
|
+
},
|
|
512
|
+
"cashHandoff": {
|
|
513
|
+
"title": "You'll finish paying in Transak",
|
|
514
|
+
"body": "Your payment passes through a temporary deposit address we created for this purchase, not your personal wallet. That's expected, and it happens automatically.",
|
|
515
|
+
"addressLabel": "Deposit address",
|
|
516
|
+
"addressHint": "You'll see this same address in Transak.",
|
|
517
|
+
"continue": "Continue to Transak",
|
|
518
|
+
"goBack": "Go back"
|
|
519
|
+
},
|
|
520
|
+
"paymentMethod": {
|
|
521
|
+
"label": "Payment method"
|
|
522
|
+
},
|
|
523
|
+
"flowSummary": {
|
|
524
|
+
"wallet": "From your wallet",
|
|
525
|
+
"transfer": "Transfer crypto",
|
|
526
|
+
"exchange": "From an exchange",
|
|
527
|
+
"cash": "Buy with cash"
|
|
528
|
+
},
|
|
529
|
+
"transactionStatus": {
|
|
530
|
+
"detailsTitle": "Transaction details",
|
|
531
|
+
"watching": "Watching for transaction",
|
|
532
|
+
"executing": "Processing transaction",
|
|
533
|
+
"success": "Transaction successful",
|
|
534
|
+
"seeDetails": "See details",
|
|
535
|
+
"steps": {
|
|
536
|
+
"transferInitiated": "Transfer initiated",
|
|
537
|
+
"receive": {
|
|
538
|
+
"upcoming": "Receive {{symbol}}",
|
|
539
|
+
"loading": "Receiving {{symbol}}",
|
|
540
|
+
"done": "{{symbol}} received"
|
|
541
|
+
},
|
|
542
|
+
"swap": {
|
|
543
|
+
"upcoming": "Swap to {{symbol}}",
|
|
544
|
+
"loading": "Swapping to {{symbol}}",
|
|
545
|
+
"done": "Swapped to {{symbol}}"
|
|
546
|
+
},
|
|
547
|
+
"bridge": {
|
|
548
|
+
"upcoming": "Bridge to {{chain}}",
|
|
549
|
+
"loading": "Bridging to {{chain}}",
|
|
550
|
+
"done": "Bridged to {{chain}}"
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
},
|
|
554
|
+
"chooseFundingSource": "Choose funding source",
|
|
555
|
+
"whereToSendIt": "Where to send it",
|
|
556
|
+
"sendingTo": "Sending to",
|
|
557
|
+
"required": "Required",
|
|
558
|
+
"addWalletToReceive": "Add a wallet to receive your {{token}}",
|
|
559
|
+
"walletAddressOrEns": "Wallet address or ENS name",
|
|
560
|
+
"insufficientFunds": "Insufficient funds — You don't have enough {{symbol}} on {{chain}}. Select a different token to try again.",
|
|
561
|
+
"routeNotFound": {
|
|
562
|
+
"title": "Can't buy this token here",
|
|
563
|
+
"description": "This token isn't available through the payment method you selected. Try a different token, or pay from a connected wallet."
|
|
564
|
+
},
|
|
565
|
+
"useYourTokens": "Use your tokens",
|
|
566
|
+
"buyTokens": "Buy tokens",
|
|
567
|
+
"or": "or",
|
|
568
|
+
"payFromWallet": "Pay from Wallet",
|
|
569
|
+
"payFromWalletSubtitle": "Connect a browser wallet",
|
|
570
|
+
"payFromWalletConnectedSubtitle": "Select token & amount",
|
|
571
|
+
"transferCrypto": "Transfer Crypto",
|
|
572
|
+
"transferCryptoSubtitle": "From any wallet",
|
|
573
|
+
"connectExchange": "Connect Exchange",
|
|
574
|
+
"connectExchangeSubtitle": "Link your exchange account",
|
|
575
|
+
"payWithExchange": "Pay with {{exchange}}",
|
|
576
|
+
"reuseExchangeSubtitle": "Continue with your linked account",
|
|
577
|
+
"depositWithCash": "Deposit with Cash",
|
|
578
|
+
"depositWithCashSubtitle": "Debit or credit card",
|
|
579
|
+
"connectWallet": "Connect wallet",
|
|
580
|
+
"useAnotherWallet": "Use another wallet",
|
|
581
|
+
"moreWallets": "More",
|
|
582
|
+
"progress": {
|
|
583
|
+
"title": "Purchase in progress",
|
|
584
|
+
"description": "We're processing your purchase. This may take a few minutes."
|
|
585
|
+
},
|
|
586
|
+
"onramp": {
|
|
587
|
+
"dialogTitle": "Deposit with {{providerName}}",
|
|
588
|
+
"close": "Close",
|
|
589
|
+
"errors": {
|
|
590
|
+
"MISSING_API_URL": "{{providerName}} is not configured: set sdkConfig.apiUrl on the checkout.",
|
|
591
|
+
"MISSING_API_KEY": "{{providerName}} is not configured: set widget apiKey to call checkout sessions.",
|
|
592
|
+
"TARGET_NOT_CONFIGURED": "{{providerName}} destination is not configured: set widget.toChain and widget.toToken.",
|
|
593
|
+
"INVALID_RESPONSE": "Invalid response from {{providerName}} session API.",
|
|
594
|
+
"NETWORK_ERROR": "Network error starting {{providerName}} session.",
|
|
595
|
+
"SESSION_HTTP": "Could not start {{providerName}} session ({{status}}). Try again later.",
|
|
596
|
+
"generic": "Something went wrong. Try again later."
|
|
597
|
+
},
|
|
598
|
+
"failure": {
|
|
599
|
+
"connectionTitle": "Connection failed",
|
|
600
|
+
"connectionDescription": "We couldn't connect to {{providerName}}. Try again or contact support.",
|
|
601
|
+
"withdrawalTitle": "Withdrawal failed",
|
|
602
|
+
"withdrawalDescription": "{{providerName}} couldn't process your withdrawal. Your funds remain in your account.",
|
|
603
|
+
"transferTitle": "Transaction failed - refunding",
|
|
604
|
+
"transferDescription": "We couldn't complete the transfer after several attempts. Your funds are being refunded to the wallet that sent them."
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
"status": {
|
|
608
|
+
"successCompleted": {
|
|
609
|
+
"title": "Transaction successful",
|
|
610
|
+
"description": "Your transaction has been completed successfully."
|
|
611
|
+
},
|
|
612
|
+
"successPartial": {
|
|
613
|
+
"title": "Partially completed",
|
|
614
|
+
"description": "Your transaction completed, but some of the received tokens are not the requested destination tokens. Open the details to see what you received."
|
|
615
|
+
},
|
|
616
|
+
"successRefund": {
|
|
617
|
+
"title": "Refund complete",
|
|
618
|
+
"description": "Your transaction could not be completed and your funds have been refunded."
|
|
619
|
+
},
|
|
620
|
+
"pendingDefault": {
|
|
621
|
+
"title": "Processing transaction",
|
|
622
|
+
"description": "Your transaction is being processed. This may take a few minutes."
|
|
623
|
+
},
|
|
624
|
+
"pendingRefund": {
|
|
625
|
+
"title": "Refund in progress",
|
|
626
|
+
"description": "We're sending your funds back. This usually takes a few minutes.",
|
|
627
|
+
"sentTo": "Sent to:"
|
|
628
|
+
},
|
|
629
|
+
"pendingRetrying": {
|
|
630
|
+
"title": "Retrying transaction",
|
|
631
|
+
"description": "We encountered an issue and are automatically retrying your transaction."
|
|
632
|
+
},
|
|
633
|
+
"errorExpired": {
|
|
634
|
+
"title": "Transaction expired",
|
|
635
|
+
"description": "The transaction window has expired. Please try again."
|
|
636
|
+
},
|
|
637
|
+
"errorFailed": {
|
|
638
|
+
"title": "Transaction failed",
|
|
639
|
+
"description": "We couldn't complete your transaction. Try again or contact support."
|
|
640
|
+
},
|
|
641
|
+
"errorConnection": {
|
|
642
|
+
"title": "Connection failed",
|
|
643
|
+
"description": "We couldn't connect to the payment provider. Try again or contact support.",
|
|
644
|
+
"exchange": {
|
|
645
|
+
"title": "Exchange connection failed",
|
|
646
|
+
"description": "We couldn't connect to your exchange account. Try again or contact support."
|
|
647
|
+
}
|
|
648
|
+
},
|
|
649
|
+
"errorWithdrawal": {
|
|
650
|
+
"title": "Withdrawal failed",
|
|
651
|
+
"description": "The payment provider couldn't process your withdrawal. Your funds remain in your account.",
|
|
652
|
+
"cash": {
|
|
653
|
+
"title": "Payment didn't complete",
|
|
654
|
+
"description": "Your payment didn't go through. No funds were taken."
|
|
655
|
+
},
|
|
656
|
+
"exchange": {
|
|
657
|
+
"title": "Exchange withdrawal failed",
|
|
658
|
+
"description": "Your exchange couldn't process the withdrawal. Your funds remain in your exchange account."
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
"errorCancelled": {
|
|
662
|
+
"title": "Transaction cancelled",
|
|
663
|
+
"description": "Your transaction was cancelled. You can try again whenever you're ready.",
|
|
664
|
+
"cash": {
|
|
665
|
+
"title": "Payment cancelled",
|
|
666
|
+
"description": "You closed the payment window. Your order wasn't placed."
|
|
667
|
+
}
|
|
668
|
+
},
|
|
669
|
+
"errorUnavailable": {
|
|
670
|
+
"title": "Service unavailable",
|
|
671
|
+
"description": "The payment provider is temporarily unavailable. Please try again later or contact support.",
|
|
672
|
+
"cash": {
|
|
673
|
+
"title": "Card payment unavailable",
|
|
674
|
+
"description": "Card payments are temporarily unavailable. Try again later or use a different method."
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
"walletDisconnected": {
|
|
678
|
+
"title": "Wallet disconnected",
|
|
679
|
+
"description": "Your wallet was disconnected during the transaction. Reconnect and try again."
|
|
680
|
+
},
|
|
681
|
+
"walletErrorFailed": {
|
|
682
|
+
"title": "Transaction failed",
|
|
683
|
+
"description": "We couldn't complete your transaction. View the details or try again."
|
|
684
|
+
},
|
|
685
|
+
"walletErrorExpired": {
|
|
686
|
+
"title": "Order expired",
|
|
687
|
+
"description": "The transaction window expired before your order could be processed. Please try again."
|
|
688
|
+
},
|
|
689
|
+
"walletPendingRefund": {
|
|
690
|
+
"title": "Refund in progress",
|
|
691
|
+
"description": "We're sending your funds back to the wallet you paid from. This usually takes a few minutes.",
|
|
692
|
+
"sentToWallet": "Sent to wallet:"
|
|
693
|
+
},
|
|
694
|
+
"walletSuccessRefund": {
|
|
695
|
+
"title": "Refund complete",
|
|
696
|
+
"description": "Your transaction could not be completed and your funds have been refunded to your wallet."
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
"refund": {
|
|
700
|
+
"title": "Refund",
|
|
701
|
+
"inProgressDescription": "Your {{amount}} {{symbol}} on {{chain}} is being returned to your wallet. This usually takes a few minutes.",
|
|
702
|
+
"completeDescription": "Your {{amount}} {{symbol}} on {{chain}} was returned to your wallet.",
|
|
703
|
+
"viewTransaction": "View transaction"
|
|
704
|
+
}
|
|
384
705
|
}
|
|
385
706
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { azureLightTheme } from "./themes/azureLight.js";
|
|
|
21
21
|
import { createTheme } from "./themes/createTheme.js";
|
|
22
22
|
import { jumperTheme } from "./themes/jumper.js";
|
|
23
23
|
import { palette, paletteDark, paletteLight } from "./themes/palettes.js";
|
|
24
|
+
import "./themes/types.js";
|
|
24
25
|
import { watermelonLightTheme } from "./themes/watermelonLight.js";
|
|
25
26
|
import { windows95Theme } from "./themes/windows95.js";
|
|
26
27
|
import { compactNumberFormatter } from "./utils/compactNumberFormatter.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PageContainer } from "../../components/PageContainer.js";
|
|
2
|
+
import "../../stores/routes/types.js";
|
|
2
3
|
import { useRouteExecutionStore } from "../../stores/routes/RouteExecutionStore.js";
|
|
3
4
|
import { TransactionCardSkeleton } from "../../components/TransactionCard/TransactionCardSkeleton.js";
|
|
4
5
|
import { useHeader } from "../../hooks/useHeader.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivitiesPage.js","names":[],"sources":["../../../../src/pages/ActivitiesPage/ActivitiesPage.tsx"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport { Box, List } from '@mui/material'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { type JSX, useCallback, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PageContainer } from '../../components/PageContainer.js'\nimport { TransactionCardSkeleton } from '../../components/TransactionCard/TransactionCardSkeleton.js'\nimport { useHeader } from '../../hooks/useHeader.js'\nimport { useListHeight } from '../../hooks/useListHeight.js'\nimport { useTransactionList } from '../../hooks/useTransactionList.js'\nimport { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js'\nimport { RouteExecutionStatus } from '../../stores/routes/types.js'\nimport { ActiveTransactionItem } from './ActiveTransactionItem.js'\nimport { ActivitiesPageMenuButton } from './ActivitiesPageMenuButton.js'\nimport { TransactionHistoryEmpty } from './TransactionHistoryEmpty.js'\nimport { TransactionHistoryItem } from './TransactionHistoryItem.js'\n\nconst SKELETON_COUNT = 2\n\nexport const ActivitiesPage = (): JSX.Element => {\n // Parent ref and useVirtualizer should be in one file to avoid blank page (0 virtual items) issue\n const parentRef = useRef<HTMLDivElement | null>(null)\n const { items, isLoading } = useTransactionList()\n\n const { t } = useTranslation()\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.map((account) => account.address),\n [accounts]\n )\n const hasFailedItems = useRouteExecutionStore(\n useCallback(\n (state) =>\n Object.values(state.routes).some(\n (r) =>\n r?.status === RouteExecutionStatus.Failed &&\n accountAddresses.includes(r.route.fromAddress)\n ),\n [accountAddresses]\n )\n )\n\n useHeader(\n t('header.activities'),\n hasFailedItems ? <ActivitiesPageMenuButton /> : null\n )\n\n const { listHeight } = useListHeight({\n listParentRef: parentRef,\n })\n\n const hasStoreItems = items.length > 0\n const skeletonCount = isLoading && hasStoreItems ? SKELETON_COUNT : 0\n const totalCount = items.length + skeletonCount\n\n const getItemKey = useCallback(\n (index: number) => {\n if (index >= items.length) {\n return `skeleton-${index}`\n }\n const item = items[index]\n if (item.type === 'active') {\n return `active-${item.routeId}`\n }\n return `${item.type}-${item.txHash || item.routeExecution.route.id}`\n },\n [items]\n )\n\n const { getVirtualItems, getTotalSize, measureElement } = useVirtualizer({\n count: hasStoreItems ? totalCount : 0,\n overscan: 3,\n paddingEnd: 12,\n getScrollElement: () => parentRef.current,\n estimateSize: (index) => (items[index]?.type === 'active' ? 218 : 196),\n getItemKey,\n })\n\n const isEmpty = !items.length && !isLoading\n\n return (\n <PageContainer disableGutters>\n <Box\n className=\"long-list\"\n ref={parentRef}\n style={{ height: listHeight }}\n sx={{ overflow: 'auto', paddingX: 3, paddingTop: 1.5 }}\n >\n {isEmpty ? (\n <TransactionHistoryEmpty />\n ) : isLoading && !hasStoreItems ? (\n <List\n disablePadding\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n marginBottom: 2,\n }}\n >\n {Array.from({ length: SKELETON_COUNT }).map((_, index) => (\n <TransactionCardSkeleton key={index} />\n ))}\n </List>\n ) : (\n <List\n style={{ height: getTotalSize(), position: 'relative' }}\n disablePadding\n >\n {getVirtualItems().map((item) => {\n const listItem =\n item.index < items.length ? items[item.index] : null\n return (\n <li\n key={item.key}\n ref={measureElement}\n data-index={item.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n paddingBottom: 16,\n transform: `translateY(${item.start}px)`,\n listStyle: 'none',\n }}\n >\n {!listItem ? (\n <TransactionCardSkeleton />\n ) : listItem.type === 'active' ? (\n <ActiveTransactionItem routeId={listItem.routeId} />\n ) : (\n <TransactionHistoryItem\n route={listItem.routeExecution.route}\n type={listItem.type}\n transactionHash={listItem.txHash}\n startedAt={listItem.startedAt}\n />\n )}\n </li>\n )\n })}\n </List>\n )}\n </Box>\n </PageContainer>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActivitiesPage.js","names":[],"sources":["../../../../src/pages/ActivitiesPage/ActivitiesPage.tsx"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport { Box, List } from '@mui/material'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { type JSX, useCallback, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PageContainer } from '../../components/PageContainer.js'\nimport { TransactionCardSkeleton } from '../../components/TransactionCard/TransactionCardSkeleton.js'\nimport { useHeader } from '../../hooks/useHeader.js'\nimport { useListHeight } from '../../hooks/useListHeight.js'\nimport { useTransactionList } from '../../hooks/useTransactionList.js'\nimport { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js'\nimport { RouteExecutionStatus } from '../../stores/routes/types.js'\nimport { ActiveTransactionItem } from './ActiveTransactionItem.js'\nimport { ActivitiesPageMenuButton } from './ActivitiesPageMenuButton.js'\nimport { TransactionHistoryEmpty } from './TransactionHistoryEmpty.js'\nimport { TransactionHistoryItem } from './TransactionHistoryItem.js'\n\nconst SKELETON_COUNT = 2\n\nexport const ActivitiesPage = (): JSX.Element => {\n // Parent ref and useVirtualizer should be in one file to avoid blank page (0 virtual items) issue\n const parentRef = useRef<HTMLDivElement | null>(null)\n const { items, isLoading } = useTransactionList()\n\n const { t } = useTranslation()\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.map((account) => account.address),\n [accounts]\n )\n const hasFailedItems = useRouteExecutionStore(\n useCallback(\n (state) =>\n Object.values(state.routes).some(\n (r) =>\n r?.status === RouteExecutionStatus.Failed &&\n accountAddresses.includes(r.route.fromAddress)\n ),\n [accountAddresses]\n )\n )\n\n useHeader(\n t('header.activities'),\n hasFailedItems ? <ActivitiesPageMenuButton /> : null\n )\n\n const { listHeight } = useListHeight({\n listParentRef: parentRef,\n })\n\n const hasStoreItems = items.length > 0\n const skeletonCount = isLoading && hasStoreItems ? SKELETON_COUNT : 0\n const totalCount = items.length + skeletonCount\n\n const getItemKey = useCallback(\n (index: number) => {\n if (index >= items.length) {\n return `skeleton-${index}`\n }\n const item = items[index]\n if (item.type === 'active') {\n return `active-${item.routeId}`\n }\n return `${item.type}-${item.txHash || item.routeExecution.route.id}`\n },\n [items]\n )\n\n const { getVirtualItems, getTotalSize, measureElement } = useVirtualizer({\n count: hasStoreItems ? totalCount : 0,\n overscan: 3,\n paddingEnd: 12,\n getScrollElement: () => parentRef.current,\n estimateSize: (index) => (items[index]?.type === 'active' ? 218 : 196),\n getItemKey,\n })\n\n const isEmpty = !items.length && !isLoading\n\n return (\n <PageContainer disableGutters>\n <Box\n className=\"long-list\"\n ref={parentRef}\n style={{ height: listHeight }}\n sx={{ overflow: 'auto', paddingX: 3, paddingTop: 1.5 }}\n >\n {isEmpty ? (\n <TransactionHistoryEmpty />\n ) : isLoading && !hasStoreItems ? (\n <List\n disablePadding\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n marginBottom: 2,\n }}\n >\n {Array.from({ length: SKELETON_COUNT }).map((_, index) => (\n <TransactionCardSkeleton key={index} />\n ))}\n </List>\n ) : (\n <List\n style={{ height: getTotalSize(), position: 'relative' }}\n disablePadding\n >\n {getVirtualItems().map((item) => {\n const listItem =\n item.index < items.length ? items[item.index] : null\n return (\n <li\n key={item.key}\n ref={measureElement}\n data-index={item.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n paddingBottom: 16,\n transform: `translateY(${item.start}px)`,\n listStyle: 'none',\n }}\n >\n {!listItem ? (\n <TransactionCardSkeleton />\n ) : listItem.type === 'active' ? (\n <ActiveTransactionItem routeId={listItem.routeId} />\n ) : (\n <TransactionHistoryItem\n route={listItem.routeExecution.route}\n type={listItem.type}\n transactionHash={listItem.txHash}\n startedAt={listItem.startedAt}\n />\n )}\n </li>\n )\n })}\n </List>\n )}\n </Box>\n </PageContainer>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAM,iBAAiB;AAEvB,MAAa,uBAAoC;CAE/C,MAAM,YAAY,OAA8B,IAAI;CACpD,MAAM,EAAE,OAAO,cAAc,mBAAmB;CAEhD,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,KAAK,YAAY,QAAQ,OAAO,GAC/C,CAAC,QAAQ,CACX;CACA,MAAM,iBAAiB,uBACrB,aACG,UACC,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,MACzB,MACC,GAAG,WAAA,KACH,iBAAiB,SAAS,EAAE,MAAM,WAAW,CACjD,GACF,CAAC,gBAAgB,CACnB,CACF;CAEA,UACE,EAAE,mBAAmB,GACrB,iBAAiB,oBAAC,0BAAD,CAA2B,CAAA,IAAI,IAClD;CAEA,MAAM,EAAE,eAAe,cAAc,EACnC,eAAe,UACjB,CAAC;CAED,MAAM,gBAAgB,MAAM,SAAS;CACrC,MAAM,gBAAgB,aAAa,gBAAgB,iBAAiB;CACpE,MAAM,aAAa,MAAM,SAAS;CAElC,MAAM,aAAa,aAChB,UAAkB;EACjB,IAAI,SAAS,MAAM,QACjB,OAAO,YAAY;EAErB,MAAM,OAAO,MAAM;EACnB,IAAI,KAAK,SAAS,UAChB,OAAO,UAAU,KAAK;EAExB,OAAO,GAAG,KAAK,KAAK,GAAG,KAAK,UAAU,KAAK,eAAe,MAAM;CAClE,GACA,CAAC,KAAK,CACR;CAEA,MAAM,EAAE,iBAAiB,cAAc,mBAAmB,eAAe;EACvE,OAAO,gBAAgB,aAAa;EACpC,UAAU;EACV,YAAY;EACZ,wBAAwB,UAAU;EAClC,eAAe,UAAW,MAAM,MAAM,EAAE,SAAS,WAAW,MAAM;EAClE;CACF,CAAC;CAED,MAAM,UAAU,CAAC,MAAM,UAAU,CAAC;CAElC,OACE,oBAAC,eAAD;EAAe,gBAAA;YACb,oBAAC,KAAD;GACE,WAAU;GACV,KAAK;GACL,OAAO,EAAE,QAAQ,WAAW;GAC5B,IAAI;IAAE,UAAU;IAAQ,UAAU;IAAG,YAAY;GAAI;aAEpD,UACC,oBAAC,yBAAD,CAA0B,CAAA,IACxB,aAAa,CAAC,gBAChB,oBAAC,MAAD;IACE,gBAAA;IACA,IAAI;KACF,SAAS;KACT,eAAe;KACf,KAAK;KACL,cAAc;IAChB;cAEC,MAAM,KAAK,EAAE,QAAQ,eAAe,CAAC,CAAC,CAAC,KAAK,GAAG,UAC9C,oBAAC,yBAAD,CAAsC,GAAR,KAAQ,CACvC;GACG,CAAA,IAEN,oBAAC,MAAD;IACE,OAAO;KAAE,QAAQ,aAAa;KAAG,UAAU;IAAW;IACtD,gBAAA;cAEC,gBAAgB,CAAC,CAAC,KAAK,SAAS;KAC/B,MAAM,WACJ,KAAK,QAAQ,MAAM,SAAS,MAAM,KAAK,SAAS;KAClD,OACE,oBAAC,MAAD;MAEE,KAAK;MACL,cAAY,KAAK;MACjB,OAAO;OACL,UAAU;OACV,KAAK;OACL,MAAM;OACN,OAAO;OACP,eAAe;OACf,WAAW,cAAc,KAAK,MAAM;OACpC,WAAW;MACb;gBAEC,CAAC,WACA,oBAAC,yBAAD,CAA0B,CAAA,IACxB,SAAS,SAAS,WACpB,oBAAC,uBAAD,EAAuB,SAAS,SAAS,QAAU,CAAA,IAEnD,oBAAC,wBAAD;OACE,OAAO,SAAS,eAAe;OAC/B,MAAM,SAAS;OACf,iBAAiB,SAAS;OAC1B,WAAW,SAAS;MACrB,CAAA;KAED,GAzBG,KAAK,GAyBR;IAER,CAAC;GACG,CAAA;EAEL,CAAA;CACQ,CAAA;AAEnB"}
|
|
@@ -1,27 +1,39 @@
|
|
|
1
1
|
import { languageNames } from "../providers/I18nProvider/constants.js";
|
|
2
2
|
import { PageContainer } from "../components/PageContainer.js";
|
|
3
3
|
import { useHeader } from "../hooks/useHeader.js";
|
|
4
|
+
import { useListHeight } from "../hooks/useListHeight.js";
|
|
4
5
|
import { ListItemText as ListItemText$1 } from "../components/ListItemText.js";
|
|
5
6
|
import { SettingsListItemButton } from "../components/SettingsListItemButton.js";
|
|
6
7
|
import { useLanguages } from "../hooks/useLanguages.js";
|
|
7
|
-
import {
|
|
8
|
+
import { useRef } from "react";
|
|
9
|
+
import { Box, List } from "@mui/material";
|
|
8
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
11
|
import { useTranslation } from "react-i18next";
|
|
10
12
|
import Check from "@mui/icons-material/Check";
|
|
11
13
|
//#region src/pages/LanguagesPage.tsx
|
|
12
14
|
const LanguagesPage = () => {
|
|
13
15
|
const { t } = useTranslation();
|
|
16
|
+
const listParentRef = useRef(null);
|
|
14
17
|
const { selectedLanguageCode, availableLanguages, setLanguageWithCode } = useLanguages();
|
|
15
18
|
useHeader(t("language.title"));
|
|
19
|
+
const { listHeight } = useListHeight({ listParentRef });
|
|
16
20
|
if (availableLanguages.length < 1) return null;
|
|
17
21
|
return /* @__PURE__ */ jsx(PageContainer, {
|
|
18
22
|
disableGutters: true,
|
|
19
|
-
children: /* @__PURE__ */ jsx(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
children: /* @__PURE__ */ jsx(Box, {
|
|
24
|
+
className: "long-list",
|
|
25
|
+
ref: listParentRef,
|
|
26
|
+
style: {
|
|
27
|
+
height: listHeight,
|
|
28
|
+
overflow: "auto"
|
|
29
|
+
},
|
|
30
|
+
children: /* @__PURE__ */ jsx(List, {
|
|
31
|
+
sx: { padding: 1.5 },
|
|
32
|
+
children: availableLanguages.map((language) => /* @__PURE__ */ jsxs(SettingsListItemButton, {
|
|
33
|
+
onClick: () => setLanguageWithCode(language),
|
|
34
|
+
children: [/* @__PURE__ */ jsx(ListItemText$1, { primary: languageNames[language] || t("language.name", { lng: language }) || language }), selectedLanguageCode === language && /* @__PURE__ */ jsx(Check, { color: "primary" })]
|
|
35
|
+
}, language))
|
|
36
|
+
})
|
|
25
37
|
})
|
|
26
38
|
});
|
|
27
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguagesPage.js","names":["ListItemText"],"sources":["../../../src/pages/LanguagesPage.tsx"],"sourcesContent":["import Check from '@mui/icons-material/Check'\nimport { List } from '@mui/material'\nimport { useTranslation } from 'react-i18next'\nimport { ListItemText } from '../components/ListItemText.js'\nimport { PageContainer } from '../components/PageContainer.js'\nimport { SettingsListItemButton } from '../components/SettingsListItemButton.js'\nimport { useHeader } from '../hooks/useHeader.js'\nimport { useLanguages } from '../hooks/useLanguages.js'\nimport { languageNames } from '../providers/I18nProvider/constants.js'\n\nexport const LanguagesPage: React.FC = () => {\n const { t } = useTranslation()\n const { selectedLanguageCode, availableLanguages, setLanguageWithCode } =\n useLanguages()\n\n useHeader(t('language.title'))\n\n if (availableLanguages.length < 1) {\n return null\n }\n\n return (\n <PageContainer disableGutters>\n <List\n
|
|
1
|
+
{"version":3,"file":"LanguagesPage.js","names":["ListItemText"],"sources":["../../../src/pages/LanguagesPage.tsx"],"sourcesContent":["import Check from '@mui/icons-material/Check'\nimport { Box, List } from '@mui/material'\nimport { useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ListItemText } from '../components/ListItemText.js'\nimport { PageContainer } from '../components/PageContainer.js'\nimport { SettingsListItemButton } from '../components/SettingsListItemButton.js'\nimport { useHeader } from '../hooks/useHeader.js'\nimport { useLanguages } from '../hooks/useLanguages.js'\nimport { useListHeight } from '../hooks/useListHeight.js'\nimport { languageNames } from '../providers/I18nProvider/constants.js'\n\nexport const LanguagesPage: React.FC = () => {\n const { t } = useTranslation()\n const listParentRef = useRef<HTMLDivElement>(null)\n const { selectedLanguageCode, availableLanguages, setLanguageWithCode } =\n useLanguages()\n\n useHeader(t('language.title'))\n\n const { listHeight } = useListHeight({\n listParentRef,\n })\n\n if (availableLanguages.length < 1) {\n return null\n }\n\n return (\n <PageContainer disableGutters>\n <Box\n className=\"long-list\"\n ref={listParentRef}\n style={{ height: listHeight, overflow: 'auto' }}\n >\n <List\n sx={{\n padding: 1.5,\n }}\n >\n {availableLanguages.map((language) => (\n <SettingsListItemButton\n key={language}\n onClick={() => setLanguageWithCode(language)}\n >\n <ListItemText\n primary={\n languageNames[language as keyof typeof languageNames] ||\n t('language.name', {\n lng: language,\n }) ||\n language\n }\n />\n {selectedLanguageCode === language && <Check color=\"primary\" />}\n </SettingsListItemButton>\n ))}\n </List>\n </Box>\n </PageContainer>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,MAAa,sBAAgC;CAC3C,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,gBAAgB,OAAuB,IAAI;CACjD,MAAM,EAAE,sBAAsB,oBAAoB,wBAChD,aAAa;CAEf,UAAU,EAAE,gBAAgB,CAAC;CAE7B,MAAM,EAAE,eAAe,cAAc,EACnC,cACF,CAAC;CAED,IAAI,mBAAmB,SAAS,GAC9B,OAAO;CAGT,OACE,oBAAC,eAAD;EAAe,gBAAA;YACb,oBAAC,KAAD;GACE,WAAU;GACV,KAAK;GACL,OAAO;IAAE,QAAQ;IAAY,UAAU;GAAO;aAE9C,oBAAC,MAAD;IACE,IAAI,EACF,SAAS,IACX;cAEC,mBAAmB,KAAK,aACvB,qBAAC,wBAAD;KAEE,eAAe,oBAAoB,QAAQ;eAF7C,CAIE,oBAACA,gBAAD,EACE,SACE,cAAc,aACd,EAAE,iBAAiB,EACjB,KAAK,SACP,CAAC,KACD,SAEH,CAAA,GACA,yBAAyB,YAAY,oBAAC,OAAD,EAAO,OAAM,UAAW,CAAA,CACxC;OAbjB,QAaiB,CACzB;GACG,CAAA;EACH,CAAA;CACQ,CAAA;AAEnB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Route } from "@lifi/sdk";
|
|
2
|
+
import { BoxProps } from "@mui/material";
|
|
3
|
+
//#region src/pages/MainPage/MainWarningMessages.d.ts
|
|
4
|
+
interface MainWarningMessagesProps extends BoxProps {
|
|
5
|
+
route?: Route;
|
|
6
|
+
}
|
|
7
|
+
declare const MainWarningMessages: React.FC<MainWarningMessagesProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { MainWarningMessages };
|
|
10
|
+
//# sourceMappingURL=MainWarningMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainWarningMessages.d.ts","names":[],"sources":["../../../../src/pages/MainPage/MainWarningMessages.tsx"],"mappings":";;;UAKU,iCAAiC;EACzC,QAAQ;;cAGG,qBAAqB,MAAM,GAAG"}
|
|
@@ -2,6 +2,7 @@ import { useWidgetEvents } from "../../hooks/useWidgetEvents.js";
|
|
|
2
2
|
import "../../types/events.js";
|
|
3
3
|
import { navigationRoutes } from "../../utils/navigationRoutes.js";
|
|
4
4
|
import { useFieldValues } from "../../stores/form/useFieldValues.js";
|
|
5
|
+
import { PageContainer } from "../../components/PageContainer.js";
|
|
5
6
|
import { useRoutes } from "../../hooks/useRoutes.js";
|
|
6
7
|
import { useToAddressRequirements } from "../../hooks/useToAddressRequirements.js";
|
|
7
8
|
import { ProgressToNextUpdate } from "../../components/ProgressToNextUpdate.js";
|
|
@@ -9,9 +10,11 @@ import { RouteCard } from "../../components/RouteCard/RouteCard.js";
|
|
|
9
10
|
import { RouteCardSkeleton } from "../../components/RouteCard/RouteCardSkeleton.js";
|
|
10
11
|
import { RouteNotFoundCard } from "../../components/RouteCard/RouteNotFoundCard.js";
|
|
11
12
|
import { useHeader } from "../../hooks/useHeader.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
13
|
+
import { useListHeight } from "../../hooks/useListHeight.js";
|
|
14
|
+
import { Stack as Stack$1 } from "./RoutesPage.style.js";
|
|
15
|
+
import { useMemo, useRef } from "react";
|
|
14
16
|
import { useNavigate } from "@tanstack/react-router";
|
|
17
|
+
import { Box } from "@mui/material";
|
|
15
18
|
import { jsx } from "react/jsx-runtime";
|
|
16
19
|
import { useTranslation } from "react-i18next";
|
|
17
20
|
import { useAccount } from "@lifi/wallet-management";
|
|
@@ -20,6 +23,7 @@ const RoutesPage = () => {
|
|
|
20
23
|
const { t } = useTranslation();
|
|
21
24
|
const navigate = useNavigate();
|
|
22
25
|
const emitter = useWidgetEvents();
|
|
26
|
+
const listParentRef = useRef(null);
|
|
23
27
|
const { routes, isLoading, isFetching, dataUpdatedAt, refetchTime, fromChain, refetch, setReviewableRoute } = useRoutes();
|
|
24
28
|
const { account } = useAccount({ chainType: fromChain?.chainType });
|
|
25
29
|
const [toAddress] = useFieldValues("toAddress");
|
|
@@ -38,6 +42,7 @@ const RoutesPage = () => {
|
|
|
38
42
|
refetchTime
|
|
39
43
|
]);
|
|
40
44
|
useHeader(t("header.receive"), headerAction);
|
|
45
|
+
const { listHeight } = useListHeight({ listParentRef });
|
|
41
46
|
const handleRouteClick = (route) => {
|
|
42
47
|
setReviewableRoute(route);
|
|
43
48
|
navigate({
|
|
@@ -52,20 +57,27 @@ const RoutesPage = () => {
|
|
|
52
57
|
const routeNotFound = !routes?.length && !isLoading && !isFetching;
|
|
53
58
|
const toAddressUnsatisfied = routes?.[0] && requiredToAddress && !toAddress;
|
|
54
59
|
const allowInteraction = account.isConnected && !toAddressUnsatisfied;
|
|
55
|
-
return /* @__PURE__ */ jsx(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
return /* @__PURE__ */ jsx(PageContainer, {
|
|
61
|
+
disableGutters: true,
|
|
62
|
+
children: /* @__PURE__ */ jsx(Box, {
|
|
63
|
+
className: "long-list",
|
|
64
|
+
ref: listParentRef,
|
|
65
|
+
style: {
|
|
66
|
+
height: listHeight,
|
|
67
|
+
overflow: "auto"
|
|
68
|
+
},
|
|
69
|
+
children: /* @__PURE__ */ jsx(Stack$1, {
|
|
70
|
+
direction: "column",
|
|
71
|
+
spacing: 2,
|
|
72
|
+
sx: { pt: 1.5 },
|
|
73
|
+
children: routeNotFound ? /* @__PURE__ */ jsx(RouteNotFoundCard, {}) : isLoading && !routes?.length ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsx(RouteCardSkeleton, {}, index)) : routes?.map((route, index) => /* @__PURE__ */ jsx(RouteCard, {
|
|
74
|
+
route,
|
|
75
|
+
onClick: allowInteraction ? () => handleRouteClick(route) : void 0,
|
|
76
|
+
active: index === 0,
|
|
77
|
+
expanded: routes?.length === 1
|
|
78
|
+
}, index))
|
|
79
|
+
})
|
|
80
|
+
})
|
|
69
81
|
});
|
|
70
82
|
};
|
|
71
83
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutesPage.js","names":[],"sources":["../../../../src/pages/RoutesPage/RoutesPage.tsx"],"sourcesContent":["import type { Route } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport { useNavigate } from '@tanstack/react-router'\nimport { type JSX, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ProgressToNextUpdate } from '../../components/ProgressToNextUpdate.js'\nimport { RouteCard } from '../../components/RouteCard/RouteCard.js'\nimport { RouteCardSkeleton } from '../../components/RouteCard/RouteCardSkeleton.js'\nimport { RouteNotFoundCard } from '../../components/RouteCard/RouteNotFoundCard.js'\nimport { useHeader } from '../../hooks/useHeader.js'\nimport { useRoutes } from '../../hooks/useRoutes.js'\nimport { useToAddressRequirements } from '../../hooks/useToAddressRequirements.js'\nimport { useWidgetEvents } from '../../hooks/useWidgetEvents.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport { WidgetEvent } from '../../types/events.js'\nimport { navigationRoutes } from '../../utils/navigationRoutes.js'\nimport { Stack } from './RoutesPage.style.js'\n\nexport const RoutesPage = (): JSX.Element => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const emitter = useWidgetEvents()\n const {\n routes,\n isLoading,\n isFetching,\n dataUpdatedAt,\n refetchTime,\n fromChain,\n refetch,\n setReviewableRoute,\n } = useRoutes()\n const { account } = useAccount({ chainType: fromChain?.chainType })\n const [toAddress] = useFieldValues('toAddress')\n const { requiredToAddress } = useToAddressRequirements()\n\n const headerAction = useMemo(\n () => (\n <ProgressToNextUpdate\n updatedAt={dataUpdatedAt || Date.now()}\n timeToUpdate={refetchTime}\n isLoading={isFetching}\n onClick={() => refetch()}\n sx={{ marginRight: -1 }}\n size=\"medium\"\n />\n ),\n [dataUpdatedAt, isFetching, refetch, refetchTime]\n )\n\n useHeader(t('header.receive'), headerAction)\n\n const handleRouteClick = (route: Route) => {\n setReviewableRoute(route)\n navigate({\n to: navigationRoutes.transactionExecution,\n search: { routeId: route.id },\n })\n emitter.emit(WidgetEvent.RouteSelected, {\n route,\n routes: routes!,\n })\n }\n\n const routeNotFound = !routes?.length && !isLoading && !isFetching\n\n const toAddressUnsatisfied = routes?.[0] && requiredToAddress && !toAddress\n\n const allowInteraction = account.isConnected && !toAddressUnsatisfied\n\n return (\n <
|
|
1
|
+
{"version":3,"file":"RoutesPage.js","names":["Stack"],"sources":["../../../../src/pages/RoutesPage/RoutesPage.tsx"],"sourcesContent":["import type { Route } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport { Box } from '@mui/material'\nimport { useNavigate } from '@tanstack/react-router'\nimport { type JSX, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PageContainer } from '../../components/PageContainer.js'\nimport { ProgressToNextUpdate } from '../../components/ProgressToNextUpdate.js'\nimport { RouteCard } from '../../components/RouteCard/RouteCard.js'\nimport { RouteCardSkeleton } from '../../components/RouteCard/RouteCardSkeleton.js'\nimport { RouteNotFoundCard } from '../../components/RouteCard/RouteNotFoundCard.js'\nimport { useHeader } from '../../hooks/useHeader.js'\nimport { useListHeight } from '../../hooks/useListHeight.js'\nimport { useRoutes } from '../../hooks/useRoutes.js'\nimport { useToAddressRequirements } from '../../hooks/useToAddressRequirements.js'\nimport { useWidgetEvents } from '../../hooks/useWidgetEvents.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport { WidgetEvent } from '../../types/events.js'\nimport { navigationRoutes } from '../../utils/navigationRoutes.js'\nimport { Stack } from './RoutesPage.style.js'\n\nexport const RoutesPage = (): JSX.Element => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const emitter = useWidgetEvents()\n const listParentRef = useRef<HTMLDivElement>(null)\n const {\n routes,\n isLoading,\n isFetching,\n dataUpdatedAt,\n refetchTime,\n fromChain,\n refetch,\n setReviewableRoute,\n } = useRoutes()\n const { account } = useAccount({ chainType: fromChain?.chainType })\n const [toAddress] = useFieldValues('toAddress')\n const { requiredToAddress } = useToAddressRequirements()\n\n const headerAction = useMemo(\n () => (\n <ProgressToNextUpdate\n updatedAt={dataUpdatedAt || Date.now()}\n timeToUpdate={refetchTime}\n isLoading={isFetching}\n onClick={() => refetch()}\n sx={{ marginRight: -1 }}\n size=\"medium\"\n />\n ),\n [dataUpdatedAt, isFetching, refetch, refetchTime]\n )\n\n useHeader(t('header.receive'), headerAction)\n\n const { listHeight } = useListHeight({\n listParentRef,\n })\n\n const handleRouteClick = (route: Route) => {\n setReviewableRoute(route)\n navigate({\n to: navigationRoutes.transactionExecution,\n search: { routeId: route.id },\n })\n emitter.emit(WidgetEvent.RouteSelected, {\n route,\n routes: routes!,\n })\n }\n\n const routeNotFound = !routes?.length && !isLoading && !isFetching\n\n const toAddressUnsatisfied = routes?.[0] && requiredToAddress && !toAddress\n\n const allowInteraction = account.isConnected && !toAddressUnsatisfied\n\n return (\n <PageContainer disableGutters>\n <Box\n className=\"long-list\"\n ref={listParentRef}\n style={{ height: listHeight, overflow: 'auto' }}\n >\n <Stack direction=\"column\" spacing={2} sx={{ pt: 1.5 }}>\n {routeNotFound ? (\n <RouteNotFoundCard />\n ) : isLoading && !routes?.length ? (\n Array.from({ length: 3 }).map((_, index) => (\n <RouteCardSkeleton key={index} />\n ))\n ) : (\n routes?.map((route: Route, index: number) => (\n <RouteCard\n key={index}\n route={route}\n onClick={\n allowInteraction ? () => handleRouteClick(route) : undefined\n }\n active={index === 0}\n expanded={routes?.length === 1}\n />\n ))\n )}\n </Stack>\n </Box>\n </PageContainer>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,mBAAgC;CAC3C,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,WAAW,YAAY;CAC7B,MAAM,UAAU,gBAAgB;CAChC,MAAM,gBAAgB,OAAuB,IAAI;CACjD,MAAM,EACJ,QACA,WACA,YACA,eACA,aACA,WACA,SACA,uBACE,UAAU;CACd,MAAM,EAAE,YAAY,WAAW,EAAE,WAAW,WAAW,UAAU,CAAC;CAClE,MAAM,CAAC,aAAa,eAAe,WAAW;CAC9C,MAAM,EAAE,sBAAsB,yBAAyB;CAEvD,MAAM,eAAe,cAEjB,oBAAC,sBAAD;EACE,WAAW,iBAAiB,KAAK,IAAI;EACrC,cAAc;EACd,WAAW;EACX,eAAe,QAAQ;EACvB,IAAI,EAAE,aAAa,GAAG;EACtB,MAAK;CACN,CAAA,GAEH;EAAC;EAAe;EAAY;EAAS;CAAW,CAClD;CAEA,UAAU,EAAE,gBAAgB,GAAG,YAAY;CAE3C,MAAM,EAAE,eAAe,cAAc,EACnC,cACF,CAAC;CAED,MAAM,oBAAoB,UAAiB;EACzC,mBAAmB,KAAK;EACxB,SAAS;GACP,IAAI,iBAAiB;GACrB,QAAQ,EAAE,SAAS,MAAM,GAAG;EAC9B,CAAC;EACD,QAAQ,KAAA,iBAAgC;GACtC;GACQ;EACV,CAAC;CACH;CAEA,MAAM,gBAAgB,CAAC,QAAQ,UAAU,CAAC,aAAa,CAAC;CAExD,MAAM,uBAAuB,SAAS,MAAM,qBAAqB,CAAC;CAElE,MAAM,mBAAmB,QAAQ,eAAe,CAAC;CAEjD,OACE,oBAAC,eAAD;EAAe,gBAAA;YACb,oBAAC,KAAD;GACE,WAAU;GACV,KAAK;GACL,OAAO;IAAE,QAAQ;IAAY,UAAU;GAAO;aAE9C,oBAACA,SAAD;IAAO,WAAU;IAAS,SAAS;IAAG,IAAI,EAAE,IAAI,IAAI;cACjD,gBACC,oBAAC,mBAAD,CAAoB,CAAA,IAClB,aAAa,CAAC,QAAQ,SACxB,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAChC,oBAAC,mBAAD,CAAgC,GAAR,KAAQ,CACjC,IAED,QAAQ,KAAK,OAAc,UACzB,oBAAC,WAAD;KAES;KACP,SACE,yBAAyB,iBAAiB,KAAK,IAAI,KAAA;KAErD,QAAQ,UAAU;KAClB,UAAU,QAAQ,WAAW;IAC9B,GAPM,KAON,CACF;GAEE,CAAA;EACJ,CAAA;CACQ,CAAA;AAEnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Stack } from "@mui/material";
|
|
3
|
+
//#region src/pages/RoutesPage/RoutesPage.style.d.ts
|
|
4
|
+
declare const Stack$1: React.FC<React.ComponentProps<typeof Stack>>;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Stack$1 as Stack };
|
|
7
|
+
//# sourceMappingURL=RoutesPage.style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoutesPage.style.d.ts","names":[],"sources":["../../../../src/pages/RoutesPage/RoutesPage.style.ts"],"mappings":";;;cAGa,SAAO,MAAM,GAAG,MAAM,sBAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChainPage.d.ts","names":[],"sources":["../../../../src/pages/SelectChainPage/SelectChainPage.tsx"],"mappings":";;cAUa,iBAAiB,MAAM,GAAG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FormTypeProps } from "../../stores/form/types.js";
|
|
2
|
+
//#region src/pages/SelectChainPage/types.d.ts
|
|
3
|
+
interface SelectChainPageProps extends FormTypeProps {
|
|
4
|
+
selectNativeToken?: boolean;
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { SelectChainPageProps };
|
|
8
|
+
//# sourceMappingURL=types.d.ts.map
|