/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { DateInputFormatPlaceholder } from '../../dateinput/models/format-placeholder';
import { DateInputsPopupSettings } from '../../PopupSettings';
import { CalendarProps } from '../../calendar/components/Calendar.js';
import { PopupProps } from '@progress/kendo-react-popup';
import { DateInputProps, MultiViewCalendarProps } from '../../index.js';
import { DateFormatOptions } from '@progress/kendo-react-intl';
import { ToggleButtonProps } from '../ToggleButton.js';
import * as React from 'react';
/**
* @hidden
*/
export interface DatePickerSettings {
/**
* Allows you to customize or replace the default Toggle button rendered by DatePicker.
* ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/custom-rendering#toc-customizing-the-toggle-button)).
* Example usage of the `toggleButton` property:
* ```jsx
*
* ```
*/
toggleButton?: React.ComponentType;
/**
* Allows you to customize or replace the default Calendar rendered by DatePicker.
* ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/custom-rendering#toc-customizing-the-calendar)).
* Example usage of the `calendar` property:
* ```jsx
*
* ```
*/
calendar?: React.ComponentType> | React.ComponentType>;
/**
* Allows you to customize or replace the default Popup rendered by DatePicker.
* ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/custom-rendering#toc-customizing-the-popup)).
* Example usage of the `popup` property:
* ```jsx
*
* ```
*/
popup?: React.ComponentType;
/**
* Allows you to customize or replace the default DateInput rendered by DatePicker.
* ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/custom-rendering#toc-customizing-the-dateinput)).
* Example usage of the `dateInput` property:
* ```jsx
*
* ```
*/
dateInput?: React.ComponentType>;
/**
* Sets the `className` of the DatePicker.
* Example usage of the `className` property:
* ```jsx
*
* ```
*/
className?: string;
/**
* Sets the default state of the DatePicker upon render ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/default-value)).
* Example usage of the `defaultShow` property:
* ```jsx
*
* ```
*/
defaultShow?: boolean;
/**
* Determines whether the DatePicker is disabled ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/disabled-state)).
* Example usage of the `disabled` property:
* ```jsx
*
* ```
*/
disabled?: boolean;
/**
* Specifies the focused date of the DatePicker ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/date)).
* Example usage of the `focusedDate` property:
* ```jsx
*
* ```
*/
focusedDate?: Date;
/**
* Specifies the date format that is used to display the input value ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/formats)).
* Example usage of the `format` property:
* ```jsx
*
* ```
*/
format?: string | DateFormatOptions;
/**
* Defines the descriptions of the format sections in the input field ([more information and examples](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/placeholders)).
* Example usage of the `formatPlaceholder` property:
* ```jsx
*
* ```
*/
formatPlaceholder?: DateInputFormatPlaceholder;
/**
* Specifies the `id` of the DatePicker.
* Example usage of the `id` property:
* ```jsx
*
* ```
*/
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.
* Example usage of the `ariaDescribedBy` property:
* ```jsx
*
* ```
*
* @remarks
* This property is related to accessibility.
*/
ariaDescribedBy?: string;
/**
* Identifies the element(s) which will label the component.
* Example usage of the `ariaLabelledBy` property:
* ```jsx
*
* ```
*
* @remarks
* This property is related to accessibility.
*/
ariaLabelledBy?: string;
/**
* The accessible label of the component.
* Example usage of the `ariaLabel` property:
* ```jsx
*
* ```
*
* @remarks
* This property is related to accessibility.
*/
ariaLabel?: string;
/**
* Specifies the greatest valid date ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/date-ranges)).
* Example usage of the `max` property:
* ```jsx
*
* ```
*/
max?: Date;
/**
* Specifies the smallest valid date ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/date-ranges)).
* Example usage of the `min` property:
* ```jsx
*
* ```
*/
min?: Date;
/**
* Specifies the `name` property of the `input` DOM element.
* Example usage of the `name` property:
* ```jsx
*
* ```
*/
name?: string;
/**
* Fires each time any of the DatePicker elements gets blurred.
* Example usage of the `onBlur` property:
* ```jsx
* console.log('Blur event:', event)} />
* ```
*/
onBlur?: (event: React.FocusEvent) => void;
/**
* Fires each time the user focuses any of the DatePicker elements.
* Example usage of the `onFocus` property:
* ```jsx
* console.log('Focus event:', event)} />
* ```
*/
onFocus?: (event: React.FocusEvent) => void;
/**
* Configures the popup options of the DatePicker.
*
* The available options are:
* - `animate: Boolean`—Controls the popup animation. By default, the open and close animations are enabled.
* - `appendTo`: — Defines the container to which the Popup will be appended. Defaults to [`body`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body).
* - `popupClass: String`—Specifies a list of CSS classes that are used to style the popup.
* Example usage of the `popupSettings` property:
* ```jsx
*
* ```
*/
popupSettings?: DateInputsPopupSettings;
/**
* Specifies if the calendar will be displayed ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/controlled-state#toc-controlling-the-popup-state)).
* Example usage of the `show` property:
* ```jsx
*
* ```
*/
show?: boolean;
/**
* Sets the `tabIndex` property of the DatePicker.
* Example usage of the `tabIndex` property:
* ```jsx
*
* ```
*
* @remarks
* This property is related to accessibility.
*/
tabIndex?: number;
/**
* Sets the title of the `input` element of the DatePicker.
* Example usage of the `title` property:
* ```jsx
*
* ```
*/
title?: string;
/**
* Determines whether to display a week number column in the `month` view of the Calendar ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/week-num-column)).
* Example usage of the `weekNumber` property:
* ```jsx
*
* ```
*/
weekNumber?: boolean;
/**
* Specifies the width of the DatePicker.
* Example usage of the `width` property:
* ```jsx
*
* ```
*/
width?: number | string;
/**
* Renders a floating label for the DatePicker.
* Example usage of the `label` property:
* ```jsx
*
* ```
*/
label?: React.ReactNode;
/**
* Specifies the hint the DateInput displays when its value is `null` or there is no partial selection.
* For more information, refer to the article on
* [placeholders](https://www.telerik.com/kendo-react-ui/components/dateinputs/datepicker/placeholders).
* Example usage of the `placeholder` property:
* ```jsx
*
* ```
*/
placeholder?: string | null;
}