infinity-ui-elements
Version:
A React TypeScript component library with Tailwind CSS design system
76 lines • 2.09 kB
TypeScript
import * as React from "react";
import "react-calendar/dist/Calendar.css";
export type DateRange = {
startDate: Date | null;
endDate: Date | null;
};
export type PresetOption = {
label: string;
value: string;
getDateRange: () => DateRange;
};
declare const dateRangePickerVariants: (props?: ({
size?: "medium" | "large" | "small" | null | undefined;
isDisabled?: boolean | null | undefined;
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
export interface DateRangePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
/**
* Selected date range (controlled)
*/
value?: DateRange;
/**
* Default date range (uncontrolled)
*/
defaultValue?: DateRange;
/**
* Callback when date range changes
*/
onChange?: (dateRange: DateRange) => void;
/**
* Placeholder text when no date range is selected
*/
placeholder?: string;
/**
* Whether the date range picker is disabled
*/
isDisabled?: boolean;
/**
* Size of the date range picker
*/
size?: "small" | "medium" | "large";
/**
* Custom class for the trigger button
*/
triggerClassName?: string;
/**
* Custom class for the calendar popup
*/
calendarClassName?: string;
/**
* Minimum selectable date
*/
minDate?: Date | string;
/**
* Maximum selectable date
*/
maxDate?: Date | string;
/**
* Date format function
*/
formatDate?: (date: Date) => string;
/**
* Preset options to show in the sidebar
*/
presets?: PresetOption[];
/**
* Whether to show preset options
*/
showPresets?: boolean;
/**
* Label for the trigger button when a preset is selected
*/
selectedPresetLabel?: string;
}
export declare const DateRangePicker: React.ForwardRefExoticComponent<DateRangePickerProps & React.RefAttributes<HTMLDivElement>>;
export { dateRangePickerVariants };
//# sourceMappingURL=DateRangePicker.d.ts.map