diff --git a/packages/widget/src/components/ActiveSwaps/ActiveSwapItem.tsx b/packages/widget/src/components/ActiveSwaps/ActiveSwapItem.tsx index 7b632408a..a3efda48a 100644 --- a/packages/widget/src/components/ActiveSwaps/ActiveSwapItem.tsx +++ b/packages/widget/src/components/ActiveSwaps/ActiveSwapItem.tsx @@ -57,7 +57,7 @@ export const ActiveSwapItem: React.FC<{ const ListItemComponent = dense ? ListItem : ListItemButton; return ( - + diff --git a/packages/widget/src/components/ActiveSwaps/ActiveSwaps.style.ts b/packages/widget/src/components/ActiveSwaps/ActiveSwaps.style.ts index 4bcefdf17..bcf258fae 100644 --- a/packages/widget/src/components/ActiveSwaps/ActiveSwaps.style.ts +++ b/packages/widget/src/components/ActiveSwaps/ActiveSwaps.style.ts @@ -13,7 +13,7 @@ export const ListItemButton = styled(MuiListItemButton)(({ theme }) => ({ paddingRight: theme.spacing(1.5), height: 64, '&:hover': { - backgroundColor: getContrastAlphaColor(theme, '4%'), + backgroundColor: getContrastAlphaColor(theme.palette.mode, '4%'), }, })); diff --git a/packages/widget/src/components/Card/Card.tsx b/packages/widget/src/components/Card/Card.tsx index 2fffab4aa..258e7ecb9 100644 --- a/packages/widget/src/components/Card/Card.tsx +++ b/packages/widget/src/components/Card/Card.tsx @@ -9,7 +9,6 @@ type CardVariant = 'default' | 'selected' | 'error'; export type CardProps = { variant?: CardVariant; selectionColor?: 'primary' | 'secondary'; - dense?: boolean; indented?: boolean; onClick?: MouseEventHandler; pointerEvents?: 'auto' | 'none'; @@ -33,19 +32,14 @@ const getBackgroundColor = ( export const Card = styled(Box, { shouldForwardProp: (prop) => - ![ - 'dense', - 'variant', - 'indented', - 'selectionColor', - 'pointerEvents', - ].includes(prop as string), + !['variant', 'indented', 'selectionColor', 'pointerEvents'].includes( + prop as string, + ), })( ({ theme, variant, selectionColor = 'primary', - dense, indented, pointerEvents, onClick, diff --git a/packages/widget/src/components/Header/WalletHeader.tsx b/packages/widget/src/components/Header/WalletHeader.tsx index c77b3376b..b73799715 100644 --- a/packages/widget/src/components/Header/WalletHeader.tsx +++ b/packages/widget/src/components/Header/WalletHeader.tsx @@ -102,7 +102,7 @@ const ConnectedButton = () => { open={Boolean(anchorEl)} onClose={handleClose} > - + {t(`button.copyAddress`)} @@ -111,7 +111,6 @@ const ConnectedButton = () => { onClick={handleClose} href={`${chain?.metamask.blockExplorerUrls[0]}address/${account.address}`} target="_blank" - disableRipple > {t(`button.viewOnExplorer`)} diff --git a/packages/widget/src/components/ListItemButton.tsx b/packages/widget/src/components/ListItemButton.tsx index 0f99027a0..02c8d5636 100644 --- a/packages/widget/src/components/ListItemButton.tsx +++ b/packages/widget/src/components/ListItemButton.tsx @@ -7,6 +7,6 @@ export const ListItemButton = styled(MuiListItemButton)(({ theme }) => ({ paddingLeft: theme.spacing(1.5), height: 56, '&:hover': { - backgroundColor: getContrastAlphaColor(theme, '4%'), + backgroundColor: getContrastAlphaColor(theme.palette.mode, '4%'), }, })); diff --git a/packages/widget/src/components/SwapRouteCard/SwapRouteCard.tsx b/packages/widget/src/components/SwapRouteCard/SwapRouteCard.tsx index d179a7006..6ee75203c 100644 --- a/packages/widget/src/components/SwapRouteCard/SwapRouteCard.tsx +++ b/packages/widget/src/components/SwapRouteCard/SwapRouteCard.tsx @@ -83,7 +83,6 @@ export const SwapRouteCard: React.FC< cardContent ) : ( + {cardContent} ); diff --git a/packages/widget/src/components/TokenList/TokenListItem.tsx b/packages/widget/src/components/TokenList/TokenListItem.tsx index 03eb7ac01..9b6414412 100644 --- a/packages/widget/src/components/TokenList/TokenListItem.tsx +++ b/packages/widget/src/components/TokenList/TokenListItem.tsx @@ -54,7 +54,7 @@ export const TokenListItemButton: React.FC = ({ const { t } = useTranslation(); const tokenPrice = formatTokenPrice(token.amount, token.priceUSD); return ( - + {token.symbol[0]} diff --git a/packages/widget/src/config/theme.ts b/packages/widget/src/config/theme.ts index cf5ea37d0..bf3f136ae 100644 --- a/packages/widget/src/config/theme.ts +++ b/packages/widget/src/config/theme.ts @@ -1,5 +1,6 @@ import { loadingButtonClasses } from '@mui/lab/LoadingButton'; import type { PaletteMode, SimplePaletteColorOptions } from '@mui/material'; +import { touchRippleClasses } from '@mui/material/ButtonBase'; import { common } from '@mui/material/colors'; import { dialogActionsClasses } from '@mui/material/DialogActions'; import { @@ -9,6 +10,7 @@ import { getContrastRatio, lighten, } from '@mui/material/styles'; +import { keyframes } from '@mui/system'; import type { ThemeConfig } from '../types'; // https://mui.com/customization/palette/ @@ -89,6 +91,17 @@ const shape = { borderRadiusSecondary: 8, }; +const enterKeyframe = keyframes` + 0% { + transform: scale(0); + opacity: 0.05; + } + 100% { + transform: scale(1); + opacity: 0.1; + } +`; + export const createTheme = (mode: PaletteMode, theme: ThemeConfig = {}) => { const primaryMainColor = (theme.palette?.primary as SimplePaletteColorOptions)?.main ?? @@ -168,6 +181,21 @@ export const createTheme = (mode: PaletteMode, theme: ThemeConfig = {}) => { }, }, }, + MuiButtonBase: { + styleOverrides: { + root: { + [`& .${touchRippleClasses.ripple}.${touchRippleClasses.rippleVisible}`]: + { + animationName: `${enterKeyframe}`, + }, + [`& .${touchRippleClasses.ripple}.${touchRippleClasses.rippleVisible}`]: + { + opacity: 0.1, + animationName: `${enterKeyframe}`, + }, + }, + }, + }, MuiButton: { defaultProps: { disableElevation: true, diff --git a/packages/widget/src/pages/SelectChainPage/SelectChainPage.tsx b/packages/widget/src/pages/SelectChainPage/SelectChainPage.tsx index 3e831f5e9..d6ffb50b5 100644 --- a/packages/widget/src/pages/SelectChainPage/SelectChainPage.tsx +++ b/packages/widget/src/pages/SelectChainPage/SelectChainPage.tsx @@ -33,11 +33,7 @@ export const SelectChainPage: React.FC = ({ }} > {chains?.map((chain) => ( - handleClick(chain)} - disableRipple - > + handleClick(chain)}> {chain.name[0]} diff --git a/packages/widget/src/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx b/packages/widget/src/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx index b45e31c46..82d0a254f 100644 --- a/packages/widget/src/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx +++ b/packages/widget/src/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx @@ -81,11 +81,7 @@ export const SelectEnabledToolsPage: React.FC<{ }} > {tools?.[typeKey].map((tool) => ( - handleClick(tool.key)} - disableRipple - > + handleClick(tool.key)}> {tool.name[0]} diff --git a/packages/widget/src/pages/SelectNativeTokenPage/SelectNativeTokenPage.tsx b/packages/widget/src/pages/SelectNativeTokenPage/SelectNativeTokenPage.tsx index 23eed0eaa..45cdbb3ef 100644 --- a/packages/widget/src/pages/SelectNativeTokenPage/SelectNativeTokenPage.tsx +++ b/packages/widget/src/pages/SelectNativeTokenPage/SelectNativeTokenPage.tsx @@ -27,7 +27,6 @@ export const SelectNativeTokenPage: React.FC = ({ selectToken(chain.nativeToken.address, chain.id)} - disableRipple > diff --git a/packages/widget/src/pages/SelectWalletPage/SelectWalletPage.tsx b/packages/widget/src/pages/SelectWalletPage/SelectWalletPage.tsx index f034753e0..15ef48c30 100644 --- a/packages/widget/src/pages/SelectWalletPage/SelectWalletPage.tsx +++ b/packages/widget/src/pages/SelectWalletPage/SelectWalletPage.tsx @@ -65,7 +65,6 @@ export const SelectWalletPage = () => { handleConnect(wallet)} - disableRipple > + diff --git a/packages/widget/src/utils/colors.ts b/packages/widget/src/utils/colors.ts index da9709b8d..d44cd4dba 100644 --- a/packages/widget/src/utils/colors.ts +++ b/packages/widget/src/utils/colors.ts @@ -1,11 +1,12 @@ -import type { Theme } from '@mui/material'; +import type { PaletteMode, Theme } from '@mui/material'; import { common } from '@mui/material/colors'; import { getContrastRatio } from '@mui/material/styles'; -export const getContrastAlphaColor = (theme: Theme, alpha: string | number) => - theme.palette.mode === 'light' - ? `rgb(0 0 0 / ${alpha})` - : `rgb(255 255 255 / ${alpha})`; +export const getContrastAlphaColor = ( + mode: PaletteMode, + alpha: string | number, +) => + mode === 'light' ? `rgb(0 0 0 / ${alpha})` : `rgb(255 255 255 / ${alpha})`; export const getContrastTextColor = (theme: Theme, background?: string) => getContrastRatio(common.white, background ?? theme.palette.primary.main) >= 3