UNPKG

@primer/components

Version:
33 lines (31 loc) 783 B
import { useOnOutsideClick } from './useOnOutsideClick'; import { useOpenAndCloseFocus } from './useOpenAndCloseFocus'; import { useOnEscapePress } from './useOnEscapePress'; import { useProvidedRefOrCreate } from './useProvidedRefOrCreate'; export const useOverlay = ({ overlayRef: _overlayRef, returnFocusRef, initialFocusRef, onEscape, ignoreClickRefs, onClickOutside, preventFocusOnOpen }) => { const overlayRef = useProvidedRefOrCreate(_overlayRef); if (!preventFocusOnOpen) { useOpenAndCloseFocus({ containerRef: overlayRef, returnFocusRef, initialFocusRef }); } useOnOutsideClick({ containerRef: overlayRef, ignoreClickRefs, onClickOutside }); useOnEscapePress(onEscape); return { ref: overlayRef }; };