Components / Inputs / Picker fieldOpen in Figma
Picker field
ReadyA field that opens a chooser for people, sites or other records, and lists what was picked below it.
When to use
- People choose one or more records the app already holds: people, sites, sections, animals.
- Each choice needs more than a name to be told apart: a photo, a role, an area.
When not to use
| If people need to | Use |
|---|---|
| Choose one option from a short fixed list | Dropdown |
| Tick a few plain options | Checkbox |
| Type free text | Text field |
| Filter a list | Search and filter |
Anatomy
Choose peopleadd_circle
ABcancel
Name
Detail
- Label · required
- Container · required
- Hint text · required; says what will be chosen
- Add icon · required, Add blue, right side
- Picked row · one per chosen record, below the field
- Photo or initials · required in a picked row; thumbnail for sites
- Name and detail · name required, detail optional
- Remove icon · required, Coral
Variants
| Variant | Purpose | Figma |
|---|---|---|
| People | Picked rows with a 36 round photo or initials, name and role | Designed |
| Sites | Picked rows use the site card: 56 tall, thumbnail 40, Page light fill | Designed |
| Single pick | The field is replaced by its one picked row; tapping the row opens the chooser again | Temporary rule |
States
| State | When | What changes | Figma |
|---|---|---|---|
| Empty | Nothing picked yet | Hint text in Hint grey, add icon in Add blue | Designed |
| Picked | One or more records chosen | Picked rows stack below the field, gap 8; the field stays so more can be added | Designed |
| Choosing | The chooser is open | A bottom sheet with search, "Selected n/total", Select all and rows with checkboxes; Cancel and Save in the footer | Designed |
| Error | A required pick is missing | Red border and a red message 4 below | Temporary rule |
| Disabled | Picks can't be changed now | Disabled fill, add icon in Hint grey; picked rows lose their remove icon | Temporary rule |
Behaviour
- Tapping anywhere on the field opens the chooser as a bottom sheet titled with what is being chosen.
- Rows already picked open ticked. Tapping a row ticks or unticks it; the count updates at once.
- Picks are kept only on Save. Cancel, × or tapping the dimmed area drops the unsaved changes.
- The remove icon on a picked row takes it out at once, with no confirm. Removing the last one returns the field to empty.
- Sites are always picked and shown with the site card, never as plain text.
Phone and tablet
| Phone | Tablet | |
|---|---|---|
| Label to field | 8 | 12 |
| Picked rows | One per line, gap 8 | Two per line, gap 8 |
| Chooser | Bottom sheet | Bottom sheet |
Content
| Part | Rule |
|---|---|
| Label | A plural noun in sentence case: "Trainers", "Sites" |
| Hint text | "Choose" plus the noun: "Choose sites" |
| Picked row | Name on the first line; one detail on the second (role, area). No IDs unless people search by them |
| Error message | Says what to do in one line: "Choose at least one" |
Do and don't
Choose peopleadd_circle
ABcancel
Name
Detail
DoList each pick as its own row with a way to remove it.
Name 1, Name 2, Name 3add_circle
Don'tJoin picks into one line of text inside the field.
Choose sitesadd_circle
DoUse the add icon in Add blue to show the field opens a chooser.
Choose siteskeyboard_arrow_down
Don'tUse a chevron. It reads as a dropdown with a single choice.
Related
Specs
Click a value to copy it.
| Part | Property | Phone | Tablet |
|---|---|---|---|
| Container | Height | ||
| Corners | |||
| Border | |||
| Fill | |||
| Padding left and right | |||
| Label | Type | ||
| Colour | |||
| Space below | |||
| Hint text | Type | ||
| Colour | |||
| Add icon | Size | ||
| Colour | |||
| Picked row | Fill | ||
| Corners | |||
| Padding | |||
| Gap inside | |||
| Gap between rows | |||
| Photo or initials | Size | ||
| Initials | Fill | ||
| Name | Type | ||
| Colour | |||
| Detail | Type | ||
| Space above | |||
| Remove icon | Size | ||
| Colour | |||
| Picked site | Height | ||
| Fill | |||
| Border | |||
| Padding | |||
| Thumbnail | |||
| Chooser row | Fill | ||
| Box | |||
| Chooser row, ticked | Border | ||
| Chooser footer | Buttons |
Accessibility
- The field is announced as a button that opens a chooser, read with its label and the number picked.
- Each remove icon has its own label: "Remove" plus the name, and a touch area of at least 44.
- Ticked rows in the chooser use a different glyph (filled box with a tick), never colour alone.
- Initials are read as the full name; photos carry the name as their text alternative.
- Focus returns to the field when the chooser closes.
Changes
| Date | Change |
|---|---|
| 26 Oct 2026 | Field set to 56 with the add icon in Add blue; picked rows on Page fill. |
| 26 Oct 2026 | Single pick, error and disabled added as temporary rules until designed in Figma. |