Select

The select component allows users to make single or multiple selections from a pre-defined list of options.

Specifications

Select design specifications
Select design specifications

States

Select input

States are defined for select component based on the interactions that the user can reproduce. The states are: enabled, hover, focus, active, error and disabled:

Select states
Select states

Multiple selection

Allows the user to select more than one option from the list.

Multiple selection select states
Multiple selection states

List options

To indicate which items are selected and which not, the select-multiple variant integrates a checkbox pairing with each option from the dropdown.

Single

Single select states
Single select states

Multiple

Multiple select states
Multiple select states

Anatomy

Select anatomy
  1. 1.
    Label
  2. 2.
    Helper text
  3. 3.
    Selection indicator (multiple)
  4. 4.
    List dialog
  5. 5.
    Action - Clear
  6. 6.
    Collapse indicator
  7. 7.
    List option
  8. 8.
    Divider
  9. 9.
    List option label
  10. 10.
    List option icon
  11. 11.
    List option checkbox (multiple)
  12. 12.
    Select value
  13. 13.
    List item selected indicator

Design tokens

Color

Component tokenElementCore tokenValue
labelFontColorLabelcolor-black#000000
helperTextFontColorHelper textcolor-black#000000
errorMessageColorError messagecolor-red-700#d0011b
valueFontColorValuecolor-black#000000
placeholderFontColorValuecolor-grey-800-a#000000b3
disabledColorAll:disabledcolor-grey-500#999999
listDialogBackgroundColorList dialogcolor-white#ffffff
listDialogBorderColorList dialogcolor-grey-400#bfbfbf
listOptionFontColorList optioncolor-black#000000
listOptionIconColorList item iconcolor-black#000000
listOptionDividerColorDividercolor-grey-200#e6e6e6
unselectedHoverListOptionBackgroundColorList option:hover unselectedcolor-grey-100#f2f2f2
unselectedActiveListOptionBackgroundColorList option:active unselectedcolor-grey-200#e6e6e6
selectedListOptionBackgroundColorList option selectedcolor-blue-100#e6f4ff
selectedHoverListOptionBackgroundColorList option:hover selectedcolor-blue-200#cceaff
selectedActiveListOptionBackgroundColorList option:active selectedcolor-blue-300#99d5ff
selectedListOptionIconColorList option selected indicatorcolor-blue-900#003c66
focusListOptionBorderColorList option:hover selectedcolor-blue-600#0095ff
systemMessageFontColorSystem messagecolor-grey-700#666666

Input

Component tokenElementCore tokenValue
enabledInputBorderColorBorder:enabledcolor-black#000000
hoverInputBorderColorBorder:hovercolor-purple-500#a46ede
focusInputBorderColorBorder:focuscolor-blue-600#0095ff
errorInputBorderColorBorder:errorcolor-red-700#d0011b
hoverInputErrorBorderColorBorder:hover on errorcolor-red-600#fe0123
disabledInputBorderColorBorder:disabledcolor-grey-500#999999
disabledInputBackgroundColorBackground:disabledcolor-grey-100#f2f2f2
errorIconColorError iconcolor-red-700#d0011b
collapseIndicatorColorCollapse indicatorcolor-black#000000

Selection indicator

Component tokenElementCore tokenValue
selectionIndicatorFontColorSelection indicator valuecolor-black#000000
selectionIndicatorBorderColorSelection indicatorcolor-grey-400#bfbfbf
selectionIndicatorBackgroundColorSelection indicatorcolor-grey-50#fafafa
enabledSelectionIndicatorActionBackgroundColorSelection indicatorcolor-transparenttransparent
hoverSelectionIndicatorActionBackgroundColorSelection indicator:hovercolor-grey-100#f2f2f2
activeSelectionIndicatorActionBackgroundColorSelection indicator:activecolor-grey-300#cccccc
enabledSelectionIndicatorActionIconColorSelection indicator iconcolor-black#000000
hoverSelectionIndicatorActionIconColorSelection indicator icon:hovercolor-black#000000
activeSelectionIndicatorActionIconColorSelection indicator icon:activecolor-black#000000

Clear action

Component tokenElementCore tokenValue
actionBackgroundColorActioncolor-transparenttransparent
hoverActionBackgroundColorAction:hovercolor-grey-100#f2f2f2
activeActionBackgroundColorAction:activecolor-grey-300#cccccc
actionIconColorAction iconcolor-black#000000
hoverActionIconColorAction icon:hovercolor-black#000000
activeActionIconColorAction icon:activecolor-black#000000

Typography

Component tokenElementCore tokenValue
fontFamilyAllfont-family-sansOpen Sans
labelFontSizeLabelfont-scale-020.875rem / 14px
labelFontWeightLabelfont-weight-semibold600
labelFontStyleLabelfont-style-normalnormal
labelLineHeightLabelfont-leading-loose-011.715em
optionalLabelFontWeightLabel optionalfont-weight-regular400
valueFontSizeValuefont-scale-031rem / 16px
valueFontWeightValuefont-weight-regular400
valueFontStyleValuefont-style-normalnormal
valueLineHeightValuefont-leading-normal1.5em
helperTextFontSizeHelper textfont-scale-010.75rem / 12px
helperTextFontWeightHelper textfont-weight-regular400
helperTextFontStyleHelper textfont-style-normalnormal
helperTextLineHeightHelper textfont-leading-normal1.5em
listOptionFontSizeList optionfont-scale-020.875rem / 14px
listOptionFontWeightList optionfont-weight-regular400
listOptionFontStyleList optionfont-style-normalnormal
listGroupLabelFontWeightList group itemfont-weight-semibold600

Border

PropertyElementCore tokenValue
borderInput containerborder-width-11px
borderInput containerborder-style-solidsolid
borderInput container:focusborder-width-11px
borderInput container:focusborder-style-solidsolid
box-shadowInput container:focus-0 0 0 2px
box-shadowInput container:error-0 0 0 2px
box-shadowList dialogshadow-default0 4px 6px -1px rgba(0,0,0,0.1)
border-radiusInputborder-radius-medium0.25rem / 4px
border-radiusSelection indicator / Clear actionborder-radius-small0.125rem / 2px

Spacing

The select component input share the same spacing tokens as the text input.

PropertyElementCore tokenValue
padding-leftList dialogspacing-80.5rem / 8px
padding-rightList dialogspacing-80.5rem / 8px
margin-topList dialog contentspacing-40.25rem / 4px
margin-bottomList dialog contentspacing-40.25rem / 4px
padding-topList optionspacing-40.25rem / 4px
padding-bottomList optionspacing-40.25rem / 4px

Width

WidthValue
small240px
medium360px
large480px
fillParent100%

Margin

MarginValue
xxsmall6px
xsmall16px
small24px
medium36px
large48px
xlarge64px
xxlarge100px

These values can be applied independently to each side of the component: top, bottom, left and right.

Accessibility

WCAG 2.2

WAI-ARIA 1.2