Skip to main content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Foundation

Design tokens

Design tokens express design decisions using a palette of options from the U.S. Web Design System.

What are design tokens?

Design tokens express a design decision by applying the many color, typography, and spacing options available as design tokens from the U.S. Web Design System (USWDS) to specific contexts within the platforms at the VA. Design tokens allow us to propagate those design decisions to our platforms.

Taxonomy and typology

Our tokens have a taxonomy and typology in order to give us the categorization and levels we need to define our tokens. No token use all of the taxonomy but it does define the available options.

This organizational structure is informed by the work of Nathan Curtis. Read more about Naming Tokens in Design Systems.

Namespace

System
Defines the system that token originates within. Current values can be:
  • uswds: The USWDS. For primitive tokens.
  • vads: All token types. This design system.
  • vacds: The VA Clinician Design System.
Domain
Currently unused. In future could be used for large areas of related tokens that run across systems (e.g. health, benefits, etc.)

Object

These levels refer to a component, element within a component, or component group.

Group
Defines a family of tokens.
Examples include forms and navigation.
Component
Component name
Element
Elements within a component

Base

Category
High level grouping. Current values are:
  • Color
  • Elevation
  • Font
  • Shape
  • Size
  • Spacing

Future additions from USWDS may include flex, order, and opacity.

Concept
Allows tokens to be grouped within a category.
Current values may include action, hub, inset, vertical, etc.

Future additions may include visualization.

Property
Defines the token scope.
This can be synonymous with the CSS property name.

Modifiers

Variant
Defines variations to distinguish use cases.
Examples include primary, secondary, tertiary and heading, body, default.
State
Defines states of interactivity.
Examples include hover, press, focus, error, etc.
Scale
Places the token within an intentional, ordered range of values.
Examples include heading levels: 1, 2, 3, 4, 5 and t-shirt sizes: small, medium, large.
Mode
Defines a background setting on which elements appear thus enabling light and dark modes.
Examples are on-light and on-dark.

Types

There are three types of design tokens in the VA Design System:

1. Primitive

Primitives mainly come from the USWDS. They are the building blocks that we use. The VA Design System does not use nor add any colors, fonts, nor spacing units that are not defined in the U.S. Design System.

2. Semantic

Semantic tokens communicate how a primitive is used. These tokens capture a semantic meaning that should relay the context in which that token should be used.

3. Component

Component tokens are scoped to a specific component and represent decisions specific to that component.

Tokens

Colors

Font

Spacing

Forthcoming design tokens

These tokens are not available in Figma nor are they yet represented in the CSS library. However, they do provide values that teams can coalesce around that will soon be available as tokens in our component-library.

Elevation tokens

vads-elevation-shadow-1
0 1px 4px 0 rgba(0, 0, 0, 0.1)
vads-elevation-shadow-2
0 4px 8px 0 rgba(0, 0, 0, 0.1)
vads-elevation-shadow-3
0 8px 16px 0 rgba(0, 0, 0, 0.1)
vads-elevation-shadow-4
0 12px 24px 0 rgba(0, 0, 0, 0.1)
vads-elevation-shadow-5
0 16px 32px 0 rgba(0, 0, 0, 0.1)
vads-elevation-shadow-none
none
vads-elevation-z-index-auto
auto
Bottom level of elevation layers.
vads-elevation-z-index-base
0
Base layer of elevation. $base-layer in base/_b-variables.scss
vads-elevation-z-index-level-bottom
-100
Bottom level of elevation layers.
vads-elevation-z-index-level-1
100
Level 1 of elevation layers.
vads-elevation-z-index-level-2
200
Level 2 of elevation layers.
vads-elevation-z-index-level-3
300
Level 3 of elevation layers.
vads-elevation-z-index-level-4
400
Level 4 of elevation layers.
vads-elevation-z-index-level-5
500
Level 5 of elevation layers.
vads-elevation-z-index-level-top
99999
Top level of elevation layers.

Shape tokens

vads-shape-border-radius-control-large
uswds-system-spacing-1
Border radius for modals
vads-shape-border-radius-control-medium
uswds-system-spacing-05
Border radius for controls such as buttons and other interactive elements
vads-shape-border-radius-control-small
uswds-system-spacing-2px
Border radius for controls such as checkboxes

Size tokens

vads-size-line-length-1
44ex
From USWDS.
vads-size-line-length-2
60ex
From USWDS.
vads-size-line-length-3
64ex
From USWDS.
vads-size-line-length-4
68ex
From USWDS.
vads-size-line-length-5
72ex
From USWDS.
vads-size-line-length-6
88ex
From USWDS.
vads-size-max-width-body
70rem
This is the current max-width of body content. We'll be moving to the 6 line length tokens that the USWDS has: https://designsystem.digital.gov/design-tokens/typesetting/measure/
vads-size-max-width-site
1040px
vads-size-min-width-body
284px
Edit this page in GitHub (Permissions required)
Last updated: Jan 26, 2024