Combobox

A searchable select input with a dropdown list of suggestions. Supports single/multi select, groups, and filtering.

Default

Click to open, type to filter. Select an item from the list.

No results found.
<div class="sui-combobox">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value placeholder">Select framework...</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search frameworks...">
    </div>
    <div class="sui-combobox-list">
      <button type="button" class="sui-combobox-item">React</button>
      <button type="button" class="sui-combobox-item">Vue</button>
      <button type="button" class="sui-combobox-item">Angular</button>
      <button type="button" class="sui-combobox-item">Svelte</button>
      <button type="button" class="sui-combobox-item">Solid</button>
      <button type="button" class="sui-combobox-item">Preact</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

With Selection

A pre-selected item shows a checkmark and the trigger displays the chosen value.

No results found.
<div class="sui-combobox">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value">Vue</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search frameworks...">
    </div>
    <div class="sui-combobox-list">
      <button type="button" class="sui-combobox-item">React</button>
      <button type="button" class="sui-combobox-item selected">Vue</button>
      <button type="button" class="sui-combobox-item">Angular</button>
      <button type="button" class="sui-combobox-item">Svelte</button>
      <button type="button" class="sui-combobox-item">Solid</button>
      <button type="button" class="sui-combobox-item">Preact</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

Multiple

Add sui-combobox-multiple for multi-select. Selected items appear as chips in the trigger.

No results found.
<div class="sui-combobox sui-combobox-multiple">
  <button type="button" class="sui-combobox-trigger">
    <div class="sui-combobox-chips">
      <span class="placeholder">Select languages...</span>
    </div>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search languages...">
    </div>
    <div class="sui-combobox-list">
      <button type="button" class="sui-combobox-item" data-value="JavaScript">JavaScript</button>
      <button type="button" class="sui-combobox-item" data-value="TypeScript">TypeScript</button>
      <button type="button" class="sui-combobox-item" data-value="Python">Python</button>
      <button type="button" class="sui-combobox-item" data-value="Rust">Rust</button>
      <button type="button" class="sui-combobox-item" data-value="Go">Go</button>
      <button type="button" class="sui-combobox-item" data-value="Ruby">Ruby</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

Groups

Use sui-combobox-label and sui-combobox-separator to organize items into categories.

Frontend
Backend
Database
No results found.
<div class="sui-combobox">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value placeholder">Select a tool...</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search tools...">
    </div>
    <div class="sui-combobox-list">
      <div class="sui-combobox-label">Frontend</div>
      <button type="button" class="sui-combobox-item">React</button>
      <button type="button" class="sui-combobox-item">Vue</button>
      <button type="button" class="sui-combobox-item">Svelte</button>
      <div class="sui-combobox-separator"></div>
      <div class="sui-combobox-label">Backend</div>
      <button type="button" class="sui-combobox-item">Express</button>
      <button type="button" class="sui-combobox-item">Django</button>
      <button type="button" class="sui-combobox-item">Rails</button>
      <div class="sui-combobox-separator"></div>
      <div class="sui-combobox-label">Database</div>
      <button type="button" class="sui-combobox-item">PostgreSQL</button>
      <button type="button" class="sui-combobox-item">MongoDB</button>
      <button type="button" class="sui-combobox-item">Redis</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

Sizes

Use sui-combobox-sm or sui-combobox-lg for size variants.

No results found.
No results found.
No results found.
<!-- Small -->
<div class="sui-combobox sui-combobox-sm">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value placeholder">Small...</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search...">
    </div>
    <div class="sui-combobox-list">
      <button type="button" class="sui-combobox-item">Option A</button>
      <button type="button" class="sui-combobox-item">Option B</button>
      <button type="button" class="sui-combobox-item">Option C</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

<!-- Default -->
<div class="sui-combobox">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value placeholder">Default...</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search...">
    </div>
    <div class="sui-combobox-list">
      <button type="button" class="sui-combobox-item">Option A</button>
      <button type="button" class="sui-combobox-item">Option B</button>
      <button type="button" class="sui-combobox-item">Option C</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

<!-- Large -->
<div class="sui-combobox sui-combobox-lg">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value placeholder">Large...</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
  <div class="sui-combobox-content">
    <div class="sui-combobox-search">
      <input type="text" class="sui-combobox-input" placeholder="Search...">
    </div>
    <div class="sui-combobox-list">
      <button type="button" class="sui-combobox-item">Option A</button>
      <button type="button" class="sui-combobox-item">Option B</button>
      <button type="button" class="sui-combobox-item">Option C</button>
    </div>
    <div class="sui-combobox-empty">No results found.</div>
  </div>
</div>

Disabled

Add sui-combobox-disabled to prevent interaction.

<div class="sui-combobox sui-combobox-disabled">
  <button type="button" class="sui-combobox-trigger">
    <span class="sui-combobox-value placeholder">Select framework...</span>
    <span class="sui-combobox-clear">&#10005;</span>
    <span class="sui-combobox-arrow"></span>
  </button>
</div>

Delete this item?

This action cannot be undone. This will permanently delete the item and remove all associated data.