Styling default components and primitives is enabled through a range of means, such as CSS variables, class names, and more. It’s also possible to use overrides to modify any strings used in the default components, which is especially helpful for localization.
To add the default components’ theme, import the default styles CSS file.
You can also import one of two CSS files to enable dark mode, depending on how you’d like to enable it.
A number of CSS variables can be used to customize colors, spacing, and more. This is our recommended path for styling the default components, as you can quickly and easily modify all components with just a few variables.
Should you need deeper customization, class names can be styled, some of which provide contextual data attributes.
It’s possible to override strings used in the default components, which has a couple of different uses, the first being localization. In this example, we’re globally switching the word Anonymous to Anonyme for French users.
You can also override strings on a component basis, for example if you’d like to
change the placeholder text in the
Composer
.
Primitives can be styled like any other element in your React application—each component passes down props to its root element, meaning you can use regular HTML props.
You can use your custom design system components with primitives by using the
asChild
property, which will
merge the primitive’s props
into your component’s.
Style primitives with Tailwind by adding class names.
Style primitives with CSS modules as you would any other component.