Colors
A list of colors available in Cerberus.
Cerberus provides a comprehensive set of primitive colors (theme.tokens.colors) that serve as the foundation for all semantic tokens. These are the raw color values that semantic tokens reference.
Primitive colors are organized by color families and include numerical scales (e.g., neutral.0 to neutral.100) that provide fine-grained control over color variations. These colors form the building blocks that semantic tokens reference to create meaningful, contextual color usage.
How Primitives Relate to Semantic Tokens:
- Semantic tokens like
page.bg.initial reference primitive colors using token syntax: {colors.cerberus.neutral.5}
- This creates a clear hierarchy: primitives → semantic tokens → component usage
- Customizing primitive colors automatically updates all semantic tokens that reference them
Accent
var(--cerberus-colors-accent-[level])
Brand
var(--cerberus-colors-brand-[level])
Danger
var(--cerberus-colors-danger-[level])
Drop shadow
var(--cerberus-colors-drop-shadow-[level])
Info
var(--cerberus-colors-info-[level])
Neutral
var(--cerberus-colors-neutral-[level])
Success
var(--cerberus-colors-success-[level])
Warning
var(--cerberus-colors-warning-[level])
Cerberus provides a set of palettes that have an intentional purpose which contribtutes to the
overall theme. This creates a clear, consistent color scheme that can be easily customized.
Cerberus uses a naming convention for semantic tokens to ensure clarity and maintainability. Each color is named based on its purpose and context, making it easier to understand its intended use.
Semantic token naming convention:
| Name | Description |
|---|
| Palette | The category/context of where the color is used. |
| Usage | How the color is used within the context. |
| Prominence | Optional.The hierarchy of the color used within the page context. |
| Interaction | Optional. The element interaction type the color should be applied to. |
Used for pages, layouts, and any other container that is relative to a page.
page.backdrop.initialrgba(32.00000189244747, 25.000000409781933, 53.00000064074993, 0.800000011920929) page.border.100neutral.60 page.border.200neutral.50 page.border.initialneutral.70 page.surface.100neutral.90 page.surface.200neutral.80 page.surface.300neutral.70 page.surface.400neutral.60 page.surface.initialneutral.100 page.surface.inverseneutral.5 page.text.300neutral.white page.text.inverseneutral.100
The primary palette for actions, such as buttons, links, and other interactive elements.
action.bg.initialbrand.60 action.border.100neutral.30 action.border.initialbrand.30 action.border.focusbrand.40 action.ghost.initialbrand.100 action.ghost.hoverbrand.80 action.ghost.activebrand.70 action.navigation.initialbrand.30 action.navigation.hoverbrand.20 action.navigation.visitedneutral.20 action.text.initialbrand.5 action.text.inversebrand.5 action.text.staticbrand.60
The secondary palette for actions, such as buttons, links, and other interactive elements.
secondaryAction.bg.initialneutral.60 secondaryAction.bg.hoverneutral.50 secondaryAction.bg.activebrand.30 secondaryAction.border.100brand.70 secondaryAction.border.initialbrand.50 secondaryAction.ghost.initialbrand.100 secondaryAction.ghost.hoverneutral.80 secondaryAction.ghost.activeneutral.80 secondaryAction.navigation.initialbrand.10 secondaryAction.navigation.hoverbrand.30 secondaryAction.navigation.visitedbrand.20 secondaryAction.text.100brand.10 secondaryAction.text.200brand.30 secondaryAction.text.initialbrand.20 secondaryAction.text.staticbrand.40
Used for informational elements, such as badges, tags, and other non-interactive elements.
info.border.initialinfo.50 info.ghost.initialbrand.100 info.surface.initialinfo.80
Used for success states, such as success messages, notifications, and other positive feedback.
success.border.initialsuccess.50 success.bg.initialsuccess.50 success.bg.hoversuccess.60 success.bg.activesuccess.40 success.ghost.initialbrand.100 success.ghost.hoversuccess.90 success.ghost.activesuccess.80 success.surface.100success.90 success.surface.200success.80 success.surface.initialsuccess.60 success.text.100success.30 success.text.200success.10 success.text.initialsuccess.60 success.text.inversesuccess.100 success.text.staticsuccess.70
Used for warning states, such as warning messages, notifications, and other cautionary feedback.
warning.border.initialwarning.20 warning.bg.initialwarning.70 warning.bg.hoverwarning.60 warning.bg.activewarning.40 warning.ghost.initialbrand.100 warning.ghost.hoverwarning.90 warning.ghost.activewarning.80 warning.surface.100warning.90 warning.surface.200warning.50 warning.surface.initialwarning.70 warning.text.100warning.30 warning.text.200warning.100 warning.text.initialwarning.40 warning.text.inversewarning.100 warning.text.staticwarning.80
Used for danger states, such as error messages, notifications, and other negative feedback.
danger.bg.initialdanger.70 danger.bg.activedanger.30 danger.border.initialdanger.30 danger.ghost.initialbrand.100 danger.ghost.hoverdanger.90 danger.ghost.activedanger.80 danger.surface.100danger.90 danger.surface.200danger.70 danger.surface.initialdanger.80 danger.text.initialdanger.60 danger.text.inversedanger.100 danger.text.staticdanger.80
Used for data visualization elements, such as charts, graphs, and other visual representations of data.
dataViz.diverging.50warning.60 dataViz.diverging.100warning.50 dataViz.diverging.200warning.40 dataViz.diverging.300warning.30 dataViz.diverging.400warning.20 dataViz.diverging.500neutral.10 dataViz.diverging.600brand.30 dataViz.diverging.700brand.40 dataViz.diverging.800brand.50 dataViz.diverging.900brand.60 dataViz.sequential.100brand.80 dataViz.sequential.200brand.60 dataViz.sequential.300brand.50 dataViz.sequential.400brand.40 dataViz.sequential.500brand.20 dataViz.sequential.600brand.10 dataViz.qualitative.100brand.50 dataViz.qualitative.200warning.60 dataViz.qualitative.300success.60 dataViz.qualitative.400info.50 dataViz.qualitative.500brand.30 dataViz.qualitative.600accent.70 dataViz.qualitative.700neutral.40 dataViz.progress.startbrand.40 dataViz.progress.endbrand.70 dataViz.progress.completesuccess.60