/** * Date picker component * * @author Fedorov Platon * @date 2021-06-25 */ import * as React from 'react'; import { CalendarProps } from '../calendar/Calendar.types'; import moment from 'moment'; import { IDateTemplate, TemplateDate } from './AdditionalTemplates'; export { IDateTemplate }; export declare type DatePickerProps = Omit & { autoFocus?: boolean; allowClear?: boolean; errorMessage?: React.ReactNode; viewFormat: string; valueFormat: string; isReadOnly?: boolean; isDisabled?: boolean; placeholderInvalidDate?: string; placeholder?: string; mode?: 'month' | 'year'; showSuffix?: boolean; onBlur?: () => void; isOpen?: boolean; isUtc?: boolean; isDefaultOpen?: boolean; onVisibleChange?: (visible: boolean) => void; value?: string; defaultValue?: string; onChange?: (date: string) => void; pickerType: 'date' | 'dateTime'; additionalDateTemplates?: IDateTemplate[]; errorTimeMessage: string; errorDateMessage: string; }; interface IState { isOpen: boolean; text: string; date: moment.Moment | undefined; time: string; dateIsValid: boolean; } export declare class DatePicker extends React.Component { static defaultProps: { mode: string; pickerType: string; showSuffix: boolean; }; constructor(props: DatePickerProps); input: React.RefObject; inputContainer: React.RefObject; inputTime: React.RefObject; calendar: React.RefObject; isPanelChanged: boolean; private getMoment; private get isUTC(); get viewFormat(): string; get valueFormat(): string; get viewMask(): string; get viewEmptyMask(): string; get initialState(): { text: string; date: moment.Moment | undefined; time: string; dateIsValid: boolean; }; componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void; isValidRange: (date: moment.Moment) => boolean; closeDropDown: () => void; openDropDown: () => void; onKeyDown: (e: React.KeyboardEvent) => void; onInputFocus: () => void; onInputBlur: () => void; onInputChange: (e: React.ChangeEvent) => void; onDropDownClose: (e: React.SyntheticEvent | Event) => void; onChange: (date?: moment.Moment | undefined, closePopup?: boolean) => void; onCalendarSelect: (date: moment.Moment) => void; onCalendarPanelChange: (date: moment.Moment, mode: 'year' | 'month') => void; onCalendarClose: () => void; onAdditionalTemplateClick: (dateArg: TemplateDate) => void; onTimeInputBlur: () => void; onTimeInputKeyDown: (e: React.KeyboardEvent) => void; onTimeInputChange: (e: React.ChangeEvent) => void; render(): JSX.Element; }