UNPKG

@mui/x-internals

Version:

Utility functions for the MUI X packages (internal use only).

27 lines (26 loc) 899 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.isHTMLElement = isHTMLElement; var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow")); /** * Checks if a value is an HTMLElement, including elements from other iframes/realms. */ function isHTMLElement(value) { if (typeof window === 'undefined' || value == null) { return false; } if (value instanceof HTMLElement) { return true; } // Cross-realm: must be an element node (nodeType 1) from another window. // The try/catch guards against detached/destroyed windows where accessing // `.HTMLElement` on the owner window may throw. try { return value.nodeType === 1 && value instanceof (0, _ownerWindow.default)(value).HTMLElement; } catch { return false; } }