In order to customize the theme, you need to create new color schemes and assign it to the existing theme css variables. Follow these steps:
Generate a new Tailwind color schemes in Tints.dev and copy the @theme block content into root in colors.css. The old color schemes that you are going to replace can be removed from colors.css.
After running the updating script, if the --color- string is found in colors.css, it will be stripped away. So you don't need to worry about that.
Update the theme variables.
Run the command npm run update-theme-colors to update the ui-theme.css file with the new colors added in colors.css.
Important: Make sure that ASSETS_THEME_PATH in scripts/update-ui-theme-colors.ts is set to the correct path.
Alternatively, you can manually update the theme variables as explained below.
Open ui-theme.css and assign the new color scheme to the corresponding theme variables. Only update the theme variables, not the entire :root block and do not forget to update dark theme color variables.
If you are updating the theme colors manually, make sure to remove --color- prefix from the color names from colors.css when assigning them to the theme variables in ui-theme.css.
Finally, save the files to see the changes applied.
Extending the theme
If you need to go beyond the default design tokens, you can extend the theme by defining your own custom CSS variables in ui-theme.css.
When adding new tokens, you must regenerate the theme so they become available as Tailwind utilities.
# If the script is defined in your package.json
npm run generate-theme
# Or run it directly (install ts-node if you don't have it)
ts-node scripts/generate-theme.ts
Important
Built-in Air UI components rely only on the existing design tokens. Custom tokens will not affect them unless you create new components or explicitly extend existing ones to use your custom tokens.
Disabling Tailwind defaults
Tailwind’s default color palette can be disabled in the main.css file, so you stay fully in control of your design system:
@theme {
--color-*: initial;
}
Important
Since AirUI relies on the generate theme script to build new design tokens, you can additionally update the script.