Skip to main content

Theming

note

The following theme configuration is only available for Web and React Native.

themeMode

By default themeMode option will be set to user system settings i.e. 'light' or 'dark', however you can easily override it to match design of your dapp.

Example

const modal = new WalletConnectModal({
themeMode: 'dark'
})

themeVariables

Web3Modal's theming is done via css variables. You can override any of them to match your dapp's design via themeVariables option.

Example

const modal = new WalletConnectModal({
themeVariables: {
'--wcm-font-family': 'Roboto, sans-serif',
'--wcm-accent-color': '#F5841F'
}
})

List of theme variables

General style variables

VariableDescriptionExample
--wcm-font-familyBase font family
Roboto, sans-serif
--wcm-font-feature-settingsBase font features settings
tnum
--wcm-overlay-background-colorModal overlay background color
rgba(0, 0, 0, 0.3)
--wcm-overlay-backdrop-filterModal overlay backdrop filter
blur(5px)
--wcm-z-indexZ-index position
10
--wcm-accent-colorColor used for buttons, icons, labels, etc.
#FFFFFF
--wcm-accent-fill-colorColor used for text and icons inside elements with accent color background
#000000
--wcm-background-colorBackground color to be used instead of default animated gradient
#CECECE
--wcm-background-border-radiusBorder radius applied to the modal background
12px
--wcm-container-border-radiusBorder radius applied to main modal content area
24px
--wcm-wallet-icon-border-radiusBorder radius applied to wallet icons
2em
--wcm-wallet-icon-large-border-radiusBorder radius applied to large wallet icons
3em
--wcm-wallet-icon-small-border-radius Border radius applied to small wallet icons
1em
--wcm-input-border-radiusBorder radius applied to text inputs
50%
--wcm-notification-border-radiusBorder radius applied to toast notification
2rem
--wcm-button-border-radiusBorder radius applied to primary buttons like 'Connect' or 'Account'
8px
--wcm-secondary-button-border-radiusBorder radius applied to secondary buttons, ones inside modal views
8px
--wcm-icon-button-border-radiusBorder radius applied to icon only buttons like 'Copy' or 'Disconnect'
50%
--wcm-button-hover-highlight-border-radiusBorder radius applied to hover highlight on wallet or chain buttons
2rem

Text style variables

Granular text style variables for when --wcm-font-family is not enough.

VariableDescriptionExample
--wcm-text-big-bold-sizeFont size of big-bold text variant (modal and page titles)
2rem
--wcm-text-big-bold-weightFont weight of big-bold text variant (modal and page titles)
bold
--wcm-text-big-bold-line-heightLine height of big-bold text variant (modal and page titles)
14px
--wcm-text-big-bold-letter-spacingLetter spacing of big-bold text variant (modal and page titles)
1px
--wcm-text-big-bold-text-transformText transform of big-bold text variant (modal and page titles)
uppercase
--wcm-text-big-bold-font-familyFont family of big-bold text variant (modal and page titles)
Helvetica, sans-serif
--wcm-text-medium-regular-sizeFont size of medium-regular text variant (button and data labels)
1rem
--wcm-text-medium-regular-weightFont weight of medium-regular text variant (button and data labels)
normal
--wcm-text-medium-regular-line-heightLine height of medium-regular text variant (button and data labels)
14px
--wcm-text-medium-regular-letter-spacingLetter spacing of medium-regular text variant (button and data labels)
1px
--wcm-text-medium-regular-text-transformText transform of medium-regular text variant (button and data labels)
capitalize
--wcm-text-medium-regular-font-familyFont family of medium-regular text variant (button and data labels)
Arial, sans-serif
--wcm-text-small-regular-sizeFont size of small-regular text variant (secondary buttons, toast notification and labels)
0.75rem
--wcm-text-small-regular-weightFont weight of small-regular text variant (secondary buttons, toast notification and labels)
normal
--wcm-text-small-regular-line-heightLine height of small-regular text variant (secondary buttons, toast notification and labels)
14px
--wcm-text-small-regular-letter-spacingLetter spacing of small-regular text variant (secondary buttons, toast notification and labels)
1px
--wcm-text-small-regular-text-transformText transform of small-regular text variant (secondary buttons, toast notification and labels)
capitalize
--wcm-text-small-regular-font-familyFont family of small-regular text variant (secondary buttons, toast notification and labels)
Helvetica, sans-serif
--wcm-text-small-thin-sizeFont size of small-thin text variant (input placeholder and help text)
0.65rem
--wcm-text-small-thin-weightFont weight of small-thin text variant (input placeholder and help text)
lighter
--wcm-text-small-thin-line-heightLine height of small-thin text variant (input placeholder and help text)
0.8rem
--wcm-text-small-thin-letter-spacingLetter spacing of small-thin text variant (input placeholder and help text)
0.01em
--wcm-text-small-thin-text-transformText transform of small-thin text variant (input placeholder and help text)
none
--wcm-text-small-thin-font-familyFont family of small-thin text variant (input placeholder and help text)
Arial, sans-serif
--wcm-text-xsmall-bold-sizeFont size of xsmall-bold text variant (sub-labels)
0.5rem
--wcm-text-xsmall-bold-weightFont weight of xsmall-bold text variant (sub-labels)
bold
--wcm-text-xsmall-bold-line-heightLine height of xsmall-bold text variant (sub-labels)
10px
--wcm-text-xsmall-bold-letter-spacingLetter spacing of xsmall-bold text variant (sub-labels)
-0.03em
--wcm-text-xsmall-bold-text-transformText transform of xsmall-bold text variant (sub-labels)
uppercase
--wcm-text-xsmall-bold-font-familyFont family of xsmall-bold text variant (sub-labels)
Arial, sans-serif
--wcm-text-xsmall-regular-sizeFont size of xsmall-regular text variant (wallet and network button labels)
0.5rem
--wcm-text-xsmall-regular-weightFont weight of xsmall-regular text variant (wallet and network button labels)
normal
--wcm-text-xsmall-regular-line-heightLine height of xsmall-regular text variant (wallet and network button labels)
10px
--wcm-text-xsmall-regular-letter-spacingLetter spacing of xsmall-regular text variant (wallet and network button labels)
0.1em
--wcm-text-xsmall-regular-text-transformText transform of xsmall-regular text variant (wallet and network button labels)
none
--wcm-text-xsmall-regular-font-familyFont family of xsmall-regular text variant (wallet and network button labels)
Helvetica, sans-serif