UNPKG

@dimanoid/ngx-dm-tour

Version:

32 lines 3.69 kB
/** * @fileoverview added by tsickle * Generated from: lib/utils/elems.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} elem * @return {?} */ export function isElemVisible(elem) { if (!(!!elem && !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length))) { return false; } const { top, left, height, width } = elem.getBoundingClientRect(); /** @type {?} */ let el = elem.parentNode; do { /** @type {?} */ const rect = el.getBoundingClientRect(); if (rect.height > 0 && rect.width > 0) { if ((top <= rect.bottom === false) || ((top + height) <= rect.top) || (left <= rect.right === false) || ((left + width) <= rect.left)) { return false; } } el = el.parentNode; } while (el != document.body); return top <= document.documentElement.clientHeight && left <= document.documentElement.clientWidth; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGltYW5vaWQvbmd4LWRtLXRvdXIvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvZWxlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFpQjtJQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtRQUN4RixPQUFPLEtBQUssQ0FBQztLQUNoQjtVQUNLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFOztRQUM3RCxFQUFFLEdBQVEsSUFBSSxDQUFDLFVBQVU7SUFDN0IsR0FBRzs7Y0FDTyxJQUFJLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFFO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDbkMsSUFDSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQzttQkFDM0IsQ0FBQyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDO21CQUM1QixDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQzttQkFDOUIsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ2xDO2dCQUNFLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1NBQ0o7UUFDRCxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUN0QixRQUFRLEVBQUUsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO0lBQzlCLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztBQUN4RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbVZpc2libGUoZWxlbTogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAoISghIWVsZW0gJiYgISEoZWxlbS5vZmZzZXRXaWR0aCB8fCBlbGVtLm9mZnNldEhlaWdodCB8fCBlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoKSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IHRvcCwgbGVmdCwgaGVpZ2h0LCB3aWR0aCB9ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBsZXQgZWw6IGFueSA9IGVsZW0ucGFyZW50Tm9kZTtcbiAgICBkbyB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHJlY3QuaGVpZ2h0ID4gMCAmJiByZWN0LndpZHRoID4gMCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICh0b3AgPD0gcmVjdC5ib3R0b20gPT09IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8ICgodG9wICsgaGVpZ2h0KSA8PSByZWN0LnRvcClcbiAgICAgICAgICAgICAgICB8fCAobGVmdCA8PSByZWN0LnJpZ2h0ID09PSBmYWxzZSlcbiAgICAgICAgICAgICAgICB8fCAoKGxlZnQgKyB3aWR0aCkgPD0gcmVjdC5sZWZ0KVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsID0gZWwucGFyZW50Tm9kZTtcbiAgICB9IHdoaWxlIChlbCAhPSBkb2N1bWVudC5ib2R5KTtcbiAgICByZXR1cm4gdG9wIDw9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgJiYgbGVmdCA8PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7XG59XG4iXX0=