Comments - Styling and customization
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.
Default components
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.
CSS variables
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.
Class names
Should you need deeper customization, class names can be styled, some of which provide contextual data attributes.
Overrides and localization
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
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.
Tailwind
Style primitives with Tailwind by adding class names.
CSS modules
Style primitives with CSS modules as you would any other component.