Skip to content

BbTimePickerInput

Enter a recurring wall-clock time or schedule window in a labelled segmented field.

import { BbTimePickerInput } from 'bitboss-ui';

On this page

Use it for

Use BbTimePickerInput for a recurring time with no date, such as support hours, a shift boundary, or a daily dispatch.

Use something else when

  • BbTimePicker: the time is assigned from your own cell, chip, or button
  • BbDatePickerInput with type="datetime": the time belongs to a specific calendar date

Pass Through

Hover or tap a part to outline it. Toggles flip loading, errors and warnings when the component has them — only parts highlight.

$
HH:MMUSD
Guidance while the control is focused.

BbTimePickerInput is new in v3.

Set support hours

Start with the schedule task: bind a labelled opening time and submit its 24-hour value.

HH:MM

Model: "09:00"

Pass a stable id and name; label does not supply the native name. The separate hour and minute inputs auto-advance, accept pasted times, and support arrow-key stepping.

Wall-clock semantics

The model is null or a zero-padded 24-hour string such as 09:00. It contains no date or timezone, so the same stored value means nine o'clock in every region.

HH:MM
Model
"09:30"
Shown as
9:30 AM

Do not parse the value with new Date('09:00'). Attach the relevant date before doing instant or timezone arithmetic. The model remains 24-hour even when the field displays AM/PM.

Display and granularity

Use ampm for a 12-hour field, seconds for HH:mm:ss, and step for the minute rows offered by the columns.

HH:MM
ampm + step 15 → 14:30
HH:MM:SS
seconds → 14:30:45
HH:MM
step 15, value 10:07 — accepted, and no column row highlights for it

step constrains column picks, not typing. An off-grid typed value remains unchanged and highlights no row.

Bounds and ranges

Use min and max to constrain a callback window. A typed value outside the window is clamped on commit and reported through error.

HH:MM
We call between 09:00 and 18:00.

Type 07:00 and leave the field: it snaps to 09:00 and says so.

Use range for a shift. Keep the model as an array and use [] for empty.

HH:MM – HH:MM

["08:00","16:00"]

Type 16:00 then 08:00 and leave the field: the pair swaps.

A reversed range is swapped on commit and emits end_before_start. Turn error payloads into application messages through errors; clear them on active.

Typing and mobile

Use disable-writing="mobile" when touch users should choose from the columns while desktop users keep keyboard entry.

HH:MM
HH:MM

adaptive opens the columns in a bottom sheet on mobile. Pass sheet options through offCanvasProps, or set :adaptive="false" for viewport-independent tests. Shared label, message, state, and validated-field props follow BbTextInput.

Coming from v2has-warning → has-warnings

The shared v2 input prop hasWarning is now hasWarnings.