Prepared Docs

Prepared Docs

⌘K

    Loading navigation…

User

  1. Components
  2. Input With Select
  3. Usage

Input with select

Usage

Overview

InputWithSelect fuses a text field with a compact select so a qualifier and a freeform value share one field: country code plus phone, currency plus amount, scope plus identifier. The mental model is "these two pieces are inseparable—interpret them together". It reduces horizontal scanning versus two separate fields while keeping a single tab-stop contract when the design sequences focus correctly.

When to use

  • The select changes format or validation rules for the text value (dialing country code, unit of measure, protocol prefix).
  • Both pieces are required together to interpret the input at all.
  • Horizontal space is tight in filters, modals, or table toolbars and two separate fields would crowd the row.

When not to use

  • Only one option exists—use a static prefix label or affix text instead of a redundant select.
  • The select chooses between entirely different fields—show separate inputs so operators don't miss a hidden control.
  • Long, unsearchable select lists—promote the select portion to a Combobox.

Composition

A lead or tail Select sits next to an Input; label and helper/error text span the combined control. Lead selects typically determine parsing (country code before a phone number); tail selects usually annotate value (unit after a number).

Content guidelines

  • The select's options are short and sentence-cased; never duplicate the field label in option text. Localize with formatMessage.
  • Helper text applies to the combined control. On validation error, name the offending segment ("Select a country", "Enter 10 digits").

Behavior and states

  • Validation. Surface which segment failed; the other segment's state should reflect that ("Country code valid; phone is too short").
  • Disabled. Disable both segments together unless product rules require mixed states (rare; needs design approval).
  • Keyboard. Tab moves from the label or external control into the select, then into the input, then out. Don't split the control across multiple Tab-stops with visual ambiguity.

Best practices

Do

  • Default the select to the most common agency or locale context (home country, primary currency) so the operator rarely has to change it.
  • Keep select lists short; move rare options behind search if the list grows.
  • Align the select width so it reads as a qualifier, not a competing field.

Don't

  • Nest another complex picker inside the select slot without an accessibility review.
  • Use InputWithSelect when the text portion isn't meaningful. If the select is the only decision, use a plain Select.
  • Change validation dramatically when the select changes without surfacing the new rule in helper text.

Accessibility

Expose a unified label and describe both parts; screen readers must hear the current select value and the text value. See Accessibility for the full contract.

Related Components

  • Input for standalone text patterns.
  • Select when the fields are independent.
  • Intl phone number input for E.164-ready phone capture.

Previous

Accessibility / Color and Contrast

Next

Input with Select / API and Development

On this page

Overview
When to use
When not to use
Composition
Content guidelines
Behavior and states
Best practices
Accessibility
Related Components