@lifi/widget 4.0.0 → 4.1.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 +4 -2
- package/dist/esm/App.d.ts.map +1 -1
- package/dist/esm/App.js +4 -4
- package/dist/esm/App.js.map +1 -1
- package/dist/esm/AppDrawer.d.ts +1 -1
- package/dist/esm/AppDrawer.d.ts.map +1 -1
- package/dist/esm/AppDrawer.js +5 -6
- package/dist/esm/AppDrawer.js.map +1 -1
- package/dist/esm/AppDrawerContext.js +2 -2
- package/dist/esm/AppDrawerContext.js.map +1 -1
- package/dist/esm/components/ActionRow/ActionRow.style.js.map +1 -1
- package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
- package/dist/esm/components/AmountInput/AmountInput.style.js.map +1 -1
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js.map +1 -1
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.js.map +1 -1
- package/dist/esm/components/AppContainer.js.map +1 -1
- package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.style.js.map +1 -1
- package/dist/esm/components/Avatar/SmallAvatar.js.map +1 -1
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +1 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/dist/esm/components/BottomSheet/BottomSheet.js +3 -3
- package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/esm/components/ButtonTertiary.js.map +1 -1
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/CardButton.style.js.map +1 -1
- package/dist/esm/components/Card/CardHeader.js.map +1 -1
- package/dist/esm/components/Card/CardIconButton.js.map +1 -1
- package/dist/esm/components/Card/CardLabel.js.map +1 -1
- package/dist/esm/components/Card/CardTitle.js.map +1 -1
- package/dist/esm/components/Card/InputCard.js.map +1 -1
- package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
- package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -1
- package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -1
- package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -1
- package/dist/esm/components/Chains/ChainList.js.map +1 -1
- package/dist/esm/components/Chains/ChainList.style.js.map +1 -1
- package/dist/esm/components/Chains/ChainsExpanded.style.js.map +1 -1
- package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
- package/dist/esm/components/ContextMenu.style.js.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.style.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.style.js.map +1 -1
- package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js.map +1 -1
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -1
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js.map +1 -1
- package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
- package/dist/esm/components/Expansion/Expansion.style.js.map +1 -1
- package/dist/esm/components/Header/ActivitiesButton.style.js.map +1 -1
- package/dist/esm/components/Header/CloseDrawerButton.js +1 -0
- package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -1
- package/dist/esm/components/Header/Header.js +7 -10
- package/dist/esm/components/Header/Header.js.map +1 -1
- package/dist/esm/components/Header/Header.style.js.map +1 -1
- package/dist/esm/components/Header/HeaderNavigationTabs.js +26 -0
- package/dist/esm/components/Header/HeaderNavigationTabs.js.map +1 -0
- package/dist/esm/components/Header/HeaderTabs.js +33 -0
- package/dist/esm/components/Header/HeaderTabs.js.map +1 -0
- package/dist/esm/components/Header/NavigationHeader.js +7 -5
- package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
- package/dist/esm/components/Header/SettingsButton.style.js.map +1 -1
- package/dist/esm/components/Header/WalletMenu.style.js.map +1 -1
- package/dist/esm/components/IconCircle/IconCircle.style.js.map +1 -1
- package/dist/esm/components/IconTypography.js.map +1 -1
- package/dist/esm/components/Input.js.map +1 -1
- package/dist/esm/components/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/ListItem/ListItemButton.js.map +1 -1
- package/dist/esm/components/ListItemButton.js.map +1 -1
- package/dist/esm/components/ListItemText.js.map +1 -1
- package/dist/esm/components/Menu.js.map +1 -1
- package/dist/esm/components/Messages/AlertMessage.style.js.map +1 -1
- package/dist/esm/components/Messages/GasRefuelMessage.style.js.map +1 -1
- package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
- package/dist/esm/components/PageContainer.js.map +1 -1
- package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/esm/components/PoweredBy/PoweredBy.style.js.map +1 -1
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +1 -0
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteDetails.style.js +2 -2
- package/dist/esm/components/RouteCard/RouteDetails.style.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteToken.style.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
- package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -1
- package/dist/esm/components/Routes/RoutesContent.js.map +1 -1
- package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -1
- package/dist/esm/components/Search/SearchInput.style.js.map +1 -1
- package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -1
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
- package/dist/esm/components/SendToWallet/SendToWalletButton.style.js.map +1 -1
- package/dist/esm/components/SettingsListItemButton.js.map +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.js +50 -47
- package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -1
- package/dist/esm/components/Step/StepActions.js.map +1 -1
- package/dist/esm/components/Step/StepActions.style.js.map +1 -1
- package/dist/esm/components/StepActions/SentToWalletRow.style.js.map +1 -1
- package/dist/esm/components/StepActions/StepActionRow.style.js.map +1 -1
- package/dist/esm/components/Switch.js.map +1 -1
- package/dist/esm/components/Tabs/NavigationTabs.js +3 -0
- package/dist/esm/components/Tabs/NavigationTabs.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.style.js.map +1 -1
- package/dist/esm/components/Timer/StepStatusTimer.style.js.map +1 -1
- package/dist/esm/components/Token/Token.style.js.map +1 -1
- package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -1
- package/dist/esm/components/TokenList/TokenDetailsSheet.js +4 -4
- package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +4 -4
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js.map +1 -1
- package/dist/esm/components/TokenList/TokenList.style.js.map +1 -1
- package/dist/esm/components/TokenList/TokenListItem.js +2 -2
- package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
- package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/dist/esm/components/TokenList/useTokenSelect.js +3 -3
- package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
- package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -1
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
- package/dist/esm/components/TransactionCard/TransactionCard.style.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/config/version.js.map +1 -1
- package/dist/esm/hooks/timer/validate.js.map +1 -1
- package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -1
- package/dist/esm/hooks/useAvailableChains.js +1 -1
- package/dist/esm/hooks/useChainSearch.js.map +1 -1
- package/dist/esm/hooks/useChains.js +1 -1
- package/dist/esm/hooks/useExplorer.js.map +1 -1
- package/dist/esm/hooks/useFilteredByTokenBalances.js +1 -1
- package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -1
- package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
- package/dist/esm/hooks/useLanguages.js +2 -2
- package/dist/esm/hooks/useLanguages.js.map +1 -1
- package/dist/esm/hooks/useRouteExecution.js.map +1 -1
- package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
- package/dist/esm/hooks/useRouteRequiredAccountConnection.js.map +1 -1
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/hooks/useSwapOnly.js +2 -4
- package/dist/esm/hooks/useSwapOnly.js.map +1 -1
- package/dist/esm/hooks/useToAddressRequirements.js +2 -2
- package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
- package/dist/esm/hooks/useToken.js.map +1 -1
- package/dist/esm/hooks/useTokenBalance.js.map +1 -1
- package/dist/esm/hooks/useTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -1
- package/dist/esm/hooks/useTokenSearch.js +1 -1
- package/dist/esm/hooks/useTokenSearch.js.map +1 -1
- package/dist/esm/hooks/useTokens.js +1 -1
- package/dist/esm/hooks/useTokens.js.map +1 -1
- package/dist/esm/hooks/useTools.js +1 -1
- package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
- package/dist/esm/hooks/useTransactionHistory.js.map +1 -1
- package/dist/esm/hooks/useTransactionList.js.map +1 -1
- package/dist/esm/i18n/en.json +3 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
- package/dist/esm/pages/MainPage/ReviewButton.js +2 -2
- package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -1
- package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/dist/esm/pages/RoutesPage/RoutesPage.style.js.map +1 -1
- package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +3 -3
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +3 -3
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -1
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/GasPriceSettings.js +1 -1
- package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js.map +1 -1
- package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +3 -3
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +3 -3
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -1
- package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js.map +1 -1
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -1
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +3 -3
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +16 -15
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js.map +1 -1
- package/dist/esm/pages/TransactionPage/RouteTracker.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +3 -3
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +27 -31
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
- package/dist/esm/pages/TransactionPage/utils.js.map +1 -1
- package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
- package/dist/esm/providers/I18nProvider/i18n.js.map +1 -1
- package/dist/esm/providers/QueryClientProvider.js +2 -2
- package/dist/esm/providers/QueryClientProvider.js.map +1 -1
- package/dist/esm/providers/SDKClientProvider.js +26 -27
- package/dist/esm/providers/SDKClientProvider.js.map +1 -1
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js +25 -27
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
- package/dist/esm/stores/StoreProvider.js +3 -4
- package/dist/esm/stores/StoreProvider.js.map +1 -1
- package/dist/esm/stores/bookmarks/BookmarkStore.js +3 -3
- package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -1
- package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -1
- package/dist/esm/stores/chains/ChainOrderStore.js +4 -4
- package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
- package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
- package/dist/esm/stores/form/FormStore.js +1 -1
- package/dist/esm/stores/form/FormStore.js.map +1 -1
- package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
- package/dist/esm/stores/form/createFormStore.js.map +1 -1
- package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -1
- package/dist/esm/stores/form/useFieldActions.js.map +1 -1
- package/dist/esm/stores/form/useFieldValues.js.map +1 -1
- package/dist/esm/stores/form/useFormRef.js.map +1 -1
- package/dist/esm/stores/form/useFormStore.js +2 -2
- package/dist/esm/stores/form/useFormStore.js.map +1 -1
- package/dist/esm/stores/header/useHeaderStore.js +3 -3
- package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
- package/dist/esm/stores/inputMode/useInputModeStore.js.map +1 -1
- package/dist/esm/stores/navigationTabs/useNavigationTabLabel.js +22 -0
- package/dist/esm/stores/navigationTabs/useNavigationTabLabel.js.map +1 -0
- package/dist/esm/stores/navigationTabs/useNavigationTabsStore.js +62 -0
- package/dist/esm/stores/navigationTabs/useNavigationTabsStore.js.map +1 -0
- package/dist/esm/stores/navigationTabs/utils.js +92 -0
- package/dist/esm/stores/navigationTabs/utils.js.map +1 -0
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +3 -3
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -1
- package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -1
- package/dist/esm/stores/routes/RouteExecutionStore.js +3 -3
- package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
- package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
- package/dist/esm/stores/routes/useIntermediateRoutesStore.js.map +1 -1
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
- package/dist/esm/stores/routes/utils.js.map +1 -1
- package/dist/esm/stores/settings/SettingsStore.js +3 -3
- package/dist/esm/stores/settings/SettingsStore.js.map +1 -1
- package/dist/esm/stores/settings/createSettingsStore.js +122 -96
- package/dist/esm/stores/settings/createSettingsStore.js.map +1 -1
- package/dist/esm/stores/settings/types.d.ts +0 -2
- package/dist/esm/stores/settings/types.d.ts.map +1 -1
- package/dist/esm/stores/settings/types.js.map +1 -1
- package/dist/esm/stores/settings/useSettingsActions.js.map +1 -1
- package/dist/esm/themes/createTheme.js.map +1 -1
- package/dist/esm/themes/utils.js.map +1 -1
- package/dist/esm/types/widget.d.ts +19 -2
- package/dist/esm/types/widget.d.ts.map +1 -1
- package/dist/esm/types/widget.js.map +1 -1
- package/dist/esm/utils/compactNumberFormatter.js.map +1 -1
- package/dist/esm/utils/converters.js.map +1 -1
- package/dist/esm/utils/deepEqual.js.map +1 -1
- package/dist/esm/utils/fees.js.map +1 -1
- package/dist/esm/utils/format.js.map +1 -1
- package/dist/esm/utils/getActionMessage.js.map +1 -1
- package/dist/esm/utils/getErrorMessage.js.map +1 -1
- package/dist/esm/utils/item.js.map +1 -1
- package/dist/esm/utils/{variant.js → mode.js} +2 -2
- package/dist/esm/utils/mode.js.map +1 -0
- package/dist/esm/utils/prepareActions.js +1 -1
- package/dist/esm/utils/prepareActions.js.map +1 -1
- package/dist/esm/utils/timer.js.map +1 -1
- package/dist/esm/utils/token.js +1 -1
- package/dist/esm/utils/token.js.map +1 -1
- package/dist/esm/utils/tokenList.js.map +1 -1
- package/package.json +11 -11
- package/src/App.tsx +7 -7
- package/src/AppDrawer.tsx +77 -78
- package/src/AppDrawerContext.ts +2 -2
- package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +1 -0
- package/src/components/BottomSheet/BottomSheet.tsx +56 -52
- package/src/components/Header/CloseDrawerButton.tsx +5 -1
- package/src/components/Header/Header.tsx +20 -18
- package/src/components/Header/HeaderNavigationTabs.tsx +25 -0
- package/src/components/Header/HeaderTabs.tsx +48 -0
- package/src/components/Header/NavigationHeader.tsx +11 -8
- package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +4 -1
- package/src/components/Skeleton/WidgetSkeleton.tsx +1 -1
- package/src/components/Tabs/NavigationTabs.tsx +3 -0
- package/src/components/TokenList/TokenDetailsSheet.tsx +9 -7
- package/src/components/TokenList/TokenDetailsSheetContent.tsx +176 -177
- package/src/components/TokenList/useTokenSelect.ts +2 -2
- package/src/config/version.ts +1 -1
- package/src/hooks/useSwapOnly.ts +2 -5
- package/src/hooks/useToAddressRequirements.ts +2 -2
- package/src/pages/MainPage/ReviewButton.tsx +2 -2
- package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +176 -185
- package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +9 -6
- package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +58 -65
- package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +4 -4
- package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +9 -6
- package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +53 -58
- package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +24 -21
- package/src/pages/TransactionPage/TransactionExecutionContent.tsx +8 -6
- package/src/providers/QueryClientProvider.tsx +2 -2
- package/src/providers/SDKClientProvider.tsx +3 -7
- package/src/providers/WidgetProvider/WidgetProvider.tsx +6 -7
- package/src/stores/StoreProvider.tsx +3 -10
- package/src/stores/bookmarks/BookmarkStore.tsx +4 -4
- package/src/stores/chains/ChainOrderStore.tsx +4 -4
- package/src/stores/form/FormStore.tsx +2 -2
- package/src/stores/form/useFormStore.ts +2 -2
- package/src/stores/header/useHeaderStore.tsx +3 -5
- package/src/stores/navigationTabs/types.ts +27 -0
- package/src/stores/navigationTabs/useNavigationTabLabel.ts +28 -0
- package/src/stores/navigationTabs/useNavigationTabsStore.tsx +108 -0
- package/src/stores/navigationTabs/utils.ts +134 -0
- package/src/stores/pinnedTokens/PinnedTokensStore.tsx +4 -4
- package/src/stores/routes/RouteExecutionStore.tsx +4 -4
- package/src/stores/settings/SettingsStore.tsx +4 -4
- package/src/stores/settings/createSettingsStore.ts +48 -12
- package/src/stores/settings/types.ts +1 -16
- package/src/types/widget.ts +31 -1
- package/dist/esm/components/Header/SplitNavigationTabs.js +0 -33
- package/dist/esm/components/Header/SplitNavigationTabs.js.map +0 -1
- package/dist/esm/stores/settings/useSplitModeStore.js +0 -36
- package/dist/esm/stores/settings/useSplitModeStore.js.map +0 -1
- package/dist/esm/utils/variant.js.map +0 -1
- package/src/components/Header/SplitNavigationTabs.tsx +0 -32
- package/src/stores/settings/useSplitModeStore.tsx +0 -58
- /package/src/utils/{variant.ts → mode.ts} +0 -0
package/src/AppDrawer.tsx
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { Drawer } from '@mui/material'
|
|
2
|
-
import type {
|
|
3
|
-
ForwardRefExoticComponent,
|
|
4
|
-
PropsWithChildren,
|
|
5
|
-
RefAttributes,
|
|
6
|
-
} from 'react'
|
|
2
|
+
import type { JSX, PropsWithChildren, Ref } from 'react'
|
|
7
3
|
import {
|
|
8
|
-
forwardRef,
|
|
9
4
|
useCallback,
|
|
10
5
|
useImperativeHandle,
|
|
11
6
|
useMemo,
|
|
@@ -23,82 +18,86 @@ export interface WidgetDrawer {
|
|
|
23
18
|
closeDrawer(): void
|
|
24
19
|
}
|
|
25
20
|
|
|
26
|
-
export const AppDrawer
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
export const AppDrawer = ({
|
|
22
|
+
elementRef,
|
|
23
|
+
open,
|
|
24
|
+
onClose,
|
|
25
|
+
children,
|
|
26
|
+
ref,
|
|
27
|
+
}: PropsWithChildren<WidgetDrawerProps> & {
|
|
28
|
+
ref?: Ref<WidgetDrawer>
|
|
29
|
+
}): JSX.Element => {
|
|
30
|
+
const openRef = useRef(Boolean(open))
|
|
31
|
+
const [drawerOpen, setDrawerOpen] = useState(Boolean(open))
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
const toggleDrawer = useCallback(() => {
|
|
34
|
+
setDrawerOpen((open) => {
|
|
35
|
+
openRef.current = !open
|
|
36
|
+
return openRef.current
|
|
37
|
+
})
|
|
38
|
+
if (!openRef.current) {
|
|
39
|
+
onClose?.()
|
|
40
|
+
}
|
|
41
|
+
}, [onClose])
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
const openDrawer = useCallback(() => {
|
|
44
|
+
setDrawerOpen(true)
|
|
45
|
+
openRef.current = true
|
|
46
|
+
}, [])
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
const closeDrawer = useCallback(() => {
|
|
49
|
+
setDrawerOpen(false)
|
|
50
|
+
openRef.current = false
|
|
51
|
+
onClose?.()
|
|
52
|
+
}, [onClose])
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
useImperativeHandle(
|
|
55
|
+
ref,
|
|
56
|
+
() => ({
|
|
57
|
+
isOpen: () => openRef.current,
|
|
58
|
+
toggleDrawer,
|
|
59
|
+
openDrawer,
|
|
60
|
+
closeDrawer,
|
|
61
|
+
}),
|
|
62
|
+
[closeDrawer, openDrawer, toggleDrawer]
|
|
63
|
+
)
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
const drawerContext: WidgetDrawerContext = useMemo(
|
|
66
|
+
() => ({
|
|
67
|
+
closeDrawer,
|
|
68
|
+
}),
|
|
69
|
+
[closeDrawer]
|
|
70
|
+
)
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
72
|
+
return (
|
|
73
|
+
<DrawerContext value={drawerContext}>
|
|
74
|
+
<Drawer
|
|
75
|
+
ref={elementRef}
|
|
76
|
+
anchor="right"
|
|
77
|
+
open={drawerOpen}
|
|
78
|
+
onClose={closeDrawer}
|
|
79
|
+
slotProps={{
|
|
80
|
+
paper: {
|
|
81
|
+
sx: (theme) => ({
|
|
82
|
+
background: theme.vars.palette.background.default,
|
|
83
|
+
width: theme?.container?.width ?? '100%',
|
|
84
|
+
minWidth:
|
|
85
|
+
theme?.container?.minWidth ?? theme.breakpoints.values.xs,
|
|
86
|
+
maxWidth:
|
|
87
|
+
theme?.container?.maxWidth ?? theme.breakpoints.values.sm,
|
|
88
|
+
}),
|
|
89
|
+
},
|
|
90
|
+
backdrop: {
|
|
91
|
+
sx: {
|
|
92
|
+
backgroundColor: 'rgb(0 0 0 / 48%)',
|
|
93
|
+
backdropFilter: 'blur(3px)',
|
|
89
94
|
},
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
{children}
|
|
100
|
-
</Drawer>
|
|
101
|
-
</DrawerContext.Provider>
|
|
102
|
-
)
|
|
103
|
-
}
|
|
104
|
-
)
|
|
95
|
+
},
|
|
96
|
+
}}
|
|
97
|
+
keepMounted
|
|
98
|
+
>
|
|
99
|
+
{children}
|
|
100
|
+
</Drawer>
|
|
101
|
+
</DrawerContext>
|
|
102
|
+
)
|
|
103
|
+
}
|
package/src/AppDrawerContext.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Context, createContext,
|
|
1
|
+
import { type Context, createContext, use } from 'react'
|
|
2
2
|
|
|
3
3
|
export interface WidgetDrawerContext {
|
|
4
4
|
closeDrawer?(): void
|
|
@@ -7,4 +7,4 @@ export interface WidgetDrawerContext {
|
|
|
7
7
|
export const DrawerContext: Context<WidgetDrawerContext> =
|
|
8
8
|
createContext<WidgetDrawerContext>({})
|
|
9
9
|
|
|
10
|
-
export const useDrawer = (): WidgetDrawerContext =>
|
|
10
|
+
export const useDrawer = (): WidgetDrawerContext => use(DrawerContext)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Drawer } from '@mui/material'
|
|
2
|
-
import type {
|
|
2
|
+
import type { JSX, Ref } from 'react'
|
|
3
3
|
import {
|
|
4
|
-
forwardRef,
|
|
5
4
|
startTransition,
|
|
6
5
|
useCallback,
|
|
7
6
|
useImperativeHandle,
|
|
@@ -12,56 +11,61 @@ import { useGetScrollableContainer } from '../../hooks/useScrollableContainer.js
|
|
|
12
11
|
import { modalProps, slotProps } from '../Dialog/Dialog.js'
|
|
13
12
|
import type { BottomSheetBase, BottomSheetProps } from './types.js'
|
|
14
13
|
|
|
15
|
-
export const BottomSheet
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
export const BottomSheet = ({
|
|
15
|
+
elementRef,
|
|
16
|
+
children,
|
|
17
|
+
open,
|
|
18
|
+
onClose,
|
|
19
|
+
keepMounted = false,
|
|
20
|
+
ref,
|
|
21
|
+
}: Omit<BottomSheetProps, 'ref'> & {
|
|
22
|
+
ref?: Ref<BottomSheetBase>
|
|
23
|
+
}): JSX.Element => {
|
|
24
|
+
const getContainer = useGetScrollableContainer()
|
|
25
|
+
const openRef = useRef(open)
|
|
26
|
+
const [drawerOpen, setDrawerOpen] = useState(open)
|
|
27
|
+
const [isInert, setIsInert] = useState(!open)
|
|
23
28
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
const close = useCallback(() => {
|
|
30
|
+
// Set inert first to prevent focus issues
|
|
31
|
+
setIsInert(true)
|
|
32
|
+
// Push the state update to the next event loop tick
|
|
33
|
+
// to ensure the inert is applied to before the drawer is closed
|
|
34
|
+
startTransition(() => {
|
|
35
|
+
setDrawerOpen(false)
|
|
36
|
+
openRef.current = false
|
|
37
|
+
onClose?.()
|
|
38
|
+
})
|
|
39
|
+
}, [onClose])
|
|
35
40
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
useImperativeHandle(
|
|
42
|
+
ref,
|
|
43
|
+
() => ({
|
|
44
|
+
isOpen: () => openRef.current,
|
|
45
|
+
open: () => {
|
|
46
|
+
setIsInert(false)
|
|
47
|
+
setDrawerOpen(true)
|
|
48
|
+
openRef.current = true
|
|
49
|
+
},
|
|
50
|
+
close,
|
|
51
|
+
}),
|
|
52
|
+
[close]
|
|
53
|
+
)
|
|
49
54
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
)
|
|
55
|
+
return (
|
|
56
|
+
<Drawer
|
|
57
|
+
container={getContainer}
|
|
58
|
+
ref={elementRef}
|
|
59
|
+
anchor="bottom"
|
|
60
|
+
open={drawerOpen}
|
|
61
|
+
onClose={close}
|
|
62
|
+
ModalProps={modalProps}
|
|
63
|
+
slotProps={slotProps}
|
|
64
|
+
disableAutoFocus
|
|
65
|
+
keepMounted={keepMounted}
|
|
66
|
+
inert={isInert}
|
|
67
|
+
>
|
|
68
|
+
{children}
|
|
69
|
+
</Drawer>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
@@ -23,7 +23,11 @@ export const CloseDrawerButton = ({
|
|
|
23
23
|
|
|
24
24
|
return showInNavigationHeader || showInWalletHeader ? (
|
|
25
25
|
<Tooltip title={t('button.close')}>
|
|
26
|
-
<IconButton
|
|
26
|
+
<IconButton
|
|
27
|
+
size="medium"
|
|
28
|
+
data-testid="widget-close-drawer-button"
|
|
29
|
+
onClick={closeDrawer}
|
|
30
|
+
>
|
|
27
31
|
<CloseRounded />
|
|
28
32
|
</IconButton>
|
|
29
33
|
</Tooltip>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useLocation } from '@tanstack/react-router'
|
|
2
2
|
import type { FC, PropsWithChildren } from 'react'
|
|
3
|
-
import {
|
|
3
|
+
import { useCallback } from 'react'
|
|
4
4
|
import { useDefaultElementId } from '../../hooks/useDefaultElementId.js'
|
|
5
5
|
import { useSetHeaderHeight } from '../../stores/header/useHeaderStore.js'
|
|
6
6
|
import { createElementId, ElementId } from '../../utils/elements.js'
|
|
@@ -12,31 +12,33 @@ import { WalletHeader } from './WalletHeader.js'
|
|
|
12
12
|
const HeaderContainer: FC<PropsWithChildren> = ({ children }) => {
|
|
13
13
|
const { pathname } = useLocation()
|
|
14
14
|
const elementId = useDefaultElementId()
|
|
15
|
-
const headerRef = useRef<HTMLDivElement>(null)
|
|
16
15
|
const { setHeaderHeight } = useSetHeaderHeight()
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
|
|
17
|
+
// React 19 ref cleanup callback: set up the ResizeObserver when the node
|
|
18
|
+
// mounts and tear it down when it unmounts.
|
|
19
|
+
const headerRef = useCallback(
|
|
20
|
+
(node: HTMLDivElement | null) => {
|
|
21
|
+
if (!node) {
|
|
22
|
+
return
|
|
24
23
|
}
|
|
25
|
-
}
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
const handleHeaderResize = () => {
|
|
26
|
+
const height = node.getBoundingClientRect().height
|
|
27
|
+
|
|
28
|
+
if (height) {
|
|
29
|
+
setHeaderHeight(height)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
resizeObserver
|
|
31
|
-
resizeObserver.observe(headerRef.current)
|
|
32
|
-
}
|
|
33
|
+
const resizeObserver = new ResizeObserver(handleHeaderResize)
|
|
34
|
+
resizeObserver.observe(node)
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
if (resizeObserver) {
|
|
36
|
+
return () => {
|
|
36
37
|
resizeObserver.disconnect()
|
|
37
38
|
}
|
|
38
|
-
}
|
|
39
|
-
|
|
39
|
+
},
|
|
40
|
+
[setHeaderHeight]
|
|
41
|
+
)
|
|
40
42
|
|
|
41
43
|
return (
|
|
42
44
|
<Container
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { JSX } from 'react'
|
|
2
|
+
import { useNavigationTabLabel } from '../../stores/navigationTabs/useNavigationTabLabel.js'
|
|
3
|
+
import { useNavigationTabsStore } from '../../stores/navigationTabs/useNavigationTabsStore.js'
|
|
4
|
+
import { HeaderTabs } from './HeaderTabs.js'
|
|
5
|
+
|
|
6
|
+
export const HeaderNavigationTabs = (): JSX.Element | null => {
|
|
7
|
+
const [tabs, activeTab, setActiveTab] = useNavigationTabsStore((store) => [
|
|
8
|
+
store.tabs,
|
|
9
|
+
store.activeTab,
|
|
10
|
+
store.setActiveTab,
|
|
11
|
+
])
|
|
12
|
+
const getLabel = useNavigationTabLabel()
|
|
13
|
+
|
|
14
|
+
if (!tabs.length || !activeTab) {
|
|
15
|
+
return null
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<HeaderTabs
|
|
20
|
+
tabs={tabs.map((key) => ({ key, label: getLabel(key) }))}
|
|
21
|
+
value={activeTab}
|
|
22
|
+
onChange={(key) => setActiveTab(key)}
|
|
23
|
+
/>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { JSX } from 'react'
|
|
2
|
+
import { useFieldActions } from '../../stores/form/useFieldActions.js'
|
|
3
|
+
import { NavigationTab, NavigationTabs } from '../Tabs/NavigationTabs.js'
|
|
4
|
+
|
|
5
|
+
interface HeaderTab<K extends string> {
|
|
6
|
+
key: K
|
|
7
|
+
label: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface HeaderTabsProps<K extends string> {
|
|
11
|
+
tabs: HeaderTab<K>[]
|
|
12
|
+
value: K
|
|
13
|
+
onChange: (key: K) => void
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Presentational header tabs bar shared by split mode and configured
|
|
18
|
+
* navigation tabs.
|
|
19
|
+
* Clears the form fields on switch; the caller supplies the labelled tabs, the
|
|
20
|
+
* active key, and what selecting a key means for its store.
|
|
21
|
+
*/
|
|
22
|
+
export const HeaderTabs = <K extends string>({
|
|
23
|
+
tabs,
|
|
24
|
+
value,
|
|
25
|
+
onChange,
|
|
26
|
+
}: HeaderTabsProps<K>): JSX.Element => {
|
|
27
|
+
const { setFieldValue } = useFieldActions()
|
|
28
|
+
|
|
29
|
+
const handleChange = (_: React.SyntheticEvent, key: K) => {
|
|
30
|
+
setFieldValue('fromAmount', '')
|
|
31
|
+
setFieldValue('fromToken', '')
|
|
32
|
+
setFieldValue('toToken', '')
|
|
33
|
+
onChange(key)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<NavigationTabs value={value} onChange={handleChange} aria-label="tabs">
|
|
38
|
+
{tabs.map((tab) => (
|
|
39
|
+
<NavigationTab
|
|
40
|
+
key={tab.key}
|
|
41
|
+
value={tab.key}
|
|
42
|
+
label={tab.label}
|
|
43
|
+
disableRipple
|
|
44
|
+
/>
|
|
45
|
+
))}
|
|
46
|
+
</NavigationTabs>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
@@ -3,6 +3,7 @@ import { Box, Typography } from '@mui/material'
|
|
|
3
3
|
import { useLocation } from '@tanstack/react-router'
|
|
4
4
|
import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
|
|
5
5
|
import { useHeaderStore } from '../../stores/header/useHeaderStore.js'
|
|
6
|
+
import { useNavigationTabsStore } from '../../stores/navigationTabs/useNavigationTabsStore.js'
|
|
6
7
|
import {
|
|
7
8
|
backButtonRoutes,
|
|
8
9
|
navigationRoutes,
|
|
@@ -12,11 +13,14 @@ import { ActivitiesButton } from './ActivitiesButton.js'
|
|
|
12
13
|
import { BackButton } from './BackButton.js'
|
|
13
14
|
import { CloseDrawerButton } from './CloseDrawerButton.js'
|
|
14
15
|
import { HeaderAppBar, HeaderControlsContainer } from './Header.style.js'
|
|
16
|
+
import { HeaderNavigationTabs } from './HeaderNavigationTabs.js'
|
|
15
17
|
import { SettingsButton } from './SettingsButton.js'
|
|
16
|
-
import { SplitNavigationTabs } from './SplitNavigationTabs.js'
|
|
17
18
|
|
|
18
19
|
export const NavigationHeader: React.FC = () => {
|
|
19
|
-
const {
|
|
20
|
+
const { hiddenUI, variant, defaultUI } = useWidgetConfig()
|
|
21
|
+
const navigationTabsCount = useNavigationTabsStore(
|
|
22
|
+
(state) => state.tabs.length
|
|
23
|
+
)
|
|
20
24
|
const { account } = useAccount()
|
|
21
25
|
const [element, title] = useHeaderStore((state) => [
|
|
22
26
|
state.element,
|
|
@@ -29,17 +33,16 @@ export const NavigationHeader: React.FC = () => {
|
|
|
29
33
|
const path = cleanedPathname.substring(cleanedPathname.lastIndexOf('/') + 1)
|
|
30
34
|
const hasPath = navigationRoutesValues.includes(path)
|
|
31
35
|
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
const
|
|
35
|
-
mode === 'split' && !hasPath && typeof modeOptions?.split !== 'string'
|
|
36
|
+
// The store resolves which tabs to show (split Swap/Bridge or configured
|
|
37
|
+
// navigation tabs); the header just reflects whether there are any.
|
|
38
|
+
const showHeaderTabs = !hasPath && navigationTabsCount > 0
|
|
36
39
|
|
|
37
40
|
return (
|
|
38
41
|
<HeaderAppBar elevation={0} sx={{ paddingTop: 1, paddingBottom: 0.5 }}>
|
|
39
42
|
{backButtonRoutes.includes(path) ? <BackButton /> : null}
|
|
40
|
-
{
|
|
43
|
+
{showHeaderTabs ? (
|
|
41
44
|
<Box sx={{ flex: 1, marginRight: 1 }}>
|
|
42
|
-
<
|
|
45
|
+
<HeaderNavigationTabs />
|
|
43
46
|
</Box>
|
|
44
47
|
) : (
|
|
45
48
|
<Typography
|
|
@@ -50,7 +50,10 @@ export const ReverseTokensButton = (): JSX.Element => {
|
|
|
50
50
|
}
|
|
51
51
|
return (
|
|
52
52
|
<ReverseContainer>
|
|
53
|
-
<IconCard
|
|
53
|
+
<IconCard
|
|
54
|
+
data-testid="widget-reverse-tokens-button"
|
|
55
|
+
onClick={handleClick}
|
|
56
|
+
>
|
|
54
57
|
<ArrowForward fontSize="inherit" />
|
|
55
58
|
</IconCard>
|
|
56
59
|
</ReverseContainer>
|
|
@@ -89,7 +89,7 @@ export const WidgetSkeleton = ({
|
|
|
89
89
|
colorSchemeStorageKey="li.fi-widget-color-scheme"
|
|
90
90
|
disableTransitionOnChange
|
|
91
91
|
>
|
|
92
|
-
<AppExpandedContainer>
|
|
92
|
+
<AppExpandedContainer data-testid="widget-skeleton-container">
|
|
93
93
|
<RelativeContainer sx={{ display: 'flex', flexDirection: 'column' }}>
|
|
94
94
|
<SkeletonHeaderContainer>
|
|
95
95
|
{!hiddenUI?.walletMenu ? (
|
|
@@ -40,6 +40,9 @@ export const NavigationTab: React.FC<React.ComponentProps<typeof Tab>> = styled(
|
|
|
40
40
|
slot: 'root',
|
|
41
41
|
}
|
|
42
42
|
)(({ theme }) => ({
|
|
43
|
+
flex: 'none',
|
|
44
|
+
whiteSpace: 'nowrap',
|
|
45
|
+
minWidth: 'auto',
|
|
43
46
|
minHeight: theme.spacing(5),
|
|
44
47
|
maxHeight: theme.spacing(5),
|
|
45
48
|
}))
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import type { JSX, Ref } from 'react'
|
|
2
|
+
import { useImperativeHandle, useRef, useState } from 'react'
|
|
3
3
|
import { BottomSheet } from '../BottomSheet/BottomSheet.js'
|
|
4
4
|
import type { BottomSheetBase } from '../BottomSheet/types.js'
|
|
5
5
|
import { TokenDetailsSheetContent } from './TokenDetailsSheetContent.js'
|
|
6
6
|
import type { TokenDetailsSheetBase } from './types.js'
|
|
7
7
|
|
|
8
|
-
export const TokenDetailsSheet
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
export const TokenDetailsSheet = ({
|
|
9
|
+
ref,
|
|
10
|
+
}: {
|
|
11
|
+
ref?: Ref<TokenDetailsSheetBase>
|
|
12
|
+
}): JSX.Element => {
|
|
11
13
|
const bottomSheetRef = useRef<BottomSheetBase>(null)
|
|
12
14
|
const [tokenAddress, setTokenAddress] = useState<string | undefined>(
|
|
13
15
|
undefined
|
|
@@ -35,11 +37,11 @@ export const TokenDetailsSheet: React.ForwardRefExoticComponent<
|
|
|
35
37
|
return (
|
|
36
38
|
<BottomSheet ref={bottomSheetRef} keepMounted>
|
|
37
39
|
<TokenDetailsSheetContent
|
|
38
|
-
|
|
40
|
+
onClose={() => bottomSheetRef.current?.close()}
|
|
39
41
|
tokenAddress={tokenAddress}
|
|
40
42
|
withoutContractAddress={withoutContractAddress}
|
|
41
43
|
chainId={chainId}
|
|
42
44
|
/>
|
|
43
45
|
</BottomSheet>
|
|
44
46
|
)
|
|
45
|
-
}
|
|
47
|
+
}
|