hongluan-ui
Version:
Hongluan Component Library for Vue 3
20 lines (19 loc) • 653 B
TypeScript
import type { ShallowRef } from 'vue';
interface UseFocusControllerOptions {
afterFocus?: () => void;
/**
* return true to cancel blur
* @param event FocusEvent
*/
beforeBlur?: (event: FocusEvent) => boolean | undefined;
afterBlur?: () => void;
}
export declare function useFocusController<T extends {
focus: () => void;
}>(target: ShallowRef<T | undefined>, { afterFocus, beforeBlur, afterBlur }?: UseFocusControllerOptions): {
wrapperRef: ShallowRef<HTMLElement>;
isFocused: import("vue").Ref<boolean>;
handleFocus: (event: FocusEvent) => void;
handleBlur: (event: FocusEvent) => void;
};
export {};