UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

51 lines (47 loc) 1.66 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ import { getWindowScroll, getElmCssPropValue, isFixed } from '../../utils/dom.mjs'; import '../../_chunks/dep-10a947a6.mjs'; import '../../_chunks/dep-11fa9c2c.mjs'; import '../../_chunks/dep-b75d8d74.mjs'; import '../../_chunks/dep-82805301.mjs'; import '../../_chunks/dep-a95026f2.mjs'; import '../../_chunks/dep-068e912d.mjs'; import '../../_chunks/dep-addc2a84.mjs'; import '../../_chunks/dep-1cc1c24f.mjs'; import '../../_chunks/dep-6ad18815.mjs'; import '../../utils/easing.mjs'; function getRelativePosition(elm) { var relativeElm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body; var _getWindowScroll = getWindowScroll(), scrollTop = _getWindowScroll.scrollTop, scrollLeft = _getWindowScroll.scrollLeft; var _elm$getBoundingClien = elm.getBoundingClientRect(), elmTop = _elm$getBoundingClien.top, elmLeft = _elm$getBoundingClien.left; var _relativeElm$getBound = relativeElm.getBoundingClientRect(), relElmTop = _relativeElm$getBound.top, relElmLeft = _relativeElm$getBound.left; var relativeElmPosition = getElmCssPropValue(relativeElm, "position"); if (relativeElm.tagName.toLowerCase() !== "body" && relativeElmPosition === "relative" || relativeElmPosition === "sticky") { return { top: elmTop - relElmTop, left: elmLeft - relElmLeft }; } if (isFixed(elm)) { return { top: elmTop, left: elmLeft }; } return { top: elmTop + scrollTop, left: elmLeft + scrollLeft }; } export { getRelativePosition as default }; //# sourceMappingURL=getRelativePosition.mjs.map