getActiveElement.js 908 B

1234567891011121314151617181920
  1. import { isDisabled } from '../misc/isDisabled.js';
  2. function getActiveElement(document) {
  3. const activeElement = document.activeElement;
  4. if (activeElement === null || activeElement === undefined ? undefined : activeElement.shadowRoot) {
  5. return getActiveElement(activeElement.shadowRoot);
  6. } else {
  7. // Browser does not yield disabled elements as document.activeElement - jsdom does
  8. if (isDisabled(activeElement)) {
  9. return document.ownerDocument ? /* istanbul ignore next */ document.ownerDocument.body : document.body;
  10. }
  11. return activeElement;
  12. }
  13. }
  14. function getActiveElementOrBody(document) {
  15. var _getActiveElement;
  16. return (_getActiveElement = getActiveElement(document)) !== null && _getActiveElement !== undefined ? _getActiveElement : /* istanbul ignore next */ document.body;
  17. }
  18. export { getActiveElement, getActiveElementOrBody };