UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

49 lines (34 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = function _default(node) { if (!(node instanceof HTMLElement)) { return document.documentElement; } var excludeStaticParent = node.style.position === 'absolute'; var overflowRegex = /(scroll|auto)/; var parent = node; while (parent) { if (!parent.parentNode) { return node.ownerDocument || document.documentElement; } var style = window.getComputedStyle(parent); var position = style.position; var overflow = style.overflow; // @ts-ignore var overflowX = style['overflow-x']; // @ts-ignore var overflowY = style['overflow-y']; if (position === 'static' && excludeStaticParent) { // @ts-ignore parent = parent.parentNode; continue; } // @ts-ignore if (overflowRegex.test(overflow) && overflowRegex.test(overflowX) && overflowRegex.test(overflowY)) { return parent; } // @ts-ignore parent = parent.parentNode; } // @ts-ignore return node.ownerDocument || node.documentElement || document.documentElement; }; exports.default = _default;