Customization priorities
Builders can customize every color token, but not every group needs to change for a successful rebrand. Work through these priorities in order.
For resolved values and usage notes for every token, see Color.
For designers
Before you override anything
Ask these questions first:- Does an existing token cover this use case? Check Color.
- Is this a product-specific need or a system gap? If it feels like a system gap, raise it with Cognite.
- Will this hold up in both light and dark mode? Overrides that only work in one theme are a red flag.
- Ramps — raw hue scales (for example
fjord-500,mountain-950) that progress evenly in lightness. - Semantic tokens — named roles (for example
primary/background,base/foreground) that map to ramp steps and swap between light and dark mode automatically.
- Apply tokens as sets. Most groups include matching
background,background-hover, andforegroundtokens — override them together so contrast stays intact. - Never put raw hex on semantic tokens. Alias each semantic token to a step on your local brand ramp in Figma.
- Keep Cognite Light and Dark modes as reference. Add separate brand modes (for example
your-org-Lightandyour-org-Dark) in a local variable collection rather than editing the published Aura library. - Work in this order: Primary and Secondary → Decorative → Feedback and status → Neutrals.
Figma workflow
- Enable the Aura community file as a library in your project.
- Create a local variable collection for brand ramps (primary, secondary, optional decorative and neutral hues). Match Aura’s step naming —
10,50,100…950. - Add brand Light and Dark modes alongside the Cognite reference modes.
- In your brand modes only, re-alias semantic tokens to your ramp steps — starting with
primary/*andsecondary/*.
Code implementation uses CSS variable overrides in
src/styles.css. A skill is in development to help translate Figma customizations to code automatically. Until then, share aliased token names with developers so they can add matching overrides.For developers
Follow these rules for safe overrides:- Scope to your app’s root element or a specific component — never override globally outside your app.
- Override both light (
:root) and dark (.dark) values for theme-sensitive tokens. - Test contrast in both themes before shipping.
- Document the override and the reason in your codebase.
Applying a custom theme
Define token overrides centrally insrc/styles.css so they cascade to all Aura components.
Scoped CSS variable overrides
If overrides apply only to part of your app, use a scoped selector instead of:root:
Color tokens to customize
Tokens are grouped by semantic role, matching the Color reference. Override related background, hover, and foreground tokens together.Primary (brand) — Recommended
The primary brand color. Reserved for emphasis and interaction — main CTAs and selected states in checkboxes, tabs, radio buttons, and switches. Do not use for general neutral UI.Secondary (brand) — Recommended
The secondary brand color. Used for secondary CTAs and toggled or selected states — toggle buttons, selected list items, selected cards.Decorative — Recommended
Accent colors for avatars, badges, and visual differentiation — no status meaning. Override each numbered group (decorative/1 through decorative/7) as a set.
Replace
{n} with 1–7. See Decorative for default values.
Feedback and status — Optional
Semantic colors for alerts, banners, badges, and toasts. Not required for a successful rebrand. If you change them, keep each token within its intended hue family — warning should still read as warning.Neutrals — Optional
Shift the UI warmer or cooler by overriding neutral layers. Use Cognite defaults as a contrast and lightness guide — your grays should follow the same relative steps on your chosen neutral ramp.Chart & heatmap — Optional
Chart and heatmap colors are only used for data visualizations. Chart colors often use an extension of the decorative brand palette. Preferred chart colors start withchart-1-450 and decrease in step as more colors in the same hue are needed.
Replace
{n} with 1–5.
Chart tokens use semi-transparent ramp values for data visualization series. Override only when remapping chart colors to a customer palette. See Chart for the full series list.
See Color theme tokens for the full list per group.
Typography tokens to override
Typefaces
Text (Inter)
Code (Source Code Pro)
Building custom components
When your requirements fall outside the scope of existing Aura components, you may need to build custom UI elements. To maintain system stability and visual consistency, follow these guidelines.File structure
- Custom components: Place in
src/components/common/. - Static assets (images, icons): Place in
src/assets/.
Extend Aura primitives
Whenever possible, build custom components by composing Aura primitives (such asButton, Card, and Input) rather than writing raw HTML and custom CSS from scratch.
Benefits of extending Aura primitives:
- Automatic theming — Components built with Aura primitives inherit your custom design tokens. Updates to
src/styles.cssapply automatically. - Built-in accessibility — Primitives include baseline ARIA roles and keyboard navigation.
- Upgrade compatibility — Custom components inherit updates to the Aura design system, reducing maintenance overhead.