UNPKG

tdesign-vue-next

Version:
44 lines (40 loc) 1.35 kB
/** * tdesign v1.15.2 * (c) 2025 tdesign * @license MIT */ import { k as getWindowScroll, u as getElmCssPropValue, j as isFixed } from '../../_chunks/dep-d58b61b6.mjs'; import 'vue'; import '../../_chunks/dep-779bddf7.mjs'; import 'lodash-es'; 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 }; //# sourceMappingURL=getRelativePosition.mjs.map