UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

43 lines (37 loc) 1.33 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var utils_dom = require('../../utils/dom.js'); require('../../_chunks/dep-8d10b59f.js'); require('lodash/isString'); require('lodash/isFunction'); require('lodash/isArray'); require('../../utils/easing.js'); function getScrollParent(element) { var style = window.getComputedStyle(element); var excludeStaticParent = style.position === "absolute"; var overflowRegex = /(auto|scroll)/; if (style.position === "fixed") return document.body; for (var parent = element; parent.parentElement;) { parent = parent.parentElement; style = window.getComputedStyle(parent); if (excludeStaticParent && style.position === "static") { continue; } if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent; } return document.body; } function scrollToParentVisibleArea(element) { var parent = getScrollParent(element); if (parent === document.body) return; if (utils_dom.elementInViewport(element, parent)) return; parent.scrollTop = element.offsetTop - parent.offsetTop; } exports.getScrollParent = getScrollParent; exports.scrollToParentVisibleArea = scrollToParentVisibleArea; //# sourceMappingURL=getScrollParent.js.map