Dropdown

Dropdowns let users pick an option, filter content, or change sort order. They expose a Menu of selectable Items, surfaced through a Dropdown Button paired with an icon that signals the menu can be opened.


Anatomy

Dropdown Anatomy
  • 1. Dropdown Container
  • 2. Dropdown Field
  • 3. Arrow Icon
  • 4. Dropdown Button
  • 5. Dropdown Menu
  • 6. Menu Item
  • 7. Selected Item Field

Extra Type

Dropdowns surface Menu Items used to filter or sort page content. Variants split by Dropdown Button type — Primary (Label), Secondary (Avatar & Badge), and Tertiary (Non-Outlined).

Dropdown Extra Type
Primary Type
Secondary Type
Tertiary Type
Extra Type
Field Type
Text
Avatar with Text, Badge
Text, Avatar with Text, Badge
Icon
Selected Item
Single Selected
Multi / Single Selected
Multi / Single Selected
Single Selected
Extra Composition
Multi Selected Count Badge
Multi Selected Count Badge
Characteristics
Most common — composed of text or an icon
Includes components like Avatar and Badge
No outline; inner field only — used inside tables and lists
Icon Button form, with the standard menu surface
Field Type
PrimaryText
SecondaryAvatar, Badge
TertiaryText, Avatar, Badge
ExtraIcon
Selected Item
PrimarySingle
SecondaryMulti / Single
TertiaryMulti / Single
ExtraSingle
Extra Composition
Primary
SecondaryCount Badge
TertiaryCount Badge
Extra

Components

Dropdowns split by style, intent, and the field type they expose — Primary (Label Dropdown), Secondary (Avatar and Badge Dropdown), Tertiary (Non-Outlined Dropdown), and Extra Type.

Primary Type

The most common type — composed of a Label Dropdown (text-only field) and a Label with Icon Dropdown (icon + text).

Primary Type

Secondary Type

Uses non-text components inside the field — most commonly Avatar or Badge.

Secondary Type

Tertiary Type

Dropdowns with no visible outline — Clicked state shifts to the Secondary form. Split into Table Dropdown and List Dropdown, each using different field components.

Table Dropdown
List Dropdown

Extra Type

Use-case-specific variants — Icon Dropdown, Inspection Selector, Fleet Selector.

Extra Type

Variants

Dropdown State

State

Dropdown Button supports 8 states — Disabled, Default, Hover, Clicked, Select Disabled, Selected, Select Hover, Select Clicked. Menu Item supports 4 — Default, Hover, Selected, Select Hover.

Dropdown Size

Size

Sizes use height — Large, Medium, Small. Width remains flexible.

Menu Item

Menu Item

Menu Item fields compose from a core set — Text, Avatar, Badge — with optional Toggle or Icon. A Search Input matching the Dropdown Button height is also supported.


Table of Dropdown Component

Component
Values
Dropdown Button
Primary, Secondary, Tertiary
Menu List
List, Date Picker
Menu Item
Text, Avatar, Badge

Table of Properties — Dropdown Button

Property
Values
Default Value
Type
Primary, Secondary, Tertiary
Primary
Size
Large, Medium, Small
Medium
State
Disabled, Default, Hover, Clicked, Select Disabled, Selected, Select Hover, Select Clicked
Default

Table of Properties — Menu Item

Property
Values
Default Value
Type
Primary, Secondary, Tertiary
Primary
Size
Large, Medium, Small
Medium
State
Default, Hover, Selected, Select Hover
Default
Icon
False, True
False
Toggle
False, True
False

Color

Dropdown color shifts per state. The content filling the field keeps the same color across states; outline and container shift per state.

Dropdown Button Color

Dropdown Button Color

Menu Item Color

Menu Item Color

Spacing

When Menu Item content wraps to two or more lines — and combines with other components (Icon, Avatar) — apply the following spacing. Single vs. multi-selection patterns also differ.

Spacing

Contents

Aim to surface up to 4.5 Menu Items at once. With 5 or more, use a scrollbar — preserving the 4.5-item visible window.

Table / List Empty State (Placeholder)

Table / List Empty State (Placeholder)

Unlike the standard placeholder used elsewhere, Tertiary Type Table and List use "—" instead of text. This distinguishes empty cells from filled cells across many data rows in a single view.

Type of Field

Type of Field

Dropdown fields default to a Label Dropdown with text — other components can take over. Common alternatives include Badge and Avatar. Other component types can be composed as needed.

