/** * @usevyre/react — DateRangePicker * * AI CONTEXT: * ┌─────────────────────────────────────────────────────────────────┐ * │ Component: DateRangePicker │ * │ Import: import { DateRangePicker } from "@usevyre/react" │ * │ │ * │ Built on top of Calendar (mode="range"). Friendlier API: │ * │ uses a { from, to } object instead of a [Date,Date] tuple, │ * │ shows TWO months side-by-side, and a preset shortcut column. │ * │ │ * │ Props: │ * │ value = { from: Date | null; to: Date | null } | null │ * │ onChange = (range: DateRange) => void │ * │ placeholder = string (default "Pick a date range") │ * │ numberOfMonths = 1 | 2 (default 2) │ * │ presets = boolean | DateRangePreset[] │ * │ true → built-in presets (Today, Last 7 days, …) │ * │ minDate / maxDate = Date │ * │ disabled = (date: Date) => boolean │ * │ weekStartsOn = 0 (Sun) | 1 (Mon, default) │ * │ │ * │ DateRange = { from: Date | null; to: Date | null } │ * │ DateRangePreset = { label: string; range: () => DateRange } │ * │ │ * │ Use this for "select a start AND end date" (reports, filters). │ * │ For a single date use DatePicker. Do NOT pass a tuple — pass │ * │ an object: value={{ from, to }}. │ * └─────────────────────────────────────────────────────────────────┘ * * @example * const [range, setRange] = useState({ from: null, to: null }); * */ import React from "react"; export interface DateRange { from: Date | null; to: Date | null; } export interface DateRangePreset { label: string; range: () => DateRange; } export interface DateRangePickerProps { value?: DateRange | null; onChange?: (range: DateRange) => void; placeholder?: string; numberOfMonths?: 1 | 2; presets?: boolean | DateRangePreset[]; minDate?: Date; maxDate?: Date; disabled?: (date: Date) => boolean; weekStartsOn?: 0 | 1; className?: string; inputClassName?: string; } export declare const DateRangePicker: React.ForwardRefExoticComponent>;