Skip to content

TimePicker

An input that shows a scrollable dropdown of times in configurable intervals. Supports typing a custom time value. Values are in 24-hour HH:MM format.

Basic usage

Value: none

Tailwind v4
vue
<script setup>
import { ref } from 'vue'
const time = ref('')
</script>

<template>
  <TimePicker v-model="time" label="Start time" />
</template>

Pre-selected value

Tailwind v4
vue
<TimePicker v-model="time" label="Meeting time" />
<!-- time = '09:30' displays as "9:30 AM" -->

Custom interval (15 minutes)

Tailwind v4
vue
<TimePicker v-model="time" label="Time (15 min intervals)" :interval="15" />

Disabled

Tailwind v4
vue
<TimePicker model-value="14:00" label="Shift start" disabled />

Props

PropTypeDefaultDescription
modelValuestringSelected time in 24-hour HH:MM format
labelstringLabel rendered above the input
placeholderstring'Select a time'Placeholder text when no time is selected
disabledbooleanfalseDisables interaction
intervalnumber30Minutes between each generated time option

Emits

EventPayloadDescription
update:modelValuestring24-hour HH:MM string of the selected time

Private — Jetpack Labs internal use only