@rnwonder/react-date-picker
Version:
A lightweight, customizable, and accessible date picker component for React applications.
69 lines (67 loc) • 3.05 kB
TypeScript
import { RnClassName, CustomDaysClassName, DateArray, DateObjectUnits, RnColor, PickerAloneValue, DatePickerOnChange, DatePickerType, IMonthSelectorType, IMonthYearSelectorFlexDirection, PickerRenderJSX, YearRange, Locale, LocaleOptions, MakeOptionalRequired, WeekDaysType, SelectorType } from '../../interface/general';
import { SelectorProps } from '../Selector';
import { default as React, SetStateAction } from 'react';
export interface DatePickerProps extends RnColor, Omit<RnClassName, "inputClass" | "inputWrapperClass"> {
type: DatePickerType;
close?: () => void;
handleOnChange: (data: DatePickerOnChange) => void;
onDisabledDayError?: (data: DateObjectUnits) => void;
minDate?: MakeOptionalRequired<DateObjectUnits>;
maxDate?: MakeOptionalRequired<DateObjectUnits>;
onChange?: (data: DatePickerOnChange) => void;
onYearChange?: (year: number) => void;
onMonthChange?: (month: number) => void;
onValueChange?: (value: DatePickerOnChange) => void;
value?: PickerAloneValue;
setAllowedComponents?: React.Dispatch<SetStateAction<HTMLElement[]>>;
month?: number;
setMonth?: React.Dispatch<SetStateAction<number>>;
year?: number;
setYear?: React.Dispatch<SetStateAction<number>>;
monthSelectorJSX?: PickerRenderJSX;
yearSelectorJSX?: PickerRenderJSX;
calendarAboveTopAreaJSX?: PickerRenderJSX;
calendarTopAreaJSX?: PickerRenderJSX;
calendarBottomAreaJSX?: PickerRenderJSX;
calendarLeftAreaJSX?: PickerRenderJSX;
calendarRightAreaJSX?: PickerRenderJSX;
calendarJSX?: PickerRenderJSX;
afterNextButtonAreaJSX?: PickerRenderJSX;
beforePrevButtonAreaJSX?: PickerRenderJSX;
weekDaysJSX?: PickerRenderJSX;
monthSelectorFormat?: IMonthSelectorType;
monthSelectorTopLabel?: string;
yearSelectorCount: number;
monthYearSelectorFlexDirection?: IMonthYearSelectorFlexDirection;
yearRange?: YearRange;
locale?: Locale;
localeOptions?: LocaleOptions;
nextIcon?: React.ReactNode;
prevIcon?: React.ReactNode;
hideTopArea?: boolean;
removeNavButtons?: boolean;
shouldCloseOnSelect?: boolean;
shouldHighlightWeekends?: boolean;
disallowSameDayRange?: boolean;
hideCalendar?: boolean;
hideOutSideDays?: boolean;
twoMonthsDisplay?: boolean;
showEndOfRange?: boolean;
disableRangeHoverEffect?: boolean;
zIndex?: number;
startingMonth?: number;
startingYear?: number;
weekStartDay?: number;
disabledDays?: DateArray[];
enabledDays?: DateArray[];
customDaysClassName?: CustomDaysClassName[];
weekDaysType?: WeekDaysType;
yearSelectorType?: SelectorType;
monthSelectorType?: SelectorType;
showSelectorTwo?: boolean;
setShowSelectorTwo?: React.Dispatch<SetStateAction<boolean>>;
setSelectorTwoProps?: React.Dispatch<SetStateAction<SelectorProps>>;
selectorTwoProps?: SelectorProps;
noButtonAnimation?: boolean;
}
export declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<unknown>>;