import { default as EaFormAssociatedBase } from '../../core/EaFormAssociatedBase'; export type InputNumberSize = "large" | "default" | "small"; export type InputNumberAlign = "left" | "center" | "right"; /** * @summary 计数器组件,仅允许输入标准的数字值,可定义范围和步进。 * @status stable * @since 3.0 * * @dependency ea-icon * * @slot prefix - 输入框前置插槽。 * @slot suffix - 输入框后置插槽。 * * @event ea-change - 值发生变化时触发,detail: `{ currentValue: number, oldValue: number }`。 * @event focus - 输入框获得焦点时触发。 * @event blur - 输入框失去焦点时触发。 * * @csspart container - 容器元素。 * @csspart label - 标签元素。 * @csspart region - 输入区域容器元素。 * @csspart decrease - 减号按钮元素。 * @csspart prefix - 前缀插槽容器元素。 * @csspart input - 输入框元素。 * @csspart suffix - 后缀插槽容器元素。 * @csspart increase - 加号按钮元素。 * * @cssproperty --ea-input-number-width - 组件宽度。 * @cssproperty --ea-input-number-height - 组件高度。 * @cssproperty --ea-input-number-font-size - 组件字体大小。 * @cssproperty --ea-input-number-border-color - 边框颜色。 * @cssproperty --ea-input-number-text-color - 文字颜色。 * @cssproperty --ea-input-number-operator-color - 操作按钮颜色。 * @cssproperty --ea-input-number-operator-bg-color - 操作按钮背景颜色。 * @cssproperty --ea-input-number-operator-disabled-color - 操作按钮禁用颜色。 * @cssproperty --ea-input-number-input-disabled-color - 输入框禁用文字颜色。 * @cssproperty --ea-input-number-input-disabled-bg-color - 输入框禁用背景颜色。 * @cssproperty --ea-input-number-active-color - 激活状态颜色。 * @cssproperty --ea-input-number-transition - 过渡动画时长。 */ export declare class EaInputNumber extends EaFormAssociatedBase { private _container; private _label; private _inputEl; private _decreaseBtn; private _increaseBtn; private _repeatTimer; private _repeatDelay; private _repeatInterval; private _inputId; defaultValue: number; _isFocus: boolean; _isMin: boolean; _isMax: boolean; label: string; value: number; min: number; max: number; required: boolean; step: number; stepStrictly: boolean; precision: number; size: InputNumberSize; readonly: boolean; disabled: boolean; controls: boolean; valueOnClear: number | null; align: InputNumberAlign; name: string; placeholder: string; inputmode: string; get validationTarget(): HTMLInputElement; /** * 更新容器 CSS 类名 * @returns 生成的类名字符串 */ updateContainerClasslist(): string; /** 更新增减按钮的禁用状态和 ARIA 属性 */ private _updateButtonDisabledState; html(): string; /** * 聚焦输入框 * @param options - 焦点选项 */ focus(options?: FocusOptions): void; /** 失焦输入框 */ blur(): void; /** * 校验并修正数值,确保在 min/max 范围内并按 precision 格式化 * @param value - 待校验的数值 * @param options - 校验选项 * @returns 修正后的数值字符串 */ private _sanitizeNumber; /** 增加值 */ private _increase; /** 减少值 */ private _decrease; /** * 校验输入值并修正 * @param e - blur 事件对象 */ private _ensureInputValueIsCorrect; /** * 处理减号按钮按下事件,启动长按重复 * @param e - 指针事件对象 */ private _handleDecreasePointerDown; /** * 处理加号按钮按下事件,启动长按重复 * @param e - 指针事件对象 */ private _handleIncreasePointerDown; /** 处理指针抬起和离开事件,停止长按重复 */ private _handlePointerUp; /** * 启动长按重复执行 * @param action - 要重复执行的函数 */ private _startRepeat; /** 停止长按重复执行 */ private _stopRepeat; /** * 处理输入框获得焦点事件,阻止原生 focus 冒泡并派发自定义事件 * @param e - focus 事件对象 */ private _handleInputFocus; /** * 处理键盘按下事件,实现 spinbutton 键盘交互 * @param e - 键盘事件对象 */ private _handleKeyDown; /** * 处理输入事件,过滤非法字符并更新 aria-invalid 状态 * @param e - 输入事件对象 */ private _handleInput; /** * 处理输入框失焦事件,阻止原生 blur 冒泡并派发自定义事件 * @param e - blur 事件对象 */ private _handleInputBlur; formResetCallback(): void; $mount(): void; $beforeUnmount(): void; } //# sourceMappingURL=index.d.ts.map