import { EaFormAssociatedBase } from '../../core/EaFormAssociatedBase'; export type DatePickerVariant = "date" | "month" | "year"; export type DatePickerSize = "large" | "default" | "small"; export type DatePickerAlign = "left" | "center" | "right"; export type DatePickerViewMode = "day" | "month" | "year"; /** * @summary 日期选择器组件,用于选择或输入日期,支持日期、月份、年份三种模式。 * @status stable * @since 3.0 * * @dependency ea-calendar * @dependency ea-input * @dependency ea-button * * @event ea-change - 日期选择确认时触发,detail: `{ fullDate, year, month, date, week }`。 * @event ea-panel-change - 面板切换时触发,detail: `{ date, mode, view }`。 * @event ea-visible-change - 下拉面板显隐变化时触发,detail: `{ visible }`。 * @event focus - 输入框获得焦点时触发。 * @event blur - 输入框失去焦点时触发。 * * @csspart container - 组件根容器。 * @csspart input-wrap - 输入框包装器。 * @csspart input - 输入框元素。 * @csspart dropdown-wrap - 下拉面板包装器。 * @csspart calendar-header - 日历头部。 * @csspart header-left - 头部左侧。 * @csspart header-center - 头部中心。 * @csspart header-right - 头部右侧。 * @csspart header-btn - 头部按钮。 * @csspart header-year - 年份按钮。 * @csspart header-month - 月份按钮。 * @csspart calendar-body - 日历主体。 * @csspart calendar - 日历组件。 * @csspart year-panel - 年份选择面板。 * @csspart year-item - 年份项。 * @csspart month-panel - 月份选择面板。 * @csspart month-item - 月份项。 * * @cssproperty --ea-date-picker-width - 组件宽度。 * @cssproperty --ea-date-picker-bg-color - 下拉面板背景颜色。 * @cssproperty --ea-date-picker-shadow - 下拉面板阴影。 * @cssproperty --ea-date-picker-header-height - 头部高度。 * @cssproperty --ea-date-picker-header-text-color - 头部文字颜色。 * @cssproperty --ea-date-picker-header-text-hover - 头部文字悬停颜色。 * @cssproperty --ea-date-picker-panel-item-size - 面板项尺寸。 * @cssproperty --ea-date-picker-panel-item-bg-color - 面板项背景颜色。 * @cssproperty --ea-date-picker-panel-item-text-color - 面板项文字颜色。 * @cssproperty --ea-date-picker-panel-item-hover - 面板项悬停背景颜色。 * @cssproperty --ea-date-picker-panel-item-selected - 面板项选中文字颜色。 * @cssproperty --ea-date-picker-panel-item-selected-bg - 面板项选中背景颜色。 * @cssproperty --ea-date-picker-font-size - 字体大小。 * @cssproperty --ea-date-picker-transition - 过渡动画。 */ export declare class EaDatePicker extends EaFormAssociatedBase { private _container; private _inputElement; private _dropdownWrap; private _calendarElement; private _calendarHeader; private _calendarBody; private _yearBtn; private _monthBtn; private _prevYearBtn; private _prevMonthBtn; private _nextMonthBtn; private _nextYearBtn; private _yearPanel; private _monthPanel; private static _instanceCount; private readonly _uniqueId; private _abortController?; private _states; label: string; width: string; value: string; placeholder: string; disabled: boolean; align: DatePickerAlign; displayFormat: string; valueFormat: string; variant: DatePickerVariant; size: DatePickerSize; required: boolean; updateContainerClasslist(): string; /** @returns 根据当前 variant 返回显示格式 */ private _getDisplayFormat; /** 设置 ARIA 属性,遵循 W3C combobox datepicker 模式 */ private _setupAria; /** 更新 aria-expanded 属性 */ private _updateAriaExpanded; /** 根据 disabled 和 open 状态设置下拉框的 inert 属性 */ private _updateDropdownInert; html(): string; /** 更新头部年月显示 */ private _updateHeaderDisplay; /** 切换到年份视图模式 */ private _switchToYearMode; /** 切换到月份视图模式 */ private _switchToMonthMode; /** 切换到日期视图模式 */ private _switchToDayMode; /** @param mode - 视图模式,更新导航按钮的 aria-label */ private _updateHeaderButtons; /** 渲染年份面板 */ private _renderYearPanel; /** 渲染月份面板选中状态 */ private _renderMonthPanel; $updateLocalization(locale: string): void; /** 点击上一年/上一组按钮 */ private _onPrevYearClick; /** 点击下一年/下一组按钮 */ private _onNextYearClick; /** 点击上一月按钮 */ private _onPrevMonthClick; /** 点击下一月按钮 */ private _onNextMonthClick; /** @param e - 点击事件,从 data-year 属性获取年份 */ private _onYearClick; /** @param year - 选中的年份 */ private _handleYearSelect; /** @param e - 点击事件,从 data-month 属性获取月份 */ private _onMonthClick; /** @param month - 选中的月份 */ private _handleMonthSelect; /** 更新当前视图 */ private _updateView; private _onCalendarSelect; private _onInputClick; private _onInputFocus; private _onInputBlur; /** @param e - 键盘事件,ArrowDown 打开 dialog(仅输入框),ESC 关闭 dialog(全局) */ private _handleKeydown; private _onFocusOut; private _onWindowClick; private _handlePrevYearClick; private _handleNextYearClick; private _handlePrevMonthClick; private _handleNextMonthClick; private _handleYearBtnClick; private _handleMonthBtnClick; private _handleYearPanelClick; private _handleMonthPanelClick; /** 打开下拉面板 */ private _openDropdown; /** * @param focusCombobox - 关闭后是否聚焦回输入框,默认 true */ private _closeDropdown; /** 切换下拉面板显隐 */ private _toggleDropdown; focus(): void; blur(): void; handleOpen(): void; handleClose(): void; get validationTarget(): HTMLElement; updateValidity(): void; checkValidity(): boolean; reportValidity(): boolean; $mount(): void; $beforeUnmount(): void; } //# sourceMappingURL=index.d.ts.map