Components
HeroUI v3 Calendar — date calendar with year picker, controlled state, week/day views, min/max, unavailable dates, multiple selection, read-only, focused value, cell indicators, multiple months, booking example and custom styles.

"use client"
import type { DateValue } from "@internationalized/date"
import { Description } from "@heroui/react"
import { useState } from "react"
import { I18nProvider } from "react-aria-components"
import Calendar from "@/components/ui/heroui-calendar"
export default function MultipleSelection() {
const [value, setValue] = useState<readonly DateValue[]>([])
return (
<I18nProvider locale="en-US">
<div className="flex flex-col items-center gap-4">
<Calendar aria-label="Event dates" selectionMode="multiple" value={value} onChange={setValue}>
<Calendar.Header>
<Calendar.Heading />
<Calendar.NavButton slot="previous" />
<Calendar.NavButton slot="next" />
</Calendar.Header>
<Calendar.Grid>
<Calendar.GridHeader>
{(day) => <Calendar.HeaderCell>{day}</Calendar.HeaderCell>}
</Calendar.GridHeader>
<Calendar.GridBody>{(date) => <Calendar.Cell date={date} />}</Calendar.GridBody>
</Calendar.Grid>
</Calendar>
<Description className="text-center">
{value?.length ? `${value.length} date(s) selected` : "Select multiple dates"}
</Description>
</div>
</I18nProvider>
)
}















