Time Picker
Time picker built on Popover with hour and minute lists. It keeps a stable 24-hour HH:mm value contract so it drops into forms, while the display can use 12- or 24-hour format.
24-hour
12-hour with minute step
Sizes
sm / md / lg, shown empty with a custom placeholder.
States
Disabled and invalid. The clear control appears once a value is set.
- It does not read invalid from an enclosing FormField - set invalid on the picker itself
Without the clear control
clearable={false} for a time that should always have a value.
- name renders a hidden input, so the 24-hour HH:mm value submits with a native form
API reference
Accessible name for the trigger. Default `"Select time"`. Inside a `FormField`, the field's label names it instead (its `aria-labelledby` takes precedence).
Points at an existing visible label's id, as an alternative to `aria-label`.
Extra classes merged onto the trigger.
Show a clear control when a value is set. Default true.
Starting value when uncontrolled, in the same 24-hour "HH:mm" form.
Disables the trigger, so the list cannot be opened.
Display format. The stored value is always 24-hour "HH:mm". Default 24.
Manually flags the invalid visual/aria state for standalone use. Inside a `FormField`, the field's own invalid state is picked up automatically.
Minute increment for the list. Default 5.
Renders a hidden input so the value posts with a form.
Called with the 24-hour "HH:mm" string, whatever `hourCycle` displays.
Text on the trigger while nothing is selected.
Trigger height, matching `Input` and `Button` at the same size.
Value as a 24-hour "HH:mm" string. This is the stable form/value contract regardless of display format.
Coding agents read this reference, with its examples, from the version your project has installed, through the Fuji UI MCP server. Set up your agent
