/** * @file 对于“常规输入控件”的公共逻辑抽象 * @description “常规输入控件”一般长成带边框的长条形,有默认的宽高,可以感知并适应所在表单/表单项(基于 size、layout 等信息) */ import { CSSProperties } from 'react'; import { ValidateStatus as FormValidateStatus } from '../Form/defs'; import { ComponentSize } from '../ConfigProvider'; /** 输入控件状态信息 */ export interface InputStatus { focused: boolean; disabled: boolean; validateStatus?: FormValidateStatus; } /** 常规输入控件颜色逻辑 */ export declare function useInputColorStyle({ focused, disabled, validateStatus }: InputStatus): string; /** 常规输入控件的样式(包括大小、间距、颜色等) */ export declare function useInputStyle({ size, ...inputStatus }: InputStatus & { size?: ComponentSize; }): string; export declare const inputGroupSizeCtx: import("react").Context<"small" | "default" | "large" | undefined>; /** 获取输入控件的 size 信息 */ export declare function useInputSize(sizeFromProps: ComponentSize | undefined): ComponentSize; /** 输入控件的基础公共属性 */ export interface BaseCommonProps { /** 输入值 */ value?: T; /** 默认输入值 */ defaultValue?: T; /** 输入值发生变更时的回调 */ onChange?: (value: T) => void; /** 是否禁用 */ disabled?: boolean; /** 尺寸 */ size?: ComponentSize; } /** 输入控件的公共属性 */ export interface CommonProps extends BaseCommonProps { /** 占位内容 */ placeholder?: string; /** 校验状态 */ validateStatus?: FormValidateStatus; /** 自定义样式名 */ className?: string; /** 自定义样式 */ style?: CSSProperties; }