import { EaFormAssociatedBase } from '../../core/EaFormAssociatedBase'; export type TimePickerSize = "large" | "default" | "small"; export type TimePickerAlign = "left" | "center" | "right"; /** * @summary 时间选择器组件,用于选择或输入时间,支持限制时间范围和多种对齐方式。 * @status stable * @since 3.0 * * @dependency ea-icon * @dependency ea-input * * @event change - 值改变时触发,detail: `{ value }`。 * @event focus - 输入框获得焦点时触发。 * @event blur - 输入框失去焦点时触发。 * @event ea-visible-change - 下拉面板显隐变化时触发,detail: `{ visible }`。 * * @csspart container - 组件根容器。 * @csspart input - 输入框元素。 * @csspart dropdown - 下拉面板。 * @csspart dropdown-inner-wrap - 下拉面板内部容器。 * @csspart dropdown-time - 时间列表。 * @csspart dropdown-item - 时间项。 * * @cssproperty --ea-time-picker-width - 组件宽度。 * @cssproperty --ea-time-picker-dropdown-bg-color - 下拉面板背景颜色。 * @cssproperty --ea-time-picker-dropdown-shadow - 下拉面板阴影。 * @cssproperty --ea-time-picker-dropdown-border-color - 下拉面板边框颜色。 * @cssproperty --ea-time-picker-item-height - 时间项高度。 * @cssproperty --ea-time-picker-item-font-size - 时间项字体大小。 * @cssproperty --ea-time-picker-item-color - 时间项文字颜色。 * @cssproperty --ea-time-picker-item-active-color - 选中项文字颜色。 * @cssproperty --ea-time-picker-item-disabled-color - 禁用项文字颜色。 * @cssproperty --ea-time-picker-item-hover-bg-color - 悬停项背景颜色。 * @cssproperty --ea-time-picker-transition - 过渡动画。 * @cssproperty --ea-time-picker-dropdown-max-height - 下拉面板最大高度。 * @cssproperty --ea-time-picker-dropdown-padding - 下拉面板内边距。 */ export declare class EaTimePicker extends EaFormAssociatedBase { private _container; private _input; private _hourWrap; private _minuteWrap; private _secondWrap; private static _instanceCount; private readonly _uniqueId; private _states; label: string; placeholder: string; value: string; width: string; disabled: boolean; align: TimePickerAlign; size: TimePickerSize; limitRangeStart: string; limitRangeEnd: string; required: boolean; updateContainerClasslist(): string; html(): string; /** @param end - 结束值(包含) @returns 时间项 HTML 字符串 */ private _generateTimeItems; /** @param value - 时间字符串,格式 HH:mm:ss */ private _parseValue; /** @returns 格式化的时间值字符串 HH:mm:ss */ private get _timeValue(); /** @param num - 待格式化的数字 @returns 两位数字符串 */ private _formatNumber; /** 同步内部 ea-input 的显示值 */ private _updateInputValue; /** 设置 ARIA 属性,遵循 W3C combobox 模式 */ private _setupAria; /** 更新 aria-expanded 属性 */ private _updateAriaExpanded; /** 根据 disabled 状态设置下拉框的 inert 属性 */ private _updateDropdownInert; /** 更新所有时间列表的选中状态 */ private _updateSelectionState; /** * @param wrap - 时间列表容器 * @param value - 当前选中值 */ private _updateWrapSelection; /** * @param wrap - 时间列表容器 * @param targetValue - 目标值 * @returns 最接近的可用值,无可用项时返回 null */ private _getClosestAvailableValue; /** @returns 是否设置了时间范围限制 */ private _hasLimitedRange; /** 根据 limitRangeStart 和 limitRangeEnd 禁用超出范围的时间项 */ private _applyLimitRange; /** * @param wrap - 时间列表容器 * @param start - 起始值(包含) * @param end - 结束值(包含) */ private _applyRangeToWrap; /** 打开下拉面板 */ private _openDropdown; /** 关闭下拉面板 */ private _closeDropdown; /** * @param wrap - 时间列表容器 * @param value - 滚动目标值 * @param smooth - 是否使用平滑滚动 */ private _scrollToValue; /** * @param wrap - 时间列表容器 * @param type - 时间类型(hour/minute/second) */ private _handleScrollStop; /** * @param e - 点击事件 * @param type - 时间类型(hour/minute/second) * @param wrap - 时间列表容器 */ private _handleItemClick; /** * @param type - 时间类型(hour/minute/second) * @param value - 新的时间值 */ private _setTimeValue; private _handleInputClick; private _handleInputFocus; private _handleInputBlur; private _handleFocusOut; private _handleKeydown; private _handleWindowClick; private _handleHourClick; private _handleMinuteClick; private _handleSecondClick; private _handleHourScroll; private _handleMinuteScroll; private _handleSecondScroll; focus: () => void; blur: () => void; handleOpen: () => void; handleClose: () => void; get validationTarget(): HTMLElement; updateValidity(): void; checkValidity(): boolean; reportValidity(): boolean; $mount(): void; $beforeUnmount(): void; } export default EaTimePicker; //# sourceMappingURL=index.d.ts.map