VCalendar
A date field component that allows users to enter and edit date.
S
M
T
W
T
F
S
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
About 
The Calendar component is built on top of VCalendar.
Installation 
bash
npx shadcn-vue@latest add v-calendarUsage 
vue
<script setup lang="ts">
import { Calendar } from '@/components/ui/v-calendar'
</script>
<template>
  <Calendar />
</template>The API is essentially the same, i.e. props and slots. See the VCalendar documentation for more information.
Slots 
The slots available are those currently supported by VCalendar, namely :
- day-content
- day-popover
- dp-footer
- footer
- header-title-wrapper
- header-title
- header-prev-button
- header-next-button
- nav
- nav-prev-button
- nav-next-button
- page
- time-header
Example using the day-content slot:
vue
<script setup lang="ts">
import { Calendar } from '@/components/ui/v-calendar'
</script>
<template>
  <Calendar>
    <template #day-content="{ day, dayProps, dayEvents }">
      <div v-bind="dayProps" v-on="dayEvents">
        {{ day.label }}
      </div>
    </template>
  </Calendar>
</template>