Guides
Getting Started
Install Colander and start building accessible calendar components.
Installation
npm install @klinking/colander @js-temporal/polyfillBasic Usage
Colander provides two calendar views that share state via CalendarProvider:
- MonthView — Traditional month grid
- WeeksView — Continuous scrolling weeks
Quick Example
import type { Temporal } from "@js-temporal/polyfill";
import {
CalendarProvider,
MonthView,
Grid,
GridHeader,
GridHeaderCell,
GridBody,
WeekTemplate,
DayCellTemplate,
DayButton,
} from "@klinking/colander";
export function BasicCalendar({
onSelect,
}: {
onSelect?: (value: Temporal.PlainDate | null) => void;
}) {
return (
<CalendarProvider format="PlainDate" onValueChange={onSelect}>
<MonthView>
<Grid>
<GridHeader>
<GridHeaderCell />
</GridHeader>
<GridBody>
<WeekTemplate>
<DayCellTemplate>
<DayButton />
</DayCellTemplate>
</WeekTemplate>
</GridBody>
</Grid>
</MonthView>
</CalendarProvider>
);
}