Variants
The states and shapes this component is meant to be used in.
Units
`unit` decides which value the face edits: the hand swings to it and the ring relabels. Both `hours` and `minutes` are always passed in — the unit only says which of the two a drag writes to, so the hand can point at 25 minutes while the caller still knows the hour is 9.
Clock formats
The 12-hour face is a single ring of 1–12. `use24HourClock` adds an inner ring for 13–00 and the hand shortens to reach it, which is how the same dial covers a whole day without a second surface. `hours` is always 0–23 whichever face is showing.
24-hour · hand on the inner ring
12
01
02
03
04
05
06
07
08
09
10
11
00
13
14
15
16
17
18
19
20
21
22
23
Granularity
The minute face labels only the multiples of five, but every minute in between stays selectable by angle — exactly like a real clock. A hand landing on an unlabelled minute shrinks its knob to a dot instead of covering a bare spot on the face.
Every minute · knob on :07
Snapped to 15 · knob on :30
Disabled times
`isTimeDisabled` is asked about a candidate, not about the current value: on the hour face it receives the hour being considered with the current minutes, on the minute face the current hour with the candidate minute. Refused values grey out and a drag onto them is ignored.
Office hours only
12
01
02
03
04
05
06
07
08
09
10
11
00
13
14
15
16
17
18
19
20
21
22
23