Variants
Each variant is created from a number of CSS variables. To add a new variant, add the following variables to your theme, replacing the variant-name with your actual variant's name.
In this example we add a variant named green to the default theme:
ts
const {
theming: { registerTheme },
} = useElements();
registerTheme({
name: 'default',
variables: {
'green-color': 'green',
'green-background-color': 'var(--green-color)',
'green-background-color--hover': '#2665c4',
'green-background-color--focus': 'var(--green-background-color)',
'green-background-color--active': 'var(--green-background-color)',
'green-background-color--disabled': '#adc9f3',
'green-border-color': '#2665c4',
'green-border-color--hover': '#2057a8',
'green-border-color--focus': 'var(--green-border-color)',
'green-border-color--active': 'var(--green-border-color)',
'green-border-color--disabled': '#adc9f3',
'green-box-shadow-color': '#2b73df35',
'green-contrast-color': '#fff',
'green-contrast-color--disabled': 'red',
},
});const {
theming: { registerTheme },
} = useElements();
registerTheme({
name: 'default',
variables: {
'green-color': 'green',
'green-background-color': 'var(--green-color)',
'green-background-color--hover': '#2665c4',
'green-background-color--focus': 'var(--green-background-color)',
'green-background-color--active': 'var(--green-background-color)',
'green-background-color--disabled': '#adc9f3',
'green-border-color': '#2665c4',
'green-border-color--hover': '#2057a8',
'green-border-color--focus': 'var(--green-border-color)',
'green-border-color--active': 'var(--green-border-color)',
'green-border-color--disabled': '#adc9f3',
'green-box-shadow-color': '#2b73df35',
'green-contrast-color': '#fff',
'green-contrast-color--disabled': 'red',
},
});To enable the variant, we must update the $variants variable in our .scss file:
scss
$variants: ('primary', 'green');$variants: ('primary', 'green');You can now add variant="green" to supported components to apply the variant: