/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { default as PropTypes } from 'prop-types'; import { DateInputsClassStructure } from '@progress/kendo-react-common'; import { IntlService, DateFormatOptions } from '@progress/kendo-react-intl'; import { TimePickerIncrementalSteps } from './models/IncrementalSteps'; import * as React from 'react'; /** * @hidden */ export declare enum Direction { Left = 0, Right = 1 } /** * @hidden */ export interface TimeSelectorChangeEvent { nativeEvent?: any; syntheticEvent: React.SyntheticEvent; value: Date; target: TimeSelector; } /** * @hidden */ export interface TimeSelectorTimeChangeEvent { time: Date; } /** * @hidden */ export interface TimeSelectorProps { cancelButton?: boolean; className?: string; disabled?: boolean; format?: string | DateFormatOptions; max?: Date; min?: Date; nowButton?: boolean; onChange?: any; handleTimeChange?: any; onReject?: any; steps?: TimePickerIncrementalSteps; smoothScroll?: boolean; tabIndex?: number; value?: Date | null; boundRange?: boolean; show?: boolean; footer?: boolean; mobileMode?: boolean; unstyled?: DateInputsClassStructure; } /** * @hidden */ export interface TimeSelectorState { value: Date | null; current: Date | null; } /** * @hidden */ export declare class TimeSelector extends React.Component { static propTypes: { cancelButton: PropTypes.Requireable; className: PropTypes.Requireable; disabled: PropTypes.Requireable; format: PropTypes.Requireable; pattern: PropTypes.Requireable; date: PropTypes.Requireable; time: PropTypes.Requireable; datetime: PropTypes.Requireable; era: PropTypes.Requireable; year: PropTypes.Requireable; month: PropTypes.Requireable; day: PropTypes.Requireable; weekday: PropTypes.Requireable; hour: PropTypes.Requireable; hour12: PropTypes.Requireable; minute: PropTypes.Requireable; second: PropTypes.Requireable; timeZoneName: PropTypes.Requireable; }> | null | undefined>>; max: PropTypes.Requireable; min: PropTypes.Requireable; nowButton: PropTypes.Requireable; steps: PropTypes.Requireable; minute: PropTypes.Requireable; second: PropTypes.Requireable; }>>; smoothScroll: PropTypes.Requireable; tabIndex: PropTypes.Requireable; value: PropTypes.Requireable; show: PropTypes.Requireable; }; static defaultProps: { value: null; disabled: boolean; cancelButton: boolean; format: string; min: Date; max: Date; boundRange: boolean; footer: boolean; }; readonly state: TimeSelectorState; private _element; private _cancelButton; private _acceptButton; private dateFormatParts; private valueDuringOnChange?; private timePart; private mergeValue; private nextTickId; constructor(props: TimeSelectorProps); /** * @hidden */ get element(): HTMLSpanElement | null; get value(): Date | null; protected get intl(): IntlService; private get current(); /** * @hidden */ componentWillUnmount(): void; /** * @hidden */ render(): React.JSX.Element; focusActiveList: () => void; protected nextTick(f: () => any): void; protected hasActiveButton(): boolean | null; private handleKeyDown; private revertToNowButton; private handleNowKeyDown; private handleAccept; private handleReject; private handleNowClick; private handleChange; }