Menu Item List

Menu Item List

Surface up to 4 Items by default; beyond that, apply overflow scroll. When 4 isn't enough for usability, raise the Menu height max situationally.

Single-Selection

Single-Selection

The most common Dropdown — only one selection is allowed. If the value is required, hide the Close (Clear All) button. If optional, surface the Close button.

Multi-Selection

Multi-Selection

Multiple selections are allowed. The selected items can render two ways — a Badge that shows the count, or the full content text of each selected item.

Minimum Width

Minimum Width

Width flexes with the surrounding area. Minimum width is 120px.

Flexible Width

Flexible Width

Dropdowns flex. Set the width by accounting for the longest Menu Item content. When used inside a parent container, honor the container's defined padding.

Text Overflow

Text Overflow

When the Dropdown Button field text exceeds the horizontal area, truncate with "…". Menu Item text doesn't truncate — it wraps and shows in full.


Usage & Placement

Dropdowns most commonly pair with Labels in form input layouts, alongside Text Inputs. Multiple elements compose to deliver information to the user.

Usage & Placement
Label

Label

Forms with a Dropdown surface a Label for the field. Use Subtitle 3 (Inter, Medium, 14px), with Required, Error, and Information variants as needed. Label + Dropdown / Input combinations are often used together. Use 8px between Label and Dropdown, 24px between horizontally arranged elements, and 32px between vertically arranged elements.

Label: Information

Label: Information

Surfaces supplementary information about the input value to the user.

Label: Required

Label: Required

Marks the field as required. Place 4px after the Label and use "*". Optional fields use no marker — just the Label. Use Body 2 (Inter, Regular, 14px) for "*", at the same text size as the Label.

Label: Error (Alert)

Label: Error (Alert)

Surfaces an alert about the input value. Typically triggered after an action (e.g., Confirm Button). The Dropdown Button outline color and a Text Alert both surface. Error state outline color: Red 500. Use the Medium-size Alert.

Label Size

Label Size

Match Label size to the Dropdown component's height and information density. When field size changes, Label scales within the same ratio system to preserve component balance and readability. Medium Dropdown uses Subtitle 3 (Inter, Medium, 14px); Large Dropdown uses Subtitle 1 (Inter, Medium, 16px). This rule clarifies the visual hierarchy between Label and Input field, and keeps a consistent rhythm across different form-element sizes.


Loading Status

Loading Type
Loading Spinner Size

Loading Type

Loading uses a single Spinner type, paired with the standard Dropdown Arrow. The Spinner centers within the area where Items would surface.

Loading Spinner Size

The Spinner inside the Dropdown Container matches the height of the Item Text. While loading, width stays equal to the width used immediately before loading began.


Menu Placement

The Menu's position is decided by where the user triggered the action on screen. Default to top placement, but stay within the screen's 32px minimum padding.

Menu Placement 01
Menu Placement 02
Menu Placement 03

Menu Items

Menu height behaves in two ways depending on item count: flexible up to 4 items, fixed beyond that.

Menu Item ≤ 4
Menu Item > 4

1. Menu Item ≤ 4

When item count is 4 or fewer, the Menu height is the sum of item heights plus 4 × 2px (top + bottom Menu padding) — flexed per count. Avoid Menus with a single Item.

2. Menu Item > 4 (with Scroll)

When item count exceeds 4, Menu height equals 4.5 item heights plus 4 × 2px (top + bottom Menu padding) — flexed by item content. The 0.5 reveals the next item halfway, signaling scrollability.

Menu Item Text Line ≤ 4
Menu Item Text Line > 4

3. Menu Item Text Line ≤ 4

Unlike the Dropdown Button, where text truncates with "…" in a fixed height, Menu Item text wraps up to 4 lines. Heights flex from 1 to 4 lines.

4. Menu Item Text Line > 4 (with Scroll)

Maximum visible items default to 4.5, but each item's height flexes by content. Max visible text lines is 4 — beyond that, truncate with "…".


Item List Contents Arrangement

Menu Item list content defaults to A–Z order. When a meaningful sequence applies, follow that sequence instead.

Default Item List
Sequence Item List

1. Default Item List

Applies to all text-bearing items. Except for Sequence Item Lists, all Menu Item lists default to alphabetical order — Primary, Secondary, Tertiary, and Extra Type.

2. Sequence Item List

Applies when the task itself carries a meaningful sequence the user already recognizes (e.g., Roadmap — Priority and Status Filter Dropdown).