ultra-design
Version:
73 lines (72 loc) • 2.3 kB
TypeScript
import React, { HTMLInputTypeAttribute } from 'react';
export interface Props {
/**
* @description.zh-CN 默认值
* @description.en-US default value
*/
defaultValue?: string;
/**
* @description.zh-CN 值
* @description.en-US value
*/
value?: string;
/**
* @description.zh-CN 原生 type 属性
* @description.en-US native type
*/
type?: HTMLInputTypeAttribute;
/**
* @description.zh-CN 占位符
* @description.en-US placeholder
*/
placeholder?: string;
/**
* @description.zh-CN 左侧图标
* @description.en-US left icon
*/
icon?: React.ReactNode;
/**
* @description.zh-CN 值可以被清空
* @description.en-US value can be cleared
*/
clearable?: boolean;
/**
* @description.zh-CN 禁用状态
* @description.en-US disabled status
*/
disabled?: boolean;
/**
* @description.zh-CN 是否只读
* @description.en-US readolny
*/
readOnly?: boolean;
/**
* @description.zh-CN 出现时自动获得焦点
* @description.en-US auto focused when show
*/
autoFocus?: boolean;
/**
* @description.zh-CN 输入框标题
* @description.en-US input label
*/
label?: React.ReactNode;
onInput?: (value: string, e: React.FormEvent<HTMLInputElement>) => void;
/**
* @description.zh-CN 输入或时的回调
* @description.en-US callback of input
*/
onChange?: (value: string, e: React.ChangeEvent<HTMLInputElement>) => void;
onFocus?: (value: string, e: React.FocusEvent<HTMLInputElement>) => void;
onBlur?: (value: string, e: React.FocusEvent<HTMLInputElement>) => void;
/**
* @description.zh-CN 手动清空时的回调
* @description.en-US callback of clearable
*/
onClear?: (value: string, e: React.MouseEvent<HTMLDivElement>) => void;
}
declare type NativeAttrs = Omit<React.InputHTMLAttributes<any>, keyof Props | 'size'>;
export declare type InputProps = Props & NativeAttrs;
declare const defaultProps: {};
export declare type MergedInputProps = typeof defaultProps & Props;
declare const _default: React.ForwardRefExoticComponent<Props & NativeAttrs & React.RefAttributes<HTMLInputElement>>;
export default _default;