@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
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { useMemo } from 'react'
|
|
2
2
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
3
3
|
import type { FormType } from '../stores/form/types.js'
|
|
4
|
-
import { usePinnedTokensStore } from '../stores/pinnedTokens/PinnedTokensStore.js'
|
|
5
4
|
import { useSettings } from '../stores/settings/useSettings.js'
|
|
6
5
|
import type { TokenAmount } from '../types/token.js'
|
|
7
6
|
import { formatTokenPrice } from '../utils/format.js'
|
|
8
|
-
import { isSearchMatch,
|
|
7
|
+
import { isSearchMatch, processTokenList } from '../utils/tokenList.js'
|
|
9
8
|
import { useAccountsBalancesData } from './useAccountsBalancesData.js'
|
|
9
|
+
import { useDisplayedTokens } from './useDisplayedTokens.js'
|
|
10
10
|
import { useTokenBalancesQueries } from './useTokenBalancesQueries.js'
|
|
11
|
-
import { useTokens } from './useTokens.js'
|
|
12
11
|
|
|
13
12
|
export const useTokenBalances = (
|
|
14
13
|
selectedChainId?: number,
|
|
@@ -23,12 +22,14 @@ export const useTokenBalances = (
|
|
|
23
22
|
isSearchLoading: boolean
|
|
24
23
|
isBalanceLoading: boolean
|
|
25
24
|
} => {
|
|
26
|
-
const { hiddenUI } = useWidgetConfig()
|
|
25
|
+
const { hiddenUI, tokens: configTokens } = useWidgetConfig()
|
|
27
26
|
const {
|
|
28
27
|
allTokens,
|
|
29
|
-
|
|
28
|
+
displayedTokensList,
|
|
29
|
+
isPinnedToken,
|
|
30
|
+
isTokensLoading,
|
|
30
31
|
isSearchLoading,
|
|
31
|
-
} =
|
|
32
|
+
} = useDisplayedTokens(selectedChainId, formType, isAllNetworks, search)
|
|
32
33
|
|
|
33
34
|
const { data: accountsWithAllTokens, isLoading: isAccountsLoading } =
|
|
34
35
|
useAccountsBalancesData(selectedChainId, formType, isAllNetworks, allTokens)
|
|
@@ -39,58 +40,12 @@ export const useTokenBalances = (
|
|
|
39
40
|
const { data: allTokensWithBalances, isLoading: isBalanceQueriesLoading } =
|
|
40
41
|
useTokenBalancesQueries(accountsWithAllTokens, isBalanceLoadingEnabled)
|
|
41
42
|
|
|
42
|
-
const { tokens: configTokens } = useWidgetConfig()
|
|
43
43
|
const { smallBalanceThreshold } = useSettings(['smallBalanceThreshold'])
|
|
44
44
|
|
|
45
|
-
const pinnedTokens = usePinnedTokensStore((state) => state.pinnedTokens)
|
|
46
|
-
|
|
47
45
|
const isBalanceLoading =
|
|
48
46
|
(isBalanceQueriesLoading || isAccountsLoading) &&
|
|
49
47
|
!allTokensWithBalances?.length
|
|
50
48
|
|
|
51
|
-
// Create function to check if token is pinned
|
|
52
|
-
const isPinnedToken = useMemo(() => {
|
|
53
|
-
if (isAllNetworks) {
|
|
54
|
-
// For all networks, check all pinned tokens
|
|
55
|
-
const allPinned: Array<{ chainId: number; tokenAddress: string }> = []
|
|
56
|
-
Object.entries(pinnedTokens).forEach(([chainIdStr, addresses]) => {
|
|
57
|
-
const chainId = Number.parseInt(chainIdStr, 10)
|
|
58
|
-
addresses.forEach((address) => {
|
|
59
|
-
allPinned.push({ chainId, tokenAddress: address })
|
|
60
|
-
})
|
|
61
|
-
})
|
|
62
|
-
const pinnedSet = new Set(
|
|
63
|
-
allPinned.map((p) => `${p.chainId}-${p.tokenAddress.toLowerCase()}`)
|
|
64
|
-
)
|
|
65
|
-
return (chainId: number, tokenAddress: string) => {
|
|
66
|
-
const key = `${chainId}-${tokenAddress.toLowerCase()}`
|
|
67
|
-
return pinnedSet.has(key)
|
|
68
|
-
}
|
|
69
|
-
} else if (selectedChainId) {
|
|
70
|
-
// For single chain, check only selected chain
|
|
71
|
-
const chainPinnedTokens = pinnedTokens[selectedChainId] || []
|
|
72
|
-
const pinnedSet = new Set(
|
|
73
|
-
chainPinnedTokens.map((addr) => addr.toLowerCase())
|
|
74
|
-
)
|
|
75
|
-
return (chainId: number, tokenAddress: string) => {
|
|
76
|
-
return (
|
|
77
|
-
chainId === selectedChainId &&
|
|
78
|
-
pinnedSet.has(tokenAddress.toLowerCase())
|
|
79
|
-
)
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return undefined
|
|
83
|
-
}, [isAllNetworks, selectedChainId, pinnedTokens])
|
|
84
|
-
|
|
85
|
-
const displayedTokensList = useMemo(() => {
|
|
86
|
-
const tokensByChain = isAllNetworks
|
|
87
|
-
? Object.values(allTokens ?? {}).flat()
|
|
88
|
-
: selectedChainId
|
|
89
|
-
? allTokens?.[selectedChainId]
|
|
90
|
-
: undefined
|
|
91
|
-
return tokensByChain?.filter((t) => isSearchMatch(t, search)) ?? []
|
|
92
|
-
}, [allTokens, isAllNetworks, selectedChainId, search])
|
|
93
|
-
|
|
94
49
|
const displayedTokensWithBalances = useMemo(() => {
|
|
95
50
|
const balancesByChain = isAllNetworks
|
|
96
51
|
? allTokensWithBalances
|
|
@@ -160,7 +115,7 @@ export const useTokenBalances = (
|
|
|
160
115
|
])
|
|
161
116
|
|
|
162
117
|
const { processedTokens, withCategories, withPinnedTokens } = useMemo(() => {
|
|
163
|
-
return
|
|
118
|
+
return processTokenList(
|
|
164
119
|
isBalanceLoading,
|
|
165
120
|
isAllNetworks || !!search,
|
|
166
121
|
configTokens,
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { useMemo } from 'react'
|
|
2
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
|
|
3
|
+
import type { FormType } from '../stores/form/types.js'
|
|
4
|
+
import type { TokenAmount } from '../types/token.js'
|
|
5
|
+
import { processTokenList } from '../utils/tokenList.js'
|
|
6
|
+
import { useDisplayedTokens } from './useDisplayedTokens.js'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Token-selection list without wallet balances - No accounts are resolved and no balance queries are fired.
|
|
10
|
+
*/
|
|
11
|
+
export const useTokenList = (
|
|
12
|
+
selectedChainId?: number,
|
|
13
|
+
formType?: FormType,
|
|
14
|
+
isAllNetworks?: boolean,
|
|
15
|
+
search?: string
|
|
16
|
+
): {
|
|
17
|
+
tokens: TokenAmount[]
|
|
18
|
+
withCategories: boolean
|
|
19
|
+
withPinnedTokens: boolean
|
|
20
|
+
isTokensLoading: boolean
|
|
21
|
+
isSearchLoading: boolean
|
|
22
|
+
} => {
|
|
23
|
+
const { tokens: configTokens } = useWidgetConfig()
|
|
24
|
+
const {
|
|
25
|
+
displayedTokensList,
|
|
26
|
+
isPinnedToken,
|
|
27
|
+
isTokensLoading,
|
|
28
|
+
isSearchLoading,
|
|
29
|
+
} = useDisplayedTokens(selectedChainId, formType, isAllNetworks, search)
|
|
30
|
+
|
|
31
|
+
const { processedTokens, withCategories, withPinnedTokens } = useMemo(
|
|
32
|
+
() =>
|
|
33
|
+
processTokenList(
|
|
34
|
+
/* withoutBalances */ true,
|
|
35
|
+
isAllNetworks || !!search,
|
|
36
|
+
configTokens,
|
|
37
|
+
selectedChainId,
|
|
38
|
+
displayedTokensList,
|
|
39
|
+
undefined,
|
|
40
|
+
isPinnedToken
|
|
41
|
+
),
|
|
42
|
+
[
|
|
43
|
+
isAllNetworks,
|
|
44
|
+
search,
|
|
45
|
+
configTokens,
|
|
46
|
+
selectedChainId,
|
|
47
|
+
displayedTokensList,
|
|
48
|
+
isPinnedToken,
|
|
49
|
+
]
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
tokens: processedTokens ?? [],
|
|
54
|
+
withCategories,
|
|
55
|
+
withPinnedTokens,
|
|
56
|
+
isTokensLoading,
|
|
57
|
+
isSearchLoading,
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -59,9 +59,7 @@ export const useTransactionDetails = (
|
|
|
59
59
|
if (fromAddress) {
|
|
60
60
|
queryClient.setQueryData<StatusResponse[]>(
|
|
61
61
|
[transactionHistoryQueryKey, fromAddress],
|
|
62
|
-
(data) =>
|
|
63
|
-
return [...data!, transaction!]
|
|
64
|
-
}
|
|
62
|
+
(data) => (data ? [...data, transaction!] : [transaction!])
|
|
65
63
|
)
|
|
66
64
|
}
|
|
67
65
|
|
|
@@ -1,49 +1,62 @@
|
|
|
1
1
|
import Check from '@mui/icons-material/Check'
|
|
2
|
-
import { List } from '@mui/material'
|
|
2
|
+
import { Box, List } from '@mui/material'
|
|
3
|
+
import { useRef } from 'react'
|
|
3
4
|
import { useTranslation } from 'react-i18next'
|
|
4
5
|
import { ListItemText } from '../components/ListItemText.js'
|
|
5
6
|
import { PageContainer } from '../components/PageContainer.js'
|
|
6
7
|
import { SettingsListItemButton } from '../components/SettingsListItemButton.js'
|
|
7
8
|
import { useHeader } from '../hooks/useHeader.js'
|
|
8
9
|
import { useLanguages } from '../hooks/useLanguages.js'
|
|
10
|
+
import { useListHeight } from '../hooks/useListHeight.js'
|
|
9
11
|
import { languageNames } from '../providers/I18nProvider/constants.js'
|
|
10
12
|
|
|
11
13
|
export const LanguagesPage: React.FC = () => {
|
|
12
14
|
const { t } = useTranslation()
|
|
15
|
+
const listParentRef = useRef<HTMLDivElement>(null)
|
|
13
16
|
const { selectedLanguageCode, availableLanguages, setLanguageWithCode } =
|
|
14
17
|
useLanguages()
|
|
15
18
|
|
|
16
19
|
useHeader(t('language.title'))
|
|
17
20
|
|
|
21
|
+
const { listHeight } = useListHeight({
|
|
22
|
+
listParentRef,
|
|
23
|
+
})
|
|
24
|
+
|
|
18
25
|
if (availableLanguages.length < 1) {
|
|
19
26
|
return null
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
return (
|
|
23
30
|
<PageContainer disableGutters>
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}}
|
|
31
|
+
<Box
|
|
32
|
+
className="long-list"
|
|
33
|
+
ref={listParentRef}
|
|
34
|
+
style={{ height: listHeight, overflow: 'auto' }}
|
|
28
35
|
>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
<List
|
|
37
|
+
sx={{
|
|
38
|
+
padding: 1.5,
|
|
39
|
+
}}
|
|
40
|
+
>
|
|
41
|
+
{availableLanguages.map((language) => (
|
|
42
|
+
<SettingsListItemButton
|
|
43
|
+
key={language}
|
|
44
|
+
onClick={() => setLanguageWithCode(language)}
|
|
45
|
+
>
|
|
46
|
+
<ListItemText
|
|
47
|
+
primary={
|
|
48
|
+
languageNames[language as keyof typeof languageNames] ||
|
|
49
|
+
t('language.name', {
|
|
50
|
+
lng: language,
|
|
51
|
+
}) ||
|
|
52
|
+
language
|
|
53
|
+
}
|
|
54
|
+
/>
|
|
55
|
+
{selectedLanguageCode === language && <Check color="primary" />}
|
|
56
|
+
</SettingsListItemButton>
|
|
57
|
+
))}
|
|
58
|
+
</List>
|
|
59
|
+
</Box>
|
|
47
60
|
</PageContainer>
|
|
48
61
|
)
|
|
49
62
|
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Route } from '@lifi/sdk'
|
|
2
2
|
import { useAccount } from '@lifi/wallet-management'
|
|
3
|
+
import { Box } from '@mui/material'
|
|
3
4
|
import { useNavigate } from '@tanstack/react-router'
|
|
4
|
-
import { type JSX, useMemo } from 'react'
|
|
5
|
+
import { type JSX, useMemo, useRef } from 'react'
|
|
5
6
|
import { useTranslation } from 'react-i18next'
|
|
7
|
+
import { PageContainer } from '../../components/PageContainer.js'
|
|
6
8
|
import { ProgressToNextUpdate } from '../../components/ProgressToNextUpdate.js'
|
|
7
9
|
import { RouteCard } from '../../components/RouteCard/RouteCard.js'
|
|
8
10
|
import { RouteCardSkeleton } from '../../components/RouteCard/RouteCardSkeleton.js'
|
|
9
11
|
import { RouteNotFoundCard } from '../../components/RouteCard/RouteNotFoundCard.js'
|
|
10
12
|
import { useHeader } from '../../hooks/useHeader.js'
|
|
13
|
+
import { useListHeight } from '../../hooks/useListHeight.js'
|
|
11
14
|
import { useRoutes } from '../../hooks/useRoutes.js'
|
|
12
15
|
import { useToAddressRequirements } from '../../hooks/useToAddressRequirements.js'
|
|
13
16
|
import { useWidgetEvents } from '../../hooks/useWidgetEvents.js'
|
|
@@ -20,6 +23,7 @@ export const RoutesPage = (): JSX.Element => {
|
|
|
20
23
|
const { t } = useTranslation()
|
|
21
24
|
const navigate = useNavigate()
|
|
22
25
|
const emitter = useWidgetEvents()
|
|
26
|
+
const listParentRef = useRef<HTMLDivElement>(null)
|
|
23
27
|
const {
|
|
24
28
|
routes,
|
|
25
29
|
isLoading,
|
|
@@ -50,6 +54,10 @@ export const RoutesPage = (): JSX.Element => {
|
|
|
50
54
|
|
|
51
55
|
useHeader(t('header.receive'), headerAction)
|
|
52
56
|
|
|
57
|
+
const { listHeight } = useListHeight({
|
|
58
|
+
listParentRef,
|
|
59
|
+
})
|
|
60
|
+
|
|
53
61
|
const handleRouteClick = (route: Route) => {
|
|
54
62
|
setReviewableRoute(route)
|
|
55
63
|
navigate({
|
|
@@ -69,31 +77,34 @@ export const RoutesPage = (): JSX.Element => {
|
|
|
69
77
|
const allowInteraction = account.isConnected && !toAddressUnsatisfied
|
|
70
78
|
|
|
71
79
|
return (
|
|
72
|
-
<
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
80
|
+
<PageContainer disableGutters>
|
|
81
|
+
<Box
|
|
82
|
+
className="long-list"
|
|
83
|
+
ref={listParentRef}
|
|
84
|
+
style={{ height: listHeight, overflow: 'auto' }}
|
|
85
|
+
>
|
|
86
|
+
<Stack direction="column" spacing={2} sx={{ pt: 1.5 }}>
|
|
87
|
+
{routeNotFound ? (
|
|
88
|
+
<RouteNotFoundCard />
|
|
89
|
+
) : isLoading && !routes?.length ? (
|
|
90
|
+
Array.from({ length: 3 }).map((_, index) => (
|
|
91
|
+
<RouteCardSkeleton key={index} />
|
|
92
|
+
))
|
|
93
|
+
) : (
|
|
94
|
+
routes?.map((route: Route, index: number) => (
|
|
95
|
+
<RouteCard
|
|
96
|
+
key={index}
|
|
97
|
+
route={route}
|
|
98
|
+
onClick={
|
|
99
|
+
allowInteraction ? () => handleRouteClick(route) : undefined
|
|
100
|
+
}
|
|
101
|
+
active={index === 0}
|
|
102
|
+
expanded={routes?.length === 1}
|
|
103
|
+
/>
|
|
104
|
+
))
|
|
105
|
+
)}
|
|
106
|
+
</Stack>
|
|
107
|
+
</Box>
|
|
108
|
+
</PageContainer>
|
|
98
109
|
)
|
|
99
110
|
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
import { useTranslation } from 'react-i18next'
|
|
11
11
|
import { useAvailableChains } from '../../hooks/useAvailableChains.js'
|
|
12
12
|
import { useInitializeSDKProviders } from '../../hooks/useInitializeSDKProviders.js'
|
|
13
|
+
import { getConfigItemSets, isItemAllowedForSets } from '../../utils/item.js'
|
|
13
14
|
import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
|
|
14
15
|
import { useExternalWalletProvider } from './useExternalWalletProvider.js'
|
|
15
16
|
|
|
@@ -21,12 +22,23 @@ export const WalletProvider = ({
|
|
|
21
22
|
children,
|
|
22
23
|
providers,
|
|
23
24
|
}: PropsWithChildren<WalletProviderProps>): JSX.Element => {
|
|
24
|
-
const { walletConfig } = useWidgetConfig()
|
|
25
|
+
const { walletConfig, chains: chainsConfig } = useWidgetConfig()
|
|
25
26
|
const { chains } = useAvailableChains()
|
|
26
27
|
const { i18n } = useTranslation()
|
|
27
28
|
const { useExternalWalletProvidersOnly, internalChainTypes } =
|
|
28
29
|
useExternalWalletProvider()
|
|
29
30
|
|
|
31
|
+
// Restrict offered wallets to the ecosystems allowed by chains.types config.
|
|
32
|
+
const enabledChainTypes = useMemo(() => {
|
|
33
|
+
const chainTypeSets = getConfigItemSets(
|
|
34
|
+
chainsConfig?.types,
|
|
35
|
+
(items) => new Set(items)
|
|
36
|
+
)
|
|
37
|
+
return internalChainTypes.filter((chainType) =>
|
|
38
|
+
isItemAllowedForSets(chainType, chainTypeSets)
|
|
39
|
+
)
|
|
40
|
+
}, [internalChainTypes, chainsConfig?.types])
|
|
41
|
+
|
|
30
42
|
if (
|
|
31
43
|
!providers.length &&
|
|
32
44
|
!useExternalWalletProvidersOnly &&
|
|
@@ -40,12 +52,12 @@ export const WalletProvider = ({
|
|
|
40
52
|
const walletManagementConfig = useMemo(
|
|
41
53
|
() => ({
|
|
42
54
|
locale: i18n.resolvedLanguage as never,
|
|
43
|
-
enabledChainTypes
|
|
55
|
+
enabledChainTypes,
|
|
44
56
|
walletEcosystemsOrder: walletConfig?.walletEcosystemsOrder,
|
|
45
57
|
}),
|
|
46
58
|
[
|
|
47
59
|
i18n.resolvedLanguage,
|
|
48
|
-
|
|
60
|
+
enabledChainTypes,
|
|
49
61
|
walletConfig?.walletEcosystemsOrder,
|
|
50
62
|
]
|
|
51
63
|
)
|
package/src/shared.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
2
|
+
// @lifi/widget/shared
|
|
3
|
+
//
|
|
4
|
+
// Internal surface shared with sibling packages (currently @lifi/widget-checkout).
|
|
5
|
+
// These exports are NOT part of the public widget API. They may change in any
|
|
6
|
+
// release without notice. Application code must not depend on this subpath.
|
|
7
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
|
|
9
|
+
// Propagate widget's MUI theme augmentations (theme.vars, custom palette keys,
|
|
10
|
+
// component variants) to any consumer that imports through this subpath.
|
|
11
|
+
import type {} from '@mui/material/themeCssVarsAugmentation'
|
|
12
|
+
import type {} from './themes/types.js'
|
|
13
|
+
|
|
14
|
+
// ── components ───────────────────────────────────────────────────────────────
|
|
15
|
+
export { ActionRow } from './components/ActionRow/ActionRow.js'
|
|
16
|
+
export {
|
|
17
|
+
FormControl,
|
|
18
|
+
Input,
|
|
19
|
+
} from './components/AmountInput/AmountInput.style.js'
|
|
20
|
+
export { AmountInputEndAdornment } from './components/AmountInput/AmountInputEndAdornment.js'
|
|
21
|
+
export { InputPriceButton } from './components/AmountInput/PriceFormHelperText.style.js'
|
|
22
|
+
export { AvatarBadgedDefault } from './components/Avatar/Avatar.js'
|
|
23
|
+
export { TokenAvatar } from './components/Avatar/TokenAvatar.js'
|
|
24
|
+
export { BaseTransactionButton } from './components/BaseTransactionButton/BaseTransactionButton.js'
|
|
25
|
+
export type { BottomSheetBase } from './components/BottomSheet/types.js'
|
|
26
|
+
export { ButtonTertiary } from './components/ButtonTertiary.js'
|
|
27
|
+
export { Card } from './components/Card/Card.js'
|
|
28
|
+
export { CardIconButton } from './components/Card/CardIconButton.js'
|
|
29
|
+
export { CardTitle } from './components/Card/CardTitle.js'
|
|
30
|
+
export { InputCard } from './components/Card/InputCard.js'
|
|
31
|
+
export { ChainSelect } from './components/ChainSelect/ChainSelect.js'
|
|
32
|
+
export { ChainAvatar } from './components/ChainSelect/ChainSelect.style.js'
|
|
33
|
+
export { ContractComponent } from './components/ContractComponent/ContractComponent.js'
|
|
34
|
+
export { ExecutionStatusCard } from './components/ExecutionStatusCard/ExecutionStatusCard.js'
|
|
35
|
+
export { StatusIcon } from './components/ExecutionStatusCard/StatusIcon.js'
|
|
36
|
+
export { FeeBreakdownTooltip } from './components/FeeBreakdownTooltip.js'
|
|
37
|
+
export { IconCircle } from './components/IconCircle/IconCircle.js'
|
|
38
|
+
export { IconTypography } from './components/IconTypography.js'
|
|
39
|
+
export { ListItemButton } from './components/ListItem/ListItemButton.js'
|
|
40
|
+
export { WarningMessages } from './components/Messages/WarningMessages.js'
|
|
41
|
+
export { PageContainer } from './components/PageContainer.js'
|
|
42
|
+
export { PoweredBy } from './components/PoweredBy/PoweredBy.js'
|
|
43
|
+
export { ProgressToNextUpdate } from './components/ProgressToNextUpdate.js'
|
|
44
|
+
export { RouteCard } from './components/RouteCard/RouteCard.js'
|
|
45
|
+
export { RouteCardSkeleton } from './components/RouteCard/RouteCardSkeleton.js'
|
|
46
|
+
export { RouteDetails } from './components/RouteCard/RouteDetails.js'
|
|
47
|
+
export {
|
|
48
|
+
DetailInfoIcon,
|
|
49
|
+
DetailLabel,
|
|
50
|
+
DetailLabelContainer,
|
|
51
|
+
DetailRow,
|
|
52
|
+
DetailValue,
|
|
53
|
+
} from './components/RouteCard/RouteDetails.style.js'
|
|
54
|
+
export { RouteNotFoundCard } from './components/RouteCard/RouteNotFoundCard.js'
|
|
55
|
+
export { RouteTokens } from './components/RouteCard/RouteTokens.js'
|
|
56
|
+
export { SearchInput } from './components/Search/SearchInput.js'
|
|
57
|
+
export { SendToWalletButton } from './components/SendToWallet/SendToWalletButton.js'
|
|
58
|
+
export {
|
|
59
|
+
type ExecutionRow,
|
|
60
|
+
useExecutionRows,
|
|
61
|
+
} from './components/StepActions/executionRows.js'
|
|
62
|
+
export { SentToWalletRow } from './components/StepActions/SentToWalletRow.js'
|
|
63
|
+
export { ExternalLink } from './components/StepActions/StepActionRow.style.js'
|
|
64
|
+
export { StepActionsList } from './components/StepActions/StepActionsList.js'
|
|
65
|
+
export { Token } from './components/Token/Token.js'
|
|
66
|
+
export { TokenNotFound } from './components/TokenList/TokenNotFound.js'
|
|
67
|
+
export { useTokenSelect } from './components/TokenList/useTokenSelect.js'
|
|
68
|
+
export { VirtualizedTokenList } from './components/TokenList/VirtualizedTokenList.js'
|
|
69
|
+
export { TokenRate } from './components/TokenRate/TokenRate.js'
|
|
70
|
+
export {
|
|
71
|
+
DateLabelContainer,
|
|
72
|
+
DateLabelText,
|
|
73
|
+
} from './components/TransactionCard/TransactionCard.style.js'
|
|
74
|
+
// ── hooks ────────────────────────────────────────────────────────────────────
|
|
75
|
+
export { useAddressActivity } from './hooks/useAddressActivity.js'
|
|
76
|
+
export {
|
|
77
|
+
AddressType,
|
|
78
|
+
useAddressValidation,
|
|
79
|
+
} from './hooks/useAddressValidation.js'
|
|
80
|
+
export { useAvailableChains } from './hooks/useAvailableChains.js'
|
|
81
|
+
export { useChain } from './hooks/useChain.js'
|
|
82
|
+
export { useContactSupport } from './hooks/useContactSupport.js'
|
|
83
|
+
export { useDebouncedWatch } from './hooks/useDebouncedWatch.js'
|
|
84
|
+
export { useExplorer } from './hooks/useExplorer.js'
|
|
85
|
+
export { useHeader } from './hooks/useHeader.js'
|
|
86
|
+
export { useListHeight } from './hooks/useListHeight.js'
|
|
87
|
+
export { useNavigateBack } from './hooks/useNavigateBack.js'
|
|
88
|
+
export { useRouteExecution } from './hooks/useRouteExecution.js'
|
|
89
|
+
export { useRouteExecutionMessage } from './hooks/useRouteExecutionMessage.js'
|
|
90
|
+
export { useRoutes } from './hooks/useRoutes.js'
|
|
91
|
+
export { useToAddressRequirements } from './hooks/useToAddressRequirements.js'
|
|
92
|
+
export { useToken } from './hooks/useToken.js'
|
|
93
|
+
export { useTokenAddressBalance } from './hooks/useTokenAddressBalance.js'
|
|
94
|
+
export { useTokenBalances } from './hooks/useTokenBalances.js'
|
|
95
|
+
export { useTokenList } from './hooks/useTokenList.js'
|
|
96
|
+
export { useTools } from './hooks/useTools.js'
|
|
97
|
+
export { useWidgetEvents } from './hooks/useWidgetEvents.js'
|
|
98
|
+
// ── pages ────────────────────────────────────────────────────────────────────
|
|
99
|
+
export { MainWarningMessages } from './pages/MainPage/MainWarningMessages.js'
|
|
100
|
+
export { Stack } from './pages/RoutesPage/RoutesPage.style.js'
|
|
101
|
+
export { SelectChainPage } from './pages/SelectChainPage/SelectChainPage.js'
|
|
102
|
+
export { SearchTokenInput } from './pages/SelectTokenPage/SearchTokenInput.js'
|
|
103
|
+
export { ContactSupportButton } from './pages/TransactionDetailsPage/ContactSupportButton.js'
|
|
104
|
+
export { ConfirmToAddressSheet } from './pages/TransactionPage/ConfirmToAddressSheet.js'
|
|
105
|
+
export {
|
|
106
|
+
ExchangeRateBottomSheet,
|
|
107
|
+
type ExchangeRateBottomSheetBase,
|
|
108
|
+
} from './pages/TransactionPage/ExchangeRateBottomSheet.js'
|
|
109
|
+
export { ExecutionDoneCard } from './pages/TransactionPage/ExecutionDoneCard.js'
|
|
110
|
+
export { RouteTracker } from './pages/TransactionPage/RouteTracker.js'
|
|
111
|
+
export { StartTransactionButton } from './pages/TransactionPage/StartTransactionButton.js'
|
|
112
|
+
export { TokenValueBottomSheet } from './pages/TransactionPage/TokenValueBottomSheet.js'
|
|
113
|
+
export { TransactionDoneButtons } from './pages/TransactionPage/TransactionDoneButtons.js'
|
|
114
|
+
export {
|
|
115
|
+
calculateValueLossPercentage,
|
|
116
|
+
getTokenValueLossThreshold,
|
|
117
|
+
} from './pages/TransactionPage/utils.js'
|
|
118
|
+
|
|
119
|
+
// ── providers ────────────────────────────────────────────────────────────────
|
|
120
|
+
export { I18nProvider } from './providers/I18nProvider/I18nProvider.js'
|
|
121
|
+
export { QueryClientProvider } from './providers/QueryClientProvider.js'
|
|
122
|
+
export {
|
|
123
|
+
SDKClientProvider,
|
|
124
|
+
useSDKClient,
|
|
125
|
+
} from './providers/SDKClientProvider.js'
|
|
126
|
+
export { WalletProvider } from './providers/WalletProvider/WalletProvider.js'
|
|
127
|
+
export {
|
|
128
|
+
useWidgetConfig,
|
|
129
|
+
WidgetProvider,
|
|
130
|
+
} from './providers/WidgetProvider/WidgetProvider.js'
|
|
131
|
+
|
|
132
|
+
// ── stores ───────────────────────────────────────────────────────────────────
|
|
133
|
+
export { BookmarkStoreProvider } from './stores/bookmarks/BookmarkStore.js'
|
|
134
|
+
export { useChainOrderStore } from './stores/chains/ChainOrderStore.js'
|
|
135
|
+
export {
|
|
136
|
+
FormKeyHelper,
|
|
137
|
+
type FormType,
|
|
138
|
+
type FormTypeProps,
|
|
139
|
+
} from './stores/form/types.js'
|
|
140
|
+
export { useFieldActions } from './stores/form/useFieldActions.js'
|
|
141
|
+
export { useFieldValues } from './stores/form/useFieldValues.js'
|
|
142
|
+
export {
|
|
143
|
+
useHeaderStore,
|
|
144
|
+
useSetHeaderHeight,
|
|
145
|
+
} from './stores/header/useHeaderStore.js'
|
|
146
|
+
export { useInputModeStore } from './stores/inputMode/useInputModeStore.js'
|
|
147
|
+
export {
|
|
148
|
+
useRouteExecutionStore,
|
|
149
|
+
useRouteExecutionStoreContext,
|
|
150
|
+
} from './stores/routes/RouteExecutionStore.js'
|
|
151
|
+
export { RouteExecutionStatus } from './stores/routes/types.js'
|
|
152
|
+
export {
|
|
153
|
+
getSourceTxHash,
|
|
154
|
+
isRouteActive,
|
|
155
|
+
isRouteDone,
|
|
156
|
+
isRouteFailed,
|
|
157
|
+
} from './stores/routes/utils.js'
|
|
158
|
+
export { StoreProvider } from './stores/StoreProvider.js'
|
|
159
|
+
export {
|
|
160
|
+
SettingsStoreProvider,
|
|
161
|
+
useSettingsStoreContext,
|
|
162
|
+
} from './stores/settings/SettingsStore.js'
|
|
163
|
+
|
|
164
|
+
// ── themes ───────────────────────────────────────────────────────────────────
|
|
165
|
+
export { createTheme } from './themes/createTheme.js'
|
|
166
|
+
|
|
167
|
+
// ── types ────────────────────────────────────────────────────────────────────
|
|
168
|
+
export { WidgetEvent } from './types/events.js'
|
|
169
|
+
export type {
|
|
170
|
+
FormRef,
|
|
171
|
+
WidgetConfig,
|
|
172
|
+
WidgetTheme,
|
|
173
|
+
} from './types/widget.js'
|
|
174
|
+
|
|
175
|
+
// ── utils ────────────────────────────────────────────────────────────────────
|
|
176
|
+
export { buildRouteFromTxHistory } from './utils/converters.js'
|
|
177
|
+
export { createElementId, ElementId } from './utils/elements.js'
|
|
178
|
+
export { hasEnumFlag } from './utils/enum.js'
|
|
179
|
+
export { getAccumulatedFeeCostsBreakdown } from './utils/fees.js'
|
|
180
|
+
export {
|
|
181
|
+
formatDuration,
|
|
182
|
+
formatInputAmount,
|
|
183
|
+
formatTokenAmount,
|
|
184
|
+
formatTokenPrice,
|
|
185
|
+
priceToTokenAmount,
|
|
186
|
+
usdDecimals,
|
|
187
|
+
} from './utils/format.js'
|
|
188
|
+
export { getPriceImpact } from './utils/getPriceImpact.js'
|
|
189
|
+
export { fitInputText } from './utils/input.js'
|
|
190
|
+
export { navigationRoutes } from './utils/navigationRoutes.js'
|
|
191
|
+
export { shortenAddress } from './utils/wallet.js'
|
package/src/stores/form/types.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface DefaultFieldValues {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export interface DefaultValues extends DefaultFieldValues {
|
|
15
|
+
cashFiatAmount: string
|
|
15
16
|
contractCalls?: ContractCall[]
|
|
16
17
|
tokenSearchFilter: string
|
|
17
18
|
/** Limit-order: when true, the price is displayed/entered inverted. */
|
package/src/utils/tokenList.ts
CHANGED
|
@@ -15,8 +15,8 @@ const sortByBalances = (a: TokenAmount, b: TokenAmount) =>
|
|
|
15
15
|
const sortByVolume = (a: TokenExtended, b: TokenExtended) =>
|
|
16
16
|
(b.volumeUSD24H ?? 0) - (a.volumeUSD24H ?? 0)
|
|
17
17
|
|
|
18
|
-
export const
|
|
19
|
-
|
|
18
|
+
export const processTokenList = (
|
|
19
|
+
withoutBalances: boolean,
|
|
20
20
|
noCategories: boolean,
|
|
21
21
|
configTokens?: WidgetTokens,
|
|
22
22
|
selectedChainId?: number,
|
|
@@ -28,7 +28,7 @@ export const processTokenBalances = (
|
|
|
28
28
|
withCategories: boolean
|
|
29
29
|
withPinnedTokens: boolean
|
|
30
30
|
} => {
|
|
31
|
-
if (
|
|
31
|
+
if (withoutBalances) {
|
|
32
32
|
if (noCategories) {
|
|
33
33
|
const sortedTokens = [...(tokens ?? [])].sort(sortByVolume)
|
|
34
34
|
// Separate pinned tokens
|