Theming
Understand theming and the default CSS Variables.
CSS Variables
The colors used in this component set come from the CSS variables in the main CSS file (e.g. global.css) and tailwind.config.js.
--primary: 37, 99, 244;module.exports = {
theme: {
extend: {
colors: {
primary: {
DEFAULT: "rgba(var(--primary), <alpha-value>)",
},
},
},
},
}The original shadcn/ui uses hsl notation, but we use rgba notation.
Opacity Modifier Syntax
Many of our colors support Tailwind's opacity modifier syntax (opens in a new tab):
<div className="bg-primary/50">...</div>Note that the following colors have opacity applied by default, so the opacity syntax cannot be used:
--secondary: 103, 120, 145, 0.1;
--secondary-hovered: 103, 120, 145, 0.2;
--secondary-pressed: 103, 120, 145, 0.3;
--accent: var(--secondary);
--accent-pressed: var(--secondary-hovered);// Not supported
<div className="bg-secondary/50">...</div>Convention
background and foreground
We use a simple background and foreground convention for colors. The background variable is used for the background color of the component and the foreground variable is used for the text color on them background color.
--background: 255, 255, 255; // body background, etc
--foreground: 8, 10, 12; // body text, etcThe background suffix is omitted when the variable is used for the background color of the component.
--primary: 37, 99, 244; // `background` suffix is omitted
--primary-foreground: 255, 255, 255;hovered and pressed
Some colors have hovered or pressed suffix. These are the colors you see when you mouse over and down on an element filled with background.
--primary-hovered: 58, 114, 245;
--primary-pressed: 81, 130, 246;text
text suffix is also used for text color, like foreground. foreground is the text color on its counterpart background, while text is the text color on --background.
--background: 255, 255, 255;
--info: 0, 177, 242;
--info-foreground: 255, 255, 255; // text color on the `--info`
--info-text: 0, 152, 208; // text color on the `--background`muted
muted suffix is a softened tone variant of background color. Used for Alert, etc.
Color Schemes
| Scheme | Light | Dark | Description |
|---|---|---|---|
background | Default background color of <body> ...etc | ||
foreground | Default text color of <body> ...etc | ||
card | Background color for <Card> | ||
popover | Background color for popovers such as <DropdownMenu>, <HoverCard>, <Popover> | ||
primary | Primary color | ||
secondary | Used for secondary variants for <Button> and <Badge> | ||
destructive | Used for destructive actions and errors | ||
info | Used for info variants | ||
success | Used for success variants | ||
warning | Used for warning variants | ||
muted | Muted background and text color | ||
accent | Used for hover effects such as <Button variant="ghost"> | ||
border | Default border color | ||
input | Border color for inputs such as <Input>, <Select>, <Textarea> | ||
ring | Used for focus ring |