Skip to content

Calendar

A month grid calendar for selecting dates. Supports keyboard navigation, min/max date constraints, and highlights today and the selected date.

Basic usage

Selected: none

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

<template>
  <Calendar v-model="date" />
</template>

Pre-selected date

Tailwind v4
vue
<Calendar model-value="2026-06-10" />

Min / max date constraints

Tailwind v4
vue
<Calendar v-model="date" min-date="2026-06-01" max-date="2026-06-30" />

Disabled

Tailwind v4
vue
<Calendar model-value="2026-06-10" disabled />

Props

PropTypeDefaultDescription
modelValuestringSelected date in YYYY-MM-DD format
minDatestringEarliest selectable date (YYYY-MM-DD)
maxDatestringLatest selectable date (YYYY-MM-DD)
disabledbooleanfalseDisables all interaction

Emits

EventPayloadDescription
update:modelValuestringISO date string (YYYY-MM-DD) of the selected day

Keyboard navigation

When the calendar has focus, use arrow keys to move between days, and Enter or Space to select the focused day.

Private — Jetpack Labs internal use only