react-anpicker
Version:
a react date picker for supporting persian dates
40 lines (39 loc) • 1.28 kB
TypeScript
import { CSSProperties, MutableRefObject, RefObject } from "react";
import Locale from "../Models/Locale";
import { Modes } from "../Models/MainProps";
type TControlProps = {
format?: string;
onChange: (date: string, gregorianDate?: [number, number, number]) => void;
value: string | null;
inputRef: RefObject<HTMLInputElement>;
locale: Locale;
anPickerRef: MutableRefObject<HTMLDivElement | null>;
};
type TControlState = {
mode: Modes;
year: number;
month: number;
day: number;
open: boolean;
popupStyle?: CSSProperties;
yearPageNumber: number;
};
declare const useControl: (props: TControlProps) => {
state: TControlState;
tempValue: string | null;
toggle: (open: boolean) => void;
setPopupStyles: (styles: CSSProperties) => void;
handleFocus: (e: any) => void;
handleBlure: () => void;
handleChange: (e: any) => void;
setMode: (newMode: Modes) => void;
nextYear: () => void;
prevYear: () => void;
nextMonth: () => void;
prevMonth: () => void;
onSelectYear: (newYear: number) => void;
onSelectMonth: (newMonth: number) => void;
onSelectDay: (newDay: number) => void;
setToday: () => void;
};
export default useControl;