Components / Inputs / Date fieldOpen in Figma
Date field
ReadyA field for entering a date, a time, or both, chosen from a picker.
When to use
- The answer is a calendar date, a time of day, or both.
- A period needs a start and an end: use a pair of fields side by side.
When not to use
| If people need to | Use |
|---|---|
| Type a number of days or hours | Text field |
| Choose a month or a year for a whole screen | Dropdown, inline variant |
| Choose from a fixed set of periods | Dropdown |
Anatomy
10 Aug 2026event
- Label · required
- Required mark · when the field must be filled
- Container · required
- Date, time or hint text · required
- Calendar or clock icon · required, right side
Variants
| Variant | Purpose | Figma |
|---|---|---|
| Date | A single day. Calendar icon | Designed |
| Time | A time of day. Clock icon | Designed |
| Pair | Two fields side by side with gap 16: start and end, or date and time | Designed |
States
| State | When | What changes | Figma |
|---|---|---|---|
| Empty | Nothing chosen yet | Hint text shows the format in Hint grey | Designed |
| Filled | A date or time is chosen | Value in Ink, in the standard format | Designed |
| Open | The picker is showing | A bottom sheet with a month grid (date) or hour, minute and AM/PM rows (time), the chosen one filled Antz green; Cancel and Done in the footer | Temporary rule |
| Error | The value is missing or out of range | Red border and a red message 4 below | Temporary rule |
| Disabled | The value can't be changed now | Disabled fill; text and icon in Hint grey | Temporary rule |
Behaviour
- Tapping anywhere on the container opens the picker as a bottom sheet titled with the field label. The keyboard never opens.
- The sheet opens on the current value, or on today when the field is empty.
- Done writes the value and closes the sheet; Cancel or × closes it and keeps the old value.
- Days outside the allowed range are not shown as choosable, so a wrong date can't be picked.
- In a pair, the end date can't be before the start date; the end field shows the error, not the start.
Phone and tablet
| Phone | Tablet | |
|---|---|---|
| Label to field | 8 | 12 |
| Pair | Two fields side by side, gap 16 | Two fields side by side, gap 16; a date and its time sit on one line |
Content
| Part | Rule |
|---|---|
| Label | A noun in sentence case, no colon: "Start date", "Time" |
| Date format | D Mon YYYY: 10 Aug 2026 |
| Time format | h:mm AM: 09:14 AM |
| Hint text | The format, not an instruction: "DD Mon YYYY" |
| Error message | Says what to fix in one line: "End date is before start" |
Do and don't
10 Aug 2026event
20 Aug 2026event
DoPut a start and an end side by side, same width.
10/08/26event
Aug 20, 2026event
Don'tMix date formats or write dates in numbers only.
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 | |||
| Required mark | Colour | ||
| Value | Type | ||
| Colour | |||
| Hint text | Colour | ||
| Icon | Size | ||
| Colour | |||
| Pair | Gap between fields | ||
| Padding left and right | |||
| Error message | Type | ||
| Colour | |||
| Space above | |||
| Picker sheet | Top corners | ||
| Body fill | |||
| Month panel | |||
| Day | Size | ||
| Type | |||
| Day, chosen | Fill | ||
| Weekday | Type | ||
| Picker footer | Buttons |
Accessibility
- Every field has a visible label; the format in the hint text never replaces it.
- The field is announced as a button that opens a date picker, read with its label and value.
- Each day is read in full ("Monday 10 August 2026"); the chosen day is marked by its filled circle and as selected, not by colour alone.
- Day cells are 36 round inside a row at least 44 tall to keep touch areas usable.
- Errors are written out, not shown by the red border alone.
Changes
| Date | Change |
|---|---|
| 26 Oct 2026 | Height set to 56 everywhere; the 48 date fields in one file are retired. |
| 26 Oct 2026 | Picker sheet, error and disabled added as temporary rules until designed in Figma. |