UNPKG

tdesign-react

Version:
45 lines (41 loc) 1.38 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ import { g as getCssVarsValue, i as isFixed } from '../../_chunks/dep-3a09424a.js'; import { getWindowScroll } from '../../_util/scroll.js'; import 'lodash-es'; import 'raf'; import '../../_util/easing.js'; 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 = getCssVarsValue("position", relativeElm); 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.js.map