UNPKG

@testplane/webdriverio

Version:

Next-gen browser and mobile automation test framework for Node.js

17 lines (16 loc) 2.53 kB
// src/scripts/isElementInViewport.ts function isElementInViewport(elem) { if (!elem.getBoundingClientRect) { return false; } const rect = elem.getBoundingClientRect(); const windowHeight = window.innerHeight || document.documentElement.clientHeight; const windowWidth = window.innerWidth || document.documentElement.clientWidth; const vertInView = rect.top <= windowHeight && rect.top + rect.height > 0; const horInView = rect.left <= windowWidth && rect.left + rect.width > 0; return vertInView && horInView; } export { isElementInViewport as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3NjcmlwdHMvaXNFbGVtZW50SW5WaWV3cG9ydC50cyJdLAogICJzb3VyY2VSb290IjogIi9Vc2Vycy9kdWRrZXZpY2gvam9iL3Byb2plY3RzL2dlbWluaS10ZXN0aW5nL3dlYmRyaXZlcmlvL3BhY2thZ2VzL3dlYmRyaXZlcmlvIiwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogY2hlY2sgaWYgZWxlbWVudCBpcyB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9kYXZpZHRoZWNsYXJrLzU1MTU3MzMjZ2lzdGNvbW1lbnQtMjExMzIwNVxuICpcbiAqIFBsZWFzZSB1cGRhdGUgYGlzRWxlbWVudENsaWNrYWJsZS5qc2AgaWYgdGhlIHNjcmlwdCBpcyB1cGRhdGVkIVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW0gIGVsZW1lbnQgdG8gY2hlY2tcbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICB0cnVlIGlmIGVsZW1lbnQgaXMgd2l0aGluIHZpZXdwb3J0XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzRWxlbWVudEluVmlld3BvcnQgKGVsZW06IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKCFlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCByZWN0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuXG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KVxuICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aClcblxuICAgIGNvbnN0IHZlcnRJblZpZXcgPSAocmVjdC50b3AgPD0gd2luZG93SGVpZ2h0KSAmJiAoKHJlY3QudG9wICsgcmVjdC5oZWlnaHQpID4gMClcbiAgICBjb25zdCBob3JJblZpZXcgPSAocmVjdC5sZWZ0IDw9IHdpbmRvd1dpZHRoKSAmJiAoKHJlY3QubGVmdCArIHJlY3Qud2lkdGgpID4gMClcblxuICAgIHJldHVybiAodmVydEluVmlldyAmJiBob3JJblZpZXcpXG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBUWUsU0FBUixvQkFBc0MsTUFBbUI7QUFDNUQsTUFBSSxDQUFDLEtBQUssdUJBQXVCO0FBQzdCLFdBQU87QUFBQSxFQUNYO0FBRUEsUUFBTSxPQUFPLEtBQUssc0JBQXNCO0FBRXhDLFFBQU0sZUFBZ0IsT0FBTyxlQUFlLFNBQVMsZ0JBQWdCO0FBQ3JFLFFBQU0sY0FBZSxPQUFPLGNBQWMsU0FBUyxnQkFBZ0I7QUFFbkUsUUFBTSxhQUFjLEtBQUssT0FBTyxnQkFBbUIsS0FBSyxNQUFNLEtBQUssU0FBVTtBQUM3RSxRQUFNLFlBQWEsS0FBSyxRQUFRLGVBQWtCLEtBQUssT0FBTyxLQUFLLFFBQVM7QUFFNUUsU0FBUSxjQUFjO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=