"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
function _export(target, all) {
    for(var name in all)Object.defineProperty(target, name, {
        enumerable: true,
        get: all[name]
    });
}
_export(exports, {
    getRect: function() {
        return getRect;
    },
    inBrowser: function() {
        return inBrowser;
    },
    isWindow: function() {
        return isWindow;
    }
});
var inBrowser = typeof document !== 'undefined' && !!document.scripts;
function isWindow(val) {
    return val === window;
}
var getRect = function getRect(elementRef) {
    var element = elementRef;
    if (isWindow(element)) {
        var width = element.innerWidth;
        var height = element.innerHeight;
        return {
            top: 0,
            left: 0,
            right: width,
            bottom: height,
            width: width,
            height: height
        };
    }
    if (element && element.getBoundingClientRect) {
        return element.getBoundingClientRect();
    }
    return {
        top: 0,
        left: 0,
        right: 0,
        bottom: 0,
        width: 0,
        height: 0
    };
};
