@figliolia/react-hooks
Version:
A small collection of simple React Hooks you're probably rewriting on a regular basis
10 lines (9 loc) • 579 B
TypeScript
import type { RefCallback, RefObject } from "react";
import type { Callback } from "../Types";
export declare const useClickOutside: <T extends HTMLElement, R extends boolean | undefined>({ callback, open, refCallback, }: IUseClickOutsideOptions<R>) => ClickOutsideRef<T, R>;
export type ClickOutsideRef<T extends HTMLElement, R extends boolean | undefined> = R extends true ? RefCallback<T> : RefObject<T>;
export interface IUseClickOutsideOptions<R extends boolean | undefined> {
open?: boolean;
refCallback?: R;
callback: Callback<[e: MouseEvent | FocusEvent]>;
}