Initial commit

This commit is contained in:
Marek Lesko
2025-08-19 16:58:51 +02:00
commit a2f7e2285a
908 changed files with 160315 additions and 0 deletions

View File

@@ -0,0 +1 @@
import getBoundingClientRect from"./getBoundingClientRect.js";import getNodeScroll from"./getNodeScroll.js";import getNodeName from"./getNodeName.js";import{isHTMLElement}from"./instanceOf.js";import getWindowScrollBarX from"./getWindowScrollBarX.js";import getDocumentElement from"./getDocumentElement.js";import isScrollParent from"./isScrollParent.js";import{round}from"../utils/math.js";function isElementScaled(e){var t=e.getBoundingClientRect(),o=round(t.width)/e.offsetWidth||1,t=round(t.height)/e.offsetHeight||1;return 1!==o||1!==t}export default function getCompositeRect(e,t,o){void 0===o&&(o=!1);var l=isHTMLElement(t),i=isHTMLElement(t)&&isElementScaled(t),n=getDocumentElement(t),e=getBoundingClientRect(e,i,o),i={scrollLeft:0,scrollTop:0},r={x:0,y:0};return!l&&o||("body"===getNodeName(t)&&!isScrollParent(n)||(i=getNodeScroll(t)),isHTMLElement(t)?((r=getBoundingClientRect(t,!0)).x+=t.clientLeft,r.y+=t.clientTop):n&&(r.x=getWindowScrollBarX(n))),{x:e.left+i.scrollLeft-r.x,y:e.top+i.scrollTop-r.y,width:e.width,height:e.height}}