@rnwonder/solid-date-picker
Version:
A responsive, highly-customizable datepicker component for SolidJS.
70 lines (69 loc) • 3.02 kB
TypeScript
import { Accessor, JSXElement, Setter } from "solid-js";
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";
export interface DatePickerProps extends RnColor, Omit<RnClassName, "inputClass" | "inputWrapperClass"> {
type: DatePickerType;
close?: () => void;
handleOnChange: (data: DatePickerOnChange) => void;
minDate?: MakeOptionalRequired<DateObjectUnits>;
maxDate?: MakeOptionalRequired<DateObjectUnits>;
onChange?: (data: DatePickerOnChange) => void;
onYearChange?: (year: number) => void;
onMonthChange?: (month: number) => void;
onValueChange?: (value: DatePickerOnChange) => void;
onDisabledDayError?: (data: DateObjectUnits) => void;
ref?: Accessor<HTMLDivElement | null>;
setRef?: Setter<HTMLDivElement | null>;
value?: PickerAloneValue;
setAllowedComponents?: Setter<HTMLElement[]>;
month?: Accessor<number>;
setMonth?: Setter<number>;
year?: Accessor<number>;
setYear?: Setter<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?: JSXElement;
prevIcon?: JSXElement;
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?: Accessor<boolean>;
setShowSelectorTwo?: Setter<boolean>;
setSelectorTwoProps?: Setter<SelectorProps>;
selectorTwoProps?: Accessor<SelectorProps>;
noButtonAnimation?: boolean;
}
export declare const DatePicker: (props: DatePickerProps) => import("solid-js").JSX.Element;