Property Types
In the Universal Design System (UDS), property types help define and control how components behave, look, and adapt across contexts.
Overview
In the Universal Design System (UDS), property types help define and control how components behave, look, and adapt across contexts. These properties are powered by Figma variables, which allow us to build flexible, responsive, and accessible components using reusable tokens.
Property types allow us to define rules around appearance, behavior, content, and structure β keeping components consistent and scalable without hardcoding values.
π¨ What Are Variables?
Variables are raw values β like colors, numbers, or text β that can be reused and adjusted depending on the design context (e.g. light vs. dark mode, mobile vs. desktop).
When used in components, variables:
Ensure consistency across projects
Enable theme-aware styling (like dark mode)
Allow quick updates across files
Support localization, accessibility, and responsive behavior
π Types of Properties
Figma supports four main variable types. Each has specific use cases within our system:
π₯ 1. Color Variables
Used to define visual styling (e.g., fills, strokes, text).
Example values:
#000000
,#FFCD29
Supports light/dark themes, semantic tokens, and brand palettes
Can be aliased for token layering (e.g.,
content/01
βgrey-style/onyx/01
)
π Commonly applied to:
Fill & stroke
Text color
Shadow/blur color
Gradients
π’ 2. Number Variables
Used to define numeric values such as spacing, sizing, and typography.
Example values:
16
,0
,-8
,12.5
Can be used for responsive layouts, font styles, and layout grids
π Commonly applied to:
Font size, weight, line height, letter spacing
Padding, margins, gaps
Corner radius
Layout grids and alignment
π€ 3. String Variables
Used to define text and string-based values, including copy and font family names.
Example values:
"Hello, world!"
,"Inter"
,"Bold Italic"
Supports localization, text-based token values, and font styling
π Commonly applied to:
Text content
Font family or weight (by name)
Variant values in prototyping
Visibility toggles using string conditions
β
4. Boolean Variables
Used to toggle true/false states, often for conditional rendering.
Example values:
true
,false
Great for hiding/showing layers and toggling visual states
π Commonly applied to:
Layer visibility
Boolean variants (e.g., show icon, outline mode, descriptive image)
π Aliasing (Design Token Support)
A variable can reference another variable of the same type β this is called aliasing. Itβs how UDS supports design tokens with layered naming (e.g., border/01
β brand-style/sun/01
β #FFCD29
).
Benefits:
Easier theme switching
More readable token names
System-wide updates by changing a single value
π Collections, Groups & Modes
To manage complexity and scale, variables are organized using:
π¦ Collections
A set of variables (e.g., all spacing tokens, all brand colors)
Each collection can contain up to 5,000 variables
Includes all related modes
π Groups
Nested folders within collections for better organization
Example: In a color collection, you might have groups like:
content/
surface/
status/
π Variable Modes
Modes define contextual values for the same variable (e.g., light/dark, mobile/desktop).
Example:
content/01
- Light Mode: #000000
- Dark Mode: #FFFFFF
Use modes for:
Light/dark theming
Locale switching (text in different languages)
Responsive spacing for screen sizes
β¨ Why It Matters
By understanding and using property types:
Designers gain more control and flexibility
Developers can reference semantic tokens rather than raw values
The system becomes more accessible, localizable, and theme-aware
UDS uses variables and property types as the foundation for all appearance layers, token logic, and component design β enabling scalability and creative freedom without sacrificing consistency.
π Next: Learn more about each property type
β Color Values
β Number Values
β Boolean Values
β String Values
Last updated
Was this helpful?