import React, { FC } from 'react'; import { Calendar, CalendarProps } from '@progress/kendo-react-dateinputs'; import { PopoverProps } from '../Popover'; import { InputDateMaskProps } from './InputDateMask'; import { InputPropsStrict } from '../Input'; import { DateObj } from './utils/utils'; import { PopperProps } from '../../internal'; export interface DatePickerPropsStrict extends Pick { /** Use custom component as a Calendar */ calendar?: React.ComponentType; /** Disabled state */ disabled?: InputDateMaskProps['disabled']; /** Error state */ error?: InputDateMaskProps['error']; /** Character to use with partially complete dates. Default is '_' */ maskChar?: InputDateMaskProps['maskChar']; /** Object of InputDateMask props */ maskProps?: Omit; /** Maximum date allowed */ maxDate?: InputDateMaskProps['maxDate']; /** Minimum date allowed */ minDate?: InputDateMaskProps['minDate']; /** Input size */ size?: InputDateMaskProps['size']; /** Placeholder value */ placeholder?: InputDateMaskProps['placeholder']; /** Currently selected date */ value?: Calendar['value'] | string; /** Opens calendar */ open?: boolean; /** Returns ISO string instead of JS Date object */ isoFormat?: boolean; input?: { /** Called on every change of input text */ onChange?: InputPropsStrict['onChange']; /** Called on blur of the input */ onBlur?: (event: React.FocusEvent) => void; }; /** Props to be passed to the portaled div */ portalDataAttributes?: PopperProps['portalDataAttributes']; /** Called on DatePicker's blur event */ onBlur?: (value: Date | string | undefined, data?: DateObj) => void; /** Called on every meaningful date change */ onChange?: (value: Date | string | undefined, data?: DateObj) => void; /** Called on every open and close action */ onOpenChange?: (open: boolean) => void; /** This will override default trigger component */ trigger?: (props: CustomTriggerProps) => React.ReactNode; } interface CustomTriggerProps { /** Returns internal trigger value */ value: DatePickerProps['value'] | any; /** Returns internal trigger prop */ onClick?: (e: any) => void; /** Returns internal open state */ open: DatePickerProps['open']; /** Returns interal error state */ error: DatePickerProps['error']; } export interface DatePickerProps extends DatePickerPropsStrict { /** Unstrict Props */ [propName: string]: any; } export declare const DatePicker: FC; export {};