/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { DateRangePickerCalendarSettings } from './DateRangePickerCalendarSettings'; import { DateRangePickerDateInputSettings } from './DateRangePickerDateInputSettings'; import { DateRangePickerPopupSettings } from './DateRangePickerPopupSettings'; import { DateInputProps } from '../../dateinput/DateInput.js'; import { MultiViewCalendarProps } from '../../calendar/components/MultiViewCalendar.js'; import { PopupProps } from '@progress/kendo-react-popup'; import { DateFormatOptions } from '@progress/kendo-react-intl'; /** * @hidden */ export interface DateRangePickerSettings { /** * Enables the customization or the override of the default start DateInput which is rendered by the DateRangePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/custom-rendering#toc-customizing-the-dateinputs)). */ startDateInput?: React.ComponentType>; /** * Enables the customization or the override of the default end DateInput which is rendered by the DateRangePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/custom-rendering#toc-customizing-the-calendar)). */ endDateInput?: React.ComponentType>; /** * Enables the customization or the override of the default Popup which is rendered by the DateRangePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/custom-rendering#toc-customizing-the-popup)). */ popup?: React.ComponentType; /** * Enables the customization or the override of the default Calendar which is rendered by the DateRangePicker. */ calendar?: React.ComponentType>; /** * If `allowReverse` is set to `true`, the component skips the validation of whether the `from` value is after the `to` value ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/reverse)). * * > If the [`calendarSettings`](#toc-calendarsettings) property is set, its `allowReverse` will take precedence. */ allowReverse?: boolean; /** * Represents the additional props that can be passed to the [MultiViewCalendar](https://www.telerik.com/kendo-react-ui/components/dateinputs/multiviewcalendar) inside the DateRangePicker ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/child-settings#toc-configuring-the-multiviewcalendar)). */ calendarSettings?: DateRangePickerCalendarSettings; /** * Sets the `className` of the DateRangePicker. */ className?: string; /** * Sets the default state of the DateRangePicker upon render ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/default-value)). */ defaultShow?: boolean; /** * Determines whether the DateRangePicker is disabled ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/disabled-state)). */ disabled?: boolean; /** * Represents the additional props that can be passed to the end-date [DateInput](https://www.telerik.com/kendo-react-ui/components/dateinputs/dateinput) inside the DateRangePicker ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/child-settings#toc-configuring-dateinputs)). */ endDateInputSettings?: DateRangePickerDateInputSettings; /** * Specifies the focused date of the DateRangePicker ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/focused-date)). */ focusedDate?: Date; /** * Specifies the `date` format which is used for formatting the value of the DateInput ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/dateinput/formats)). * * > If [`startDateInputSettings`](#toc-startdateinputsettings) or [`endDateInputSettings`](#toc-enddateinputsettings) are set, their `format` will take precedence. */ format?: string | DateFormatOptions; /** * Specifies the `id` of the DateRangePicker. */ id?: string; /** * Identifies the element(s) which will describe the component, similar to [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute). * For example these elements could contain error or hint message. * * @remarks * This property is related to accessibility. */ ariaDescribedBy?: string; /** * Identifies the element(s) which will label the component. * * @remarks * This property is related to accessibility. */ ariaLabelledBy?: string; /** * Specifies the greatest valid date ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/date-ranges)). */ max?: Date; /** * Specifies the smallest valid date ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/date-ranges)). */ min?: Date; /** * Fires each time any of the DateRangePicker elements gets blurred. */ onBlur?: (event: React.FocusEvent) => void; /** * Fires each time the user focuses any of the DateRangePicker elements. */ onFocus?: (event: React.FocusEvent) => void; /** * Represents the additional props that will be passed to the [Popup](https://www.telerik.com/kendo-react-ui/components/popup) inside the DateRangePicker ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/child-settings#toc-configuring-the-popup)). */ popupSettings?: DateRangePickerPopupSettings; /** * Specifies if the calendar will be displayed ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/controlled-state#toc-controlling-the-popup-state)). */ show?: boolean; /** * Represents the additional props that will be passed to the start-date [DateInput](https://www.telerik.com/kendo-react-ui/components/dateinputs/dateinput) inside the DateRangePicker ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/child-settings#toc-configuring-dateinputs)). */ startDateInputSettings?: DateRangePickerDateInputSettings; /** * Specifies the additional styles that will be applied to the wrapping DateRangePicker element. */ style?: React.CSSProperties; /** * Determines whether the DateRangePicker will display a **Swap Value** button ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/reverse#toc-swapping-start-and-end-dates-in-ranges)). * * > The DateRangePicker will display the swap button only if the [`allowReverse`](#toc-allowreverse) property is also set to `true`. */ swapButton?: boolean; /** * Sets the `tabIndex` property of the DatePicker. * * @remarks * This property is related to accessibility. */ tabIndex?: number; }