/** * @usevyre/react — Calendar * * AI CONTEXT: * ┌─────────────────────────────────────────────────────────────┐ * │ Component: Calendar (inline grid; no input/popover) │ * │ Import: import { Calendar } from "@usevyre/react" │ * │ │ * │ Calendar props: │ * │ mode = "single"(default) | "range" | "multiple" │ * │ value = Date | [Date,Date] | Date[] │ * │ onChange = (v) => void │ * │ showTime = boolean (adds HH:MM time picker) │ * │ minDate / maxDate = Date │ * │ disabled = (date: Date) => boolean │ * │ defaultMonth = Date (initial month when value empty) │ * │ │ * │ For an input + popover, use DatePicker. │ * │ For start/end ranges with presets, use DateRangePicker. │ * └─────────────────────────────────────────────────────────────┘ * * @example * // Single date * * * // Date range * */ import React from "react"; export type CalendarMode = "single" | "range" | "multiple"; export interface CalendarSingleProps { mode?: "single"; value?: Date | null; onChange?: (date: Date | null) => void; } export interface CalendarRangeProps { mode: "range"; value?: [Date | null, Date | null]; onChange?: (range: [Date | null, Date | null]) => void; } export interface CalendarMultipleProps { mode: "multiple"; value?: Date[]; onChange?: (dates: Date[]) => void; } export type CalendarBaseProps = { showTime?: boolean; minDate?: Date; maxDate?: Date; disabled?: (date: Date) => boolean; className?: string; weekStartsOn?: 0 | 1; /** Month to display initially when value is empty (uncontrolled view). */ defaultMonth?: Date; }; export type CalendarProps = (CalendarSingleProps & CalendarBaseProps) | (CalendarRangeProps & CalendarBaseProps) | (CalendarMultipleProps & CalendarBaseProps); export type DatePickerProps = CalendarProps & { placeholder?: string; inputClassName?: string; }; /** @internal — shared with DatePicker. */ export declare function formatDate(d: Date | null | undefined, opts?: Intl.DateTimeFormatOptions): string; /** @internal — shared with DatePicker. */ export declare function formatTime(d: Date): string; export declare const Calendar: React.ForwardRefExoticComponent>;