Calendar

Month grid with single or range selection. Arrow keys move by day, PageUp/Down by month, Home/End jump to the month edges.

June 2026
June 2026

Usage

import { Calendar } from '@bwo-ui/react';

const [date, setDate] = useState<Date | null>(null);

<Calendar
  mode="single"
  value={date}
  onValueChange={(v) => setDate(v as Date | null)}
/>

Props

PropTypeDefaultDescription
mode'single' | 'range''single'Single date or range selection.
valueDate | null | DateRangeControlled selection.
onValueChange(value: Date | null | DateRange) => voidSelection change handler.
minDate / maxDateDate | string | numberDisable dates outside the range.
isDateDisabled(date: Date) => booleanPredicate to disable specific dates.
weekStartsOn0 | 100 = Sunday, 1 = Monday.