Props
| Name | Description |
|---|---|
activator Type: ElementOrComponentRef | External activator element or component ref. When provided, the For a trigger that already exists elsewhere in your markup. A bare schedule cell with no slot state is shorter still with the |
activeSegment Type: BbTimePickerSegment | Which end the columns edit in range mode ( |
adaptive Type: booleanDefaultconfig.adaptive (true) | On mobile, open in a bottom off-canvas sheet instead of a floating popover. When unset, falls back to the global Set it per instance only to disagree with the app-wide |
ampm Type: booleanDefaultfalse | 12-hour display with an AM/PM column; emitted values stay 24-hour. Display only: the model still holds 24-hour text, so nothing downstream changes when you switch it on. See example |
anchor Type: ElementOrComponentRef | Element or component ref the popover positions itself relative to. Defaults to the activator when omitted (anchor to a larger row while a smaller element stays the click target). |
boundary Type: ElementOrComponentRefOrSelector | Constrains the popover within a bounding element or CSS selector: sideways only, alongside the trigger; it flips at the viewport. |
disabled Type: booleanDefaultfalse | Disables the activator and the columns. |
disableFlip Type: booleanDefaultfalse | Disable the automatic flip to the opposite side on overflow. |
eager Type: booleanDefaultfalse | Render popover content before it is first shown. |
label Type: string | Accessible label. The activator is named by it followed by the activator's own text ("Due date 12 Sep"), through Your trigger usually shows the time, not what it is for. Name the value here, such as "Monday opening time", so each picker in a schedule reads differently to a screen reader. See example |
max Type: string | Maximum selectable time, Later entries stay visible in the columns, disabled, the way the calendar shows days out of range. See example |
min Type: string | Minimum selectable time, Earlier entries stay visible in the columns, disabled, the way the calendar shows days out of range. See example |
modelValue requiredType: string | string[] | null | v-model value: |
offCanvasProps Type: Partial<BbOffCanvasProps> | Props for the phone sheet (the |
offset Type: numberDefault4 | Space the popover keeps from the activator. |
padding Type: number | Minimum empty space to keep from the edge of the page. |
placement Type: Placement | Position of the popover relative to the activator/anchor. |
pt Type: PtMap<BbTimePickerPtPart, BbTimePickerPtState> | Passthrough, object form: the same keys as the |
pt:<part> Type: PtValue | Passthrough, attribute form: one attribute per part, |
range Type: booleanDefaultfalse | Range selection: the value is a two-element Use |
readonly Type: booleanDefaultfalse | Prevents opening while keeping the activator visible. |
seconds Type: booleanDefaultfalse | Adds the seconds column. See example |
step Type: numberDefault1 | Minute-column granularity and arrow stepping. Limits what the columns offer without rounding a value that is already off the grid. See example |
transitionDuration Type: numberDefault250 | Popover/sheet transition duration in milliseconds. |
v-model
Values kept in sync through v-model.
| Name | Description |
|---|---|
activeSegment Type: BbTimePickerSegment | The in-panel toggle already manages it. Bind it only when another control has to read or switch the end being edited. See example |
modelValue Type: string | string[] | null | A wall-clock string with no date or timezone, so |
Events
| Name | Description |
|---|---|
error Type: (error: TimePickerInputError): void | Emitted on every normalization (clamped time). Only |
hide Type: (): void | Emitted as soon as the time panel starts to close. |
show Type: (): void | Emitted as soon as the time panel (the popover, or the sheet on a phone) starts to open. |
shown Type: (): void | Emitted once the time panel is open and its open transition has finished. |
time-pick Type: (payload: { unit: TimeUnit; value: string; }): void | Relay of the raw column pick, before this component combines it into the value. A host binds this to run its own engine; clean consumers ignore it. |
update:activeSegment Type: (value: BbTimePickerSegment): void | The active range end changed (range only). |
update:modelValue Type: (value: string | string[] | null): void | Emitted when the selected time changes (single/range/null). |
Slots
The listed properties are the ones exposed to the slot scope.
| Name | Description |
|---|---|
activator Type: BbTimePickerActivatorSlotProps | Custom activator element. Apply Bind |