UNPKG

sweetalert2

Version:

A beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes, supported fork of sweetalert

39 lines (32 loc) 903 B
import { RESTORE_FOCUS_TIMEOUT } from './constants.js' /** @type {GlobalState} */ const globalState = {} export default globalState const focusPreviousActiveElement = () => { if (globalState.previousActiveElement instanceof HTMLElement) { globalState.previousActiveElement.focus() globalState.previousActiveElement = null } else if (document.body) { document.body.focus() } } /** * Restore previous active (focused) element * * @param {boolean} returnFocus * @returns {Promise<void>} */ export const restoreActiveElement = (returnFocus) => { return new Promise((resolve) => { if (!returnFocus) { return resolve() } const x = window.scrollX const y = window.scrollY globalState.restoreFocusTimeout = setTimeout(() => { focusPreviousActiveElement() resolve() }, RESTORE_FOCUS_TIMEOUT) // issues/900 window.scrollTo(x, y) }) }