UNPKG

@progress/kendo-vue-dateinputs

Version:
316 lines (315 loc) 10.6 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { DateInputChangeEvent } from '../dateinput/interfaces/DateInputEventArguments'; import { CalendarChangeEvent } from '../calendar/components/interfaces/CalendarEventArguments'; import { SelectionRange } from '../calendar/models/main'; import { DateRangePickerSettings } from './models/main'; import { PropType } from 'vue'; import { DateRangePickerFocusEvent, DateRangePickerBlurEvent } from './interfaces/DateRangePickerFocusBlurEvents'; /** * @hidden */ export interface ReverseClickEvent { event?: any; } /** * The arguments for the `onChange` event of the DateRangePicker. */ export interface DateRangePickerChangeEvent { event?: any; value: SelectionRange; show?: boolean; target: any; component?: any; } /** * The arguments for the `open` event of the DateRangePicker. */ export interface DateRangePickerOpenEvent { component: any; } /** * The arguments for the `close` event of the DateRangePicker. */ export interface DateRangePickerCloseEvent { component: any; } /** * Represents the props of the [Kendo UI for Vue DateRangePicker component]({% slug overview_daterangepicker %}). */ export interface DateRangePickerProps extends DateRangePickerSettings { /** * Overrides the validity state of the component. * If `valid` is set, the `required` property will be ignored. */ valid?: boolean; /** * Sets the default value of the DateRangePicker ([see example]({% slug default_value_daterangepicker %})). */ defaultValue?: SelectionRange; /** * @hidden */ modelValue?: Date; /** * Fires each time the user selects a part of a date range ([see example]({% slug controlled_daterangepicker %}#toc-controlling-the-value)). */ onChange?: (event: DateRangePickerChangeEvent) => void; /** * Specifies the selected date range of the DateRangePicker ([see example]({% slug controlled_daterangepicker %}#toc-controlling-the-value)). * * > The `value` has to be an object with `start` and `end` valid JavaScript [`Date`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date) instances or `null`. */ value?: SelectionRange; } /** * @hidden */ export interface DateRangePickerData { currentShow: boolean; currentValue: SelectionRange; valueDuringOnChange: SelectionRange | undefined; shouldFocusDateInput: boolean; shouldFocusCalendar: boolean; } /** * @hidden */ export interface DateRangePickerComputed { [key: string]: any; rootClassName: object; computedValue: SelectionRange; computedShow: boolean; } /** * @hidden */ declare const DateRangePicker: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ allowReverse: { type: PropType<boolean>; default: boolean; }; calendarSettings: PropType<import('./models/DateRangePickerCalendarSettings').DateRangePickerCalendarSettings>; defaultShow: { type: PropType<boolean>; default: boolean; }; defaultValue: { type: PropType<SelectionRange>; default: () => SelectionRange; }; modelValue: { type: PropType<Date>; default: any; }; disabled: { type: PropType<boolean>; default: boolean; }; popup: PropType<any>; calendar: PropType<any>; startDateInput: PropType<any>; endDateInput: PropType<any>; endDateInputSettings: PropType<import('./models/DateRangePickerDateInputSettings').DateRangePickerDateInputSettings>; focusedDate: PropType<Date>; format: { type: PropType<string | import('@progress/kendo-vue-intl').DateFormatOptions>; default: () => string | object; }; id: PropType<string>; ariaLabelledBy: PropType<string>; ariaDescribedBy: PropType<string>; max: { type: PropType<Date>; default: () => Date; }; min: { type: PropType<Date>; default: () => Date; }; rounded: { type: PropType<string>; validator: (value: string) => boolean; }; fillMode: { type: PropType<string>; validator: (value: string) => boolean; }; size: { type: PropType<"small" | "medium" | "large">; validator: (value: string) => boolean; }; popupSettings: { type: PropType<import('./models/DateRangePickerPopupSettings').DateRangePickerPopupSettings>; default: () => any; }; show: { type: PropType<boolean>; default: any; }; startDateInputSettings: PropType<import('./models/DateRangePickerDateInputSettings').DateRangePickerDateInputSettings>; swapButton: { type: PropType<boolean>; default: boolean; }; tabIndex: PropType<number>; value: { type: PropType<SelectionRange>; default: () => any; }; inputAttributes: PropType<Object>; }>, { kendoAnchorRef: import('vue').Ref<any, any>; kendoLocalizationService: {}; }, { currentShow: boolean; currentValue: any; valueDuringOnChange: any; shouldFocusDateInput: boolean; shouldFocusCalendar: boolean; }, { rootClassName(): DateRangePickerComputed['rootClassName']; computedValue(): DateRangePickerComputed['computedValue']; computedShow(): DateRangePickerComputed['computedShow']; swapButtonClass(): { [x: string]: any; 'k-button': boolean; 'k-button-flat': boolean; 'k-button-flat-base': boolean; 'k-icon-button': boolean; }; }, { focus(): void; focusCalendarElement(): void; focusDateInputElement(): void; calculateValue(props: DateRangePickerProps, state: DateRangePickerData): SelectionRange; calculateShow(nextProps: DateRangePickerProps, nextState: DateRangePickerData): boolean; setShow(show: boolean): void; handleReverseClick(event: any): void; handleReverseMouseDown(event: any): void; handleFocus(event: FocusEvent): void; calendarBlur(): void; calendarFocus(): void; createBlurTimeout(): void; getStartInput(): any; getEndInput(): any; getCalendar(): any; handleBlur(event: FocusEvent): void; handleEndChange(event: DateInputChangeEvent): void; handleStartChange(event: DateInputChangeEvent): void; extractRangeFromValue(event: CalendarChangeEvent): SelectionRange; handleCalendarChange(event: CalendarChangeEvent): void; handleKeyDown(event: any): void; handleChange(value: SelectionRange, event: CalendarChangeEvent | DateInputChangeEvent | ReverseClickEvent): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { blur: (event: DateRangePickerBlurEvent) => true; change: (event: DateRangePickerChangeEvent) => true; changemodel: (value: any) => true; 'update:modelValue': (value: any) => true; focus: (event: DateRangePickerFocusEvent) => true; keydown: (event: KeyboardEvent) => true; open: (event: DateRangePickerOpenEvent) => true; close: (event: DateRangePickerCloseEvent) => true; }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ allowReverse: { type: PropType<boolean>; default: boolean; }; calendarSettings: PropType<import('./models/DateRangePickerCalendarSettings').DateRangePickerCalendarSettings>; defaultShow: { type: PropType<boolean>; default: boolean; }; defaultValue: { type: PropType<SelectionRange>; default: () => SelectionRange; }; modelValue: { type: PropType<Date>; default: any; }; disabled: { type: PropType<boolean>; default: boolean; }; popup: PropType<any>; calendar: PropType<any>; startDateInput: PropType<any>; endDateInput: PropType<any>; endDateInputSettings: PropType<import('./models/DateRangePickerDateInputSettings').DateRangePickerDateInputSettings>; focusedDate: PropType<Date>; format: { type: PropType<string | import('@progress/kendo-vue-intl').DateFormatOptions>; default: () => string | object; }; id: PropType<string>; ariaLabelledBy: PropType<string>; ariaDescribedBy: PropType<string>; max: { type: PropType<Date>; default: () => Date; }; min: { type: PropType<Date>; default: () => Date; }; rounded: { type: PropType<string>; validator: (value: string) => boolean; }; fillMode: { type: PropType<string>; validator: (value: string) => boolean; }; size: { type: PropType<"small" | "medium" | "large">; validator: (value: string) => boolean; }; popupSettings: { type: PropType<import('./models/DateRangePickerPopupSettings').DateRangePickerPopupSettings>; default: () => any; }; show: { type: PropType<boolean>; default: any; }; startDateInputSettings: PropType<import('./models/DateRangePickerDateInputSettings').DateRangePickerDateInputSettings>; swapButton: { type: PropType<boolean>; default: boolean; }; tabIndex: PropType<number>; value: { type: PropType<SelectionRange>; default: () => any; }; inputAttributes: PropType<Object>; }>> & Readonly<{ onBlur?: (event: DateRangePickerBlurEvent) => any; onChange?: (event: DateRangePickerChangeEvent) => any; onClose?: (event: DateRangePickerCloseEvent) => any; onFocus?: (event: DateRangePickerFocusEvent) => any; onKeydown?: (event: KeyboardEvent) => any; onOpen?: (event: DateRangePickerOpenEvent) => any; onChangemodel?: (value: any) => any; "onUpdate:modelValue"?: (value: any) => any; }>, { value: SelectionRange; disabled: boolean; format: string | object; max: Date; min: Date; defaultValue: SelectionRange; show: boolean; popupSettings: import('./models/DateRangePickerPopupSettings').DateRangePickerPopupSettings; allowReverse: boolean; modelValue: Date; defaultShow: boolean; swapButton: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { DateRangePicker };