in src/helpers/focusManager.js [30:49]
export function handleFocus() {
if (needToFocus) {
needToFocus = false;
if (!modalElement) {
return;
}
// need to see how jQuery shims document.on('focusin') so we don't need the
// setTimeout, firefox doesn't support focusin, if it did, we could focus
// the element outside of a setTimeout. Side-effect of this implementation
// is that the document.body gets focus, and then we focus our element right
// after, seems fine.
setTimeout(() => {
if (modalElement.contains(document.activeElement)) {
return;
}
const el = findTabbable(modalElement)[0] || modalElement;
el.focus();
}, 0);
}
}