getActiveElement.js 982 B

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