({
overlayRef: _overlayRef,
returnFocusRef,
initialFocusRef,
onEscape,
ignoreClickRefs,
onClickOutside,
preventFocusOnOpen,
}: UseOverlaySettings)
| 19 | } |
| 20 | |
| 21 | export const useOverlay = ({ |
| 22 | overlayRef: _overlayRef, |
| 23 | returnFocusRef, |
| 24 | initialFocusRef, |
| 25 | onEscape, |
| 26 | ignoreClickRefs, |
| 27 | onClickOutside, |
| 28 | preventFocusOnOpen, |
| 29 | }: UseOverlaySettings): OverlayReturnProps => { |
| 30 | const overlayRef = useProvidedRefOrCreate<HTMLDivElement>(_overlayRef) |
| 31 | useOpenAndCloseFocus({containerRef: overlayRef, returnFocusRef, initialFocusRef, preventFocusOnOpen}) |
| 32 | useOnOutsideClick({containerRef: overlayRef, ignoreClickRefs, onClickOutside}) |
| 33 | |
| 34 | // We only want one overlay to close at a time |
| 35 | const preventeddefaultCheckedEscape: UseOverlaySettings['onEscape'] = event => { |
| 36 | onEscape(event) |
| 37 | event.preventDefault() |
| 38 | } |
| 39 | useOnEscapePress(preventeddefaultCheckedEscape) |
| 40 | return {ref: overlayRef} |
| 41 | } |
no test coverage detected