class Viewport { constructor() { this.positions = { top: 0, bottom: 0, height: 0, }; } setViewportTop(container) { // if this is a custom container, user the scrollTop this.positions.top = (container ? container.scrollTop : window.pageYOffset); return this.positions; } setViewportBottom() { this.positions.bottom = this.positions.top + this.positions.height; return this.positions; } setViewportAll(container) { // if this is a custom container, user the scrollTop this.positions.top = (container ? container.scrollTop : window.pageYOffset); // if this is a custom container, get the height from the custom container itself this.positions.height = (container ? container.clientHeight : document.documentElement.clientHeight); this.positions.bottom = this.positions.top + this.positions.height; return this.positions; } } export const viewport = new Viewport(); export { viewport as default };