UNPKG

@primer/components

Version:
30 lines 762 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); useOpenAndCloseFocus({ containerRef: overlayRef, returnFocusRef, initialFocusRef, preventFocusOnOpen }); useOnOutsideClick({ containerRef: overlayRef, ignoreClickRefs, onClickOutside }); useOnEscapePress(onEscape); return { ref: overlayRef }; };