@papernote/ui
Version:
A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive
44 lines • 1.65 kB
TypeScript
export interface CalendarEvent {
date: Date;
title: string;
color?: 'primary' | 'success' | 'warning' | 'error' | 'accent';
metadata?: Record<string, unknown>;
}
export interface CalendarProps {
/** Selected date */
value?: Date;
/** Callback when date is selected */
onChange?: (date: Date) => void;
/** Callback when displayed month changes (via navigation buttons or goToToday) */
onMonthChange?: (date: Date) => void;
/** Events to display on calendar */
events?: CalendarEvent[];
/** Callback when event marker is clicked */
onEventClick?: (event: CalendarEvent) => void;
/** Enable date range selection */
rangeMode?: boolean;
/** Selected date range (start and end) */
rangeValue?: {
start: Date | null;
end: Date | null;
};
/** Callback when range is selected */
onRangeChange?: (range: {
start: Date | null;
end: Date | null;
}) => void;
/** Minimum selectable date */
minDate?: Date;
/** Maximum selectable date */
maxDate?: Date;
/** Dates that cannot be selected */
disabledDates?: Date[];
/** Show week numbers */
showWeekNumbers?: boolean;
/** First day of week (0 = Sunday, 1 = Monday) */
firstDayOfWeek?: 0 | 1;
/** Custom class name */
className?: string;
}
export default function Calendar({ value, onChange, onMonthChange, events, onEventClick, rangeMode, rangeValue, onRangeChange, minDate, maxDate, disabledDates, showWeekNumbers, firstDayOfWeek, className, }: CalendarProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Calendar.d.ts.map