Atomic Components
Single function, single purpose components that form the building blocks of the design system.
Buttons
8 button types with token mappings
Primary Button
Main action of a page
Example: Save, Submit, Create
Secondary Button
Supporting action
Example: Cancel, Edit, View Details
Tertiary / Ghost Button
Low emphasis or inline
Example: Learn more, Back
Destructive Button
Dangerous or irreversible action
Example: Delete, Remove, Reset
Icon Button
Icon-only (no label)
Example: Search, Close, Settings
Text Button / Link Button
Inline textual action
Example: View all, Forgot password?
Toggle Button
On/Off state
Example: Grid ↔ List, Favorite
FAB (Floating Action Button)
Floating, circular primary
Example: + new item on mobile
Inputs
9 input types with token mappings
Text Field (Single-line)
For short text input
Example: Name, Email, Username
Textarea (Multi-line)
For longer text
Example: Description, Notes
Search Field
Input + Icon Button
Example: Search bar, filter search
Number Field
Numeric input (with up/down arrows)
Example: Price, Quantity
Password Field
Hidden characters + toggle icon
Example: Login forms
Select / Dropdown
Input + options list
Example: Country, Category
Date Picker
Input + calendar icon
Example: Date of birth, Schedule
File Upload Field
Input + "Upload" button or drag area
Example: Upload CV, Attachments
Combobox / Autocomplete
Input + suggestion dropdown
Example: Tag selection, Quick search
Switches
5 switch types with token mappings
Standard Switch (Toggle)
On/Off toggle for a setting
Example: Enable notifications
Labeled Switch
Switch + label on right or left
Example: Dark Mode, Auto Save
Icon Switch
Switch with icons for On/Off states
Example: 🌙 / ☀️ for dark/light mode
Disabled Switch
Non-interactive (grayed out)
Example: When permission denied
Loading Switch (optional)
Shows transition state
Example: For async toggles
Avatars
6 avatar variants with token mappings
Image
User photo or entity image
Example: Profile picture, team member photo
Initials
Fallback letters, colored background
Example: AG for "Azin Ghasemi", "JS" for "John Smith"
Icon
Placeholder / system avatar
Example: Default user icon, system account
Status
Avatar + presence dot
Example: Online indicator, active user
Group
Overlapping members
Example: Team avatars, multiple users
Anonymous
Generic silhouette
Example: Unidentified user, guest account
Badges
5 badge types with token mappings
Notification
Count bubble showing number
Example: "3" unread messages, "99+" items
Status
Dot or label indicating state
Example: "Active", "Online", "Pending"
Text / Label
Text label badge
Example: "New", "Beta", "Admin", "Pro"
Outline
Tag-style badge with border
Example: Category tags, filter chips
Icon
Small symbol badge
Example: Checkmark "✔️", star "⭐", lock "🔒"
Icons
Icon sizing, context, and state tokens
Icon Categories
Icon Sizes
icon-size-xs12px
Status dots, small badges
icon-size-sm16px
Inline with small text, inputs
icon-size-md20px
Default size (most common)
icon-size-lg24px
Card actions, toolbars
icon-size-xl32px
Empty states, hero visuals
icon-size-xxl48px
Splash / onboarding illustrations
Icon Context
Gray-600
White
Gray-700
Brand tone
Green
Yellow
Red
Muted gray
Light tone
Icon States
Neutral gray / brand tone
Slightly darker or accent color
Brand-600 or accent shade
Gray-400
White
Typography
3-layer token hierarchy: Core → Semantic → Component
Token Hierarchy
font-size-16text-heading-lgbutton-textCore Tokens
Raw font values (editable by Brand / Design Ops)Font Families
Font Sizes
Line Heights
Font Weights
Letter Spacing
Text Case
Semantic Tokens
Context meaning (editable by Design System Team)Headings(xl, lg, md, sm, xs)
Body & Supporting Text
Labels & UI Text
Display & Numbers
Component-Level Typography Tokens
Applied usage (editable by Designers / Developers){text-label-sm}{text-label-md}{text-label-sm}{text-heading-sm}{text-body-sm}Line Height & Vertical Rhythm
| Text Size | Line Height | Ratio |
|---|---|---|
| 12px | 16px | 1.33 |
| 14px | 20px | 1.43 |
| 16px | 24px | 1.5 |
| 20px | 28px | 1.4 |
| 24px | 32px | 1.33 |
| 32px | 40px | 1.25 |
Atomic Design Recommendations
| Context | Recommended Token | Notes |
|---|---|---|
| Dashboard titles | text-heading-lg | Must stand out clearly |
| Card titles | text-heading-sm | Compact readability |
| Form labels | text-label-md | Medium weight for clarity |
| Paragraph text | text-body-md | High contrast, readable |
| Captions / Hints | text-body-sm | Subtle but legible |
| Button text | text-label-sm | All caps optional |
| Data / Code | text-mono-sm | Use monospaced family |
Divider / Separator
Content above divider
Content below divider
Content with vertical divider
Content with text divider
Tooltip
Progress / Spinner
Spinners
Progress Bars
25% Complete
50% Complete
75% Complete