UNPKG

@qvant/qui-max

Version:

A Vue 3 Design system for Web.

27 lines (26 loc) 1.12 kB
import getDocumentElement from "./getDocumentElement.js"; import getComputedStyle from "./getComputedStyle.js"; import getWindowScrollBarX from "./getWindowScrollBarX.js"; import getWindowScroll from "./getWindowScroll.js"; import { max } from "../utils/math.js"; function getDocumentRect(element) { var _element$ownerDocumen; var html = getDocumentElement(element); var winScroll = getWindowScroll(element); var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); var x = -winScroll.scrollLeft + getWindowScrollBarX(element); var y = -winScroll.scrollTop; if (getComputedStyle(body || html).direction === "rtl") { x += max(html.clientWidth, body ? body.clientWidth : 0) - width; } return { width, height, x, y }; } export { getDocumentRect as default }; //# sourceMappingURL=getDocumentRect.js.map