/** * @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 { DateFormatOptions } from '@progress/kendo-react-intl'; import { CalendarProps } from '../../calendar/components/Calendar.js'; import { PopupProps } from '@progress/kendo-react-popup'; import { DateInputIncrementalSteps, DateInputProps } from '../../index.js'; import * as React from 'react'; /** * @hidden */ export interface DateTimePickerSettings { /** * Enables the customization or the override of the default Calendar which is rendered by the DateTimePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/custom-rendering#toc-customizing-the-calendar)). */ calendar?: React.ComponentType; /** * Enables the customization or the override of the default Popup which is rendered by the DateTimePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/custom-rendering#toc-customizing-the-popup)). */ popup?: React.ComponentType; /** * Enables the customization or the override of the default DateInput which is rendered by the DateTimePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/custom-rendering#toc-customizing-the-dateinput)). */ dateInput?: React.ComponentType; /** * Sets the `className` of the DateTimePicker. */ className?: string; /** * Sets if the calendar popup is opened upon initial render. * For more information, refer to the article on * [uncontrolled components in React](https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components). */ defaultShow?: boolean; /** * Specifies the incremental steps of the `DateInput` and the internal `TimePart` ([see examples](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/incremental-steps)). * * The available options are: * - `year: Number`—Controls the incremental step of the year value. * - `month: Number`—Controls the incremental step of the month value. * - `day: Number`—Controls the incremental step of the day value. * - `hour: Number`—Controls the incremental step of the hour value. * - `minute: Number`—Controls the incremental step of the minute value. * - `second: Number`—Controls the incremental step of the second value. */ steps?: DateInputIncrementalSteps; /** * Determines whether the DateTimePicker is disabled * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/disabled-state)). */ disabled?: boolean; /** * Specifies the initial focusedDate of the Calendar inside the DateTimePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/date)). */ 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/datetimepicker/formats)). */ 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/datetimepicker/placeholders)). */ formatPlaceholder?: DateInputFormatPlaceholder; /** * Specifies the `id` of the DateTimePicker. */ 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; /** * The accessible label of the component. * * @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/datetimepicker/date-ranges)). */ max?: Date; /** * Specifies the smallest valid date * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/date-ranges)). */ min?: Date; /** * Specifies the smallest valid time within the day ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/date-ranges)). */ minTime?: Date; /** * Specifies the greatest valid time within the day ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/date-ranges)). */ maxTime?: Date; /** * Specifies the `name` property of the `input` DOM element. */ name?: string; /** * Fires each time any of the DateTimePicker elements gets blurred. */ onBlur?: (event: React.FocusEvent) => void; /** * Fires each time the user focuses any of the DateTimePicker elements. */ onFocus?: (event: React.FocusEvent) => void; /** * Specifies if the popup will be displayed * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/datetimepicker/controlled-state#toc-controlling-the-popup-state)). */ show?: boolean; /** * Sets the `tabIndex` property of the DateTimePicker. * * @remarks * This property is related to accessibility. */ tabIndex?: number; /** * Sets the title of the `input` element of the DateTimePicker. */ title?: string; /** * Determines whether to display a week number column of the Calendar inside the DateTimePicker * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/weeks-numbers)). */ weekNumber?: boolean; /** * Specifies the width of the DateTimePicker. */ width?: number | string; /** * Determines whether to display the **Cancel** button in the popup. */ cancelButton?: boolean; /** * Renders a floating label for the DateTimePicker. */ 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/datetimepicker/placeholders). */ placeholder?: string | null; }