/**@jsxImportSource react */ import { VDOM } from "../../ui/Widget"; import { Field, FieldInstance, FieldConfig } from "./Field"; import type { RenderingContext } from "../../ui/RenderingContext"; import type { Prop, BooleanProp } from "../../ui/Prop"; export declare class MonthPickerInstance extends FieldInstance { isMonthDateSelectable?: (monthDate: Date) => boolean; } export interface MonthPickerConfig extends FieldConfig { range?: BooleanProp; from?: Prop; to?: Prop; value?: Prop; refDate?: Prop; minValue?: Prop; minExclusive?: BooleanProp; maxValue?: Prop; maxExclusive?: BooleanProp; startYear?: number; endYear?: number; bufferSize?: number; maxValueErrorText?: string; maxExclusiveErrorText?: string; minValueErrorText?: string; minExclusiveErrorText?: string; encoding?: (date: Date) => any; inclusiveTo?: boolean; onBeforeSelect?: (e: Event, instance: MonthPickerInstance, dateFrom?: Date, dateTo?: Date) => boolean; onSelect?: (instance: MonthPickerInstance, dateFrom?: Date, dateTo?: Date) => void; hideQuarters?: boolean; onCreateIsMonthDateSelectable?: (validationParams: Record, instance: MonthPickerInstance) => (monthDate: Date) => boolean; handleSelect?: (e: React.MouseEvent, instance: MonthPickerInstance, dateFrom?: Date, dateTo?: Date) => void; onBlur?: string | ((e: React.FocusEvent, instance: MonthPickerInstance) => void); onFocusOut?: string | ((e: React.FocusEvent, instance: MonthPickerInstance) => void); autoFocus?: boolean; } export declare class MonthPicker extends Field { baseClass: string; mode?: string; range?: BooleanProp; from?: Prop; to?: Prop; value?: Prop; refDate?: Prop; minValue?: Prop; minExclusive?: BooleanProp; maxValue?: Prop; maxExclusive?: BooleanProp; startYear: number; endYear: number; bufferSize: number; maxValueErrorText: string; maxExclusiveErrorText: string; minValueErrorText: string; minExclusiveErrorText: string; encoding?: (date: Date) => any; inclusiveTo?: boolean; onBeforeSelect?: (e: Event, instance: MonthPickerInstance, dateFrom?: Date, dateTo?: Date) => boolean; onSelect?: (instance: MonthPickerInstance, dateFrom?: Date, dateTo?: Date) => void; hideQuarters?: boolean; onCreateIsMonthDateSelectable?: (validationParams: Record, instance: MonthPickerInstance) => (monthDate: Date) => boolean; onBlur?: string | ((e: React.FocusEvent, instance: MonthPickerInstance) => void); onFocusOut?: string | ((e: React.FocusEvent, instance: MonthPickerInstance) => void); declareData(...args: Record[]): void; init(): void; prepareData(context: RenderingContext, instance: MonthPickerInstance): void; validate(context: RenderingContext, instance: MonthPickerInstance): void; renderInput(context: RenderingContext, instance: MonthPickerInstance, key: string): React.ReactNode; handleSelect(e: React.KeyboardEvent | React.MouseEvent | React.TouchEvent, instance: MonthPickerInstance, date1: Date, date2: Date): void; } interface MonthPickerComponentProps { instance: MonthPickerInstance; onBlur?: string | ((e: React.FocusEvent, instance: MonthPickerInstance) => void); onFocusOut?: string | ((e: React.FocusEvent, instance: MonthPickerInstance) => void); onKeyDown?: string | ((e: React.KeyboardEvent, instance: MonthPickerInstance) => boolean | void); autoFocus?: boolean; } interface MonthPickerComponentState { cursorYear: number; cursorMonth: number; cursorQuarter: number; column: string; start: number; end: number; state?: string; focused?: boolean; yearHeight?: number; } interface CursorInfo { column: string; cursorYear: number; cursorMonth: number; cursorQuarter: number; } export declare class MonthPickerComponent extends VDOM.Component { dom: { el?: HTMLDivElement | null; table?: HTMLTableElement | null; }; dragStartDates?: [Date, Date]; constructor(props: MonthPickerComponentProps); extractCursorInfo(el: HTMLElement): CursorInfo | false; moveCursor(e: React.KeyboardEvent | React.MouseEvent | React.TouchEvent, data: Pick, options?: { ensureVisible?: boolean; select?: boolean; }): void; handleKeyPress(e: React.KeyboardEvent): void; handleBlur(e: React.FocusEvent): void; handleFocus(e: React.FocusEvent): void; handleFocusOut(e: React.FocusEvent): void; getCursorDates(cursor?: CursorInfo): [Date, Date]; handleTouchMove(e: React.TouchEvent): void; handleTouchEnd(e: React.TouchEvent): void; handleMouseEnter(e: React.MouseEvent): void; handleMouseDown(e: React.MouseEvent | React.TouchEvent, cursor?: CursorInfo | false, drag?: boolean): void; handleMouseUp(e: React.KeyboardEvent | React.MouseEvent | React.TouchEvent): void; render(): React.ReactNode; onScroll(): void; handleMouseLeave(e: React.MouseEvent): void; componentDidMount(): void; UNSAFE_componentWillReceiveProps(props: MonthPickerComponentProps): void; componentWillUnmount(): void; } export {}; //# sourceMappingURL=MonthPicker.d.ts.map