import { MouseEvent, HTMLAttributes } from 'react';
import { ConfiguredComponent } from '@befe/brick-core';
import { InputWithHoverProps } from './utils/create-hover-feature';
import { InputProps } from './input';
type InputWrapPropsFromInput = Pick;
export interface InputWrapperProps extends InputWrapPropsFromInput, InputWithHoverProps {
/**
* 自定义 class
*/
className?: string;
focus?: boolean;
prefixInnerPadding: number;
suffixInnerPadding: number;
onClick?: (e: MouseEvent) => void;
onMouseEnter?: (e: MouseEvent) => void;
onMouseLeave?: (e: MouseEvent) => void;
refWrapper?: (node: HTMLDivElement | null) => void;
}
interface InputWrapperState {
isHover: boolean;
}
/**
*/
export declare class InputWrapper extends ConfiguredComponent {
static displayName: string;
static defaultProps: {
className: string;
status: string;
prefixInnerPadding: number;
suffixInnerPadding: number;
focus: boolean;
disabled: boolean;
};
state: {
isHover: boolean;
};
elemInput: HTMLDivElement;
inputRefs: {
prefix: {
ref(node: HTMLDivElement | null): void;
readonly elem: HTMLDivElement | null;
};
suffix: {
ref(node: HTMLDivElement | null): void;
readonly elem: HTMLDivElement | null;
};
append: {
ref(node: HTMLDivElement | null): void;
readonly elem: HTMLDivElement | null;
};
prepend: {
ref(node: HTMLDivElement | null): void;
readonly elem: HTMLDivElement | null;
};
};
hoverFeature: {
onMouseEnter: (e: MouseEvent) => void;
onMouseLeave: (e: MouseEvent) => void;
};
refInput: (node: HTMLDivElement) => void;
get size(): "xs" | "sm" | "md" | "lg" | "xl";
get className(): string;
/**
* @private
* 处理前后缀造成的 padding 问题
*/
processExtraPadding(): void;
componentDidMount(): void;
componentDidUpdate(): void;
renderWrap(type: 'suffix' | 'prefix', wrapProps?: HTMLAttributes): import("react/jsx-runtime").JSX.Element | null;
renderSuffix(): import("react/jsx-runtime").JSX.Element | null;
renderPrefix(): import("react/jsx-runtime").JSX.Element | null;
render(): import("react/jsx-runtime").JSX.Element;
}
export {};