Naming Convention

A clear naming convention is essential for scalability and usability, ensuring that design tokens are easy to understand and implement across teams.

Best Practices for Naming

Our naming convention is designed to create a universal language that bridges the gap between designers and developers. Instead of relying on arbitrary colour names or direct design references, our approach focuses on the meaning and intention behind design elements. This ensures:

  • Clarity & Consistency – Tokens are self-explanatory and easy to understand.
  • Scalability & Maintainability – The structure prevents technical debt by avoiding hardcoded values.
  • Flexibility Across Themes & Modes – Names reflect intent rather than specific values, making adaptation seamless.

Naming Structure

Tokens follow a structured format

  • Domain – Defines the scope (e.g., intentional tokens for semantic use).
  • Group – Categorizes the type (e.g., colour, spacing, typography).
  • Concept – Describes the general purpose (e.g., feedback, interaction).
  • Modifier – Adds specificity (e.g., error.high, container.neutral).
  • Property – Specifies the design property (e.g., background, border).
  • State (optional) – Defines interaction states (e.g., hover, active).

Examples

Domain

Group

Concept

Modifier

Property

State

intentional

colour

feedback

error.high

background

intentional

colour

interaction

container.neutral

border

hover

intentional

colour

level

00

background

intentional

colour

interaction

container.branded.high

border

hover

By structuring tokens in this way, we ensure a future-proof, context-agnostic, and developer-friendly design system that adapts effortlessly across products and platforms.

Types of Tokens

Primitive Tokens

The foundational values of the system (e.g., raw colours, spacing, typography scales). These are abstract and context-agnostic, serving as the building blocks for all other tokens.

  • Colour
  • Spacing
  • Typography
  • Radius

Intentional Tokens

Tokens that convey semantic meaning and design intent (e.g., feedback.error.high). They abstract primitives into meaningful categories, ensuring consistency across themes and modes

  • Content: Body content (text, icons, borders)
  • Level: Defines the background and surface colours of layouts.
  • Interaction: Interactive elements (buttons, links, navigation items)
  • Feedback: Status indicators (error, warning, success)
  • Accent: Highlights (used to emphasize elements)

Example - Feedback tokens structure :

 

Component-Specific Tokens

Tokens applied directly to components, defining their styling while inheriting from intentional tokens. They ensure a consistent look and feel while allowing flexibility within the system.

  • Tokens specific to UI components (e.g., buttons, forms, modals).
    • we use 2 main types of tokens to build a component: spacings and colours

Colours

Spacings