MultiSectionDigitalClock
v1.0.3Updated 28 Sept 2026Side-by-side scrollable columns for hours, minutes and either AM/PM or seconds, the MUI MultiSectionDigitalClock equivalent. The `views` prop chooses which columns render and in what order, while minutesStep and secondsStep control each column's granularity. Every column is its own accessible listbox with keyboard support and auto-scrolls its selected value into view.
Preview
Live · 7 stories▸Why this is recommendedtimepickerclockdigital+8
MultiSectionDigitalClock handling multiple items at once — section.
- ✓Setting an exact time down to the second
- ✓Choosing a precise alarm or reminder time
- ✓Entering hours and minutes separately in a form
- ✓Time entry in a 24-hour operations console
- ✓The dropdown panel inside a time picker popover
- Hours / minutes / meridiem or seconds columns
- `views` selects which columns render, in order
- 12-hour (AM/PM) and 24-hour modes via `ampm`
- minutesStep / secondsStep column granularity
- Controlled (`value`) and uncontrolled (`defaultValue`) modes
- Each column is an accessible listbox (role=listbox / option / aria-selected)
- Columns sit in one role=group that a FormField label names (aria-labelledby), with the field id, describedby and invalid state reaching it
- Keyboard: ArrowUp/ArrowDown/Home/End to move, Enter/Space to select
- Auto-scrolls the selected option into view
- maxHeight to cap the scroll area
- ✕Picking from preset time slots at a fixed interval (use DigitalClock)
- ✕Analog-style picking (use TimeClock)
- ✕Date selection (use DatePicker)
- ✕A text time field with a popover (use TimePicker)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
valueControlled value
—onChangeFired on selection
—defaultValueInitial value when uncontrolled
—ampm12-hour columns with a meridiem list (default true) vs 24-hour
—minutesStepMinutes column granularity (default 1)
—secondsStepSeconds column granularity (default 1)
—viewsColumns to render, in order. Defaults derived from `ampm`
—maxHeightMax scrollable height in px (default 256)
—disabledDisable all columns
—classNameExtra classes on the wrapper
—labelsOverride the built-in column aria-labels and the AM/PM option text (i18n)
—aria-labelAccessible name of the clock as a whole (its role=group); unnamed by default, and inside a labelled FormField the field label names it instead
—aria-labelledbyId(s) of the element(s) that label the group; wins over a FormField label
—idDOM id set on the group around the columns; FormField clones its field id in
—aria-describedbyId(s) of hint or error text describing the clock (FormField clones this in)
—aria-invalidMark the clock invalid; set on the group and on every column listbox (FormField clones this in from its error prop)
—