/** * @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 { DateFormatPart, 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 TimePartChangeEvent { nativeEvent: any; syntheticEvent: React.SyntheticEvent; value: Date; target: TimePart; } /** * @hidden */ export interface TimePartProps { disabled?: boolean; format?: string | DateFormatOptions; max?: Date; min?: Date; nowButton?: boolean; onChange?: any; steps?: TimePickerIncrementalSteps; smoothScroll?: boolean; tabIndex?: number; value?: Date | null; boundRange?: boolean; onNowClick?: any; className?: string; onMount?: (value: Date) => void; onNowKeyDown?: (event: React.KeyboardEvent) => void; show?: boolean; mobileMode?: boolean; unstyled?: DateInputsClassStructure; } /** * @hidden */ export interface TimePartState { activeListIndex: number; } /** * @hidden */ export declare class TimePart extends React.Component { static propTypes: { cancelButton: 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; nowButton: boolean; cancelButton: boolean; format: string; min: Date; max: Date; steps: {}; boundRange: boolean; }; readonly state: TimePartState; private _element; private _nowButton; private dateFormatParts; private timeLists; private snapTime; private nextTickId; constructor(props: TimePartProps); /** * @hidden */ get element(): HTMLSpanElement | null; get value(): Date; protected get intl(): IntlService; private get min(); private get max(); private get steps(); protected get boundRange(): boolean; /** * @hidden */ componentWillUnmount(): void; componentDidMount(): void; /** * @hidden */ render(): React.JSX.Element; focus: (args?: FocusOptions, focusNowButton?: boolean) => void; protected timeFormatReducer: (acc: string, current: DateFormatPart) => string; protected timeFormatFilter: (part: DateFormatPart, index: number, all: DateFormatPart[]) => boolean; protected nextTick(f: () => any): void; protected hasActiveButton(): boolean | null; protected focusList: (dir: Direction) => void; protected listReducer: (state: any, list: any, idx: number, all: any) => any; protected showNowButton: () => boolean | undefined; protected hasSteps(): boolean; private handleKeyDown; private handleListBlur; private handleListFocus; private handleChange; }