import React, { Component, type HTMLAttributes, type DetailedReactHTMLElement, type ReactHTMLElement, type ReactSVGElement, type DOMElement, type DOMAttributes, type FunctionComponentElement, type CElement, type ComponentState, type ReactElement } from 'react'; type ClonableElement
= DetailedReactHTMLElement | CElement > | ReactElement ;
export interface UIStateProps {
onFocus?: (...rest: unknown[]) => unknown;
onBlur?: (...rest: unknown[]) => unknown;
}
export interface UIStateState {
focused?: boolean;
}
/**
* UIState 为一些特殊元素的状态响应提供了标准的方式,
* 尤其适合 CSS 无法完全定制的控件,比如 checkbox,radio 等。
* 若组件 disable 则自行判断是否需要绑定状态管理。
* 注意:disable 不会触发事件,请使用 resetUIState 还原状态
*/
declare class UIState extends Component {
constructor(props: P & UIStateProps);
getStateElement(base: ClonableElement ): React.ReactElement