UNPKG

motion-dom

Version:
23 lines (20 loc) • 972 B
import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs'; import { translateAxis } from '../geometry/delta-apply.mjs'; function measureViewportBox(instance, transformPoint) { return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint)); } function measurePageBox(element, rootProjectionNode, transformPagePoint) { const viewportBox = measureViewportBox(element, transformPagePoint); const { scroll } = rootProjectionNode; if (scroll) { translateAxis(viewportBox.x, scroll.offset.x); translateAxis(viewportBox.y, scroll.offset.y); } return viewportBox; } const measureDocumentScroll = () => ({ x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0, y: document.documentElement.scrollTop || document.body?.scrollTop || 0, }); export { measureDocumentScroll, measurePageBox, measureViewportBox }; //# sourceMappingURL=measure.mjs.map