UNPKG

reblend-ui

Version:

Utilities for creating robust overlay components

21 lines (20 loc) 1.05 kB
export type MouseEvents = { [K in keyof GlobalEventHandlersEventMap]: GlobalEventHandlersEventMap[K] extends MouseEvent ? K : never; }[keyof GlobalEventHandlersEventMap]; export declare const getRefTarget: (ref: Reblend.RefObject<Element> | Element | null | undefined) => any; export interface ClickOutsideOptions { disabled?: boolean; clickTrigger?: MouseEvents; } /** * The `useClickOutside` hook registers your callback on the document that fires * when a pointer event is registered outside of the provided ref or element. * * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary * @param {function} onClickOutside * @param {object=} options * @param {boolean=} options.disabled * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on */ declare function useClickOutside(ref: Reblend.RefObject<Element> | Element | null | undefined, onClickOutside?: (e: Event) => void, { disabled, clickTrigger }?: ClickOutsideOptions): void; export default useClickOutside;