Ballmac UI home

Calendar

A date grid for one day, several days or a range, with month and year selects, week numbers, disabled rules and range-end styling, on React DayPicker.

September 2026
Sep 8 – Sep 15 · 7 nights

Installation

$ pnpm dlx shadcn@latest add @ballmac/calendar

Usage

import { Calendar } from "@/components/ballmac/calendar"

The full example is in the Code tab above.

Examples

Dropdowns and multiple

September 2026
36
37
38
39
40
September 2026
3 of 4 days selected

API reference

PropTypeDefault
bordered

Draw a border, padding and background around the calendar. Turn off inside a popover or card.

booleanfalse

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
Arrow keysMove between days
PageUp / PageDownPrevious or next month; with Shift, previous or next year
Home / EndFirst or last day of the week
Enter / SpaceSelects the focused day

Use with AI

Use mode single, multiple or range with selected and onSelect. All DayPicker props work: disabled, numberOfMonths, captionLayout dropdown, locale. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Calendar (@ballmac/calendar) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Choosing a date or range inside a card or popover
  • Booking and scheduling
  • Showing availability with disabled days

Not for

  • A date field in a form; use date-picker
  • Typing a range with inputs; use date-range-picker

Registry JSON: https://ui.ballmac.com/r/calendar.json

Credits

Based on shadcn/ui Calendar, adapted by Ballmac. Free to use in personal and commercial projects.