{"browsers":{"ie":"6 - 8"},"dependencies":["Object.defineProperties"],"aliases":["viewport","innerHeight","innerWidth","pageXOffset","pageYOffset","scrollX","scrollY"],"baseDir":"~viewport","hasTests":false,"rawSource":"\n// ~viewport\n(function (global) {\n\tvar doc = global.document;\n\tvar docEl = doc.documentElement;\n\tvar body = doc.body || doc.createElement('body');\n\n\tfunction scrollX() {\n\t\treturn (docEl.scrollLeft || body.scrollLeft || 0) - (docEl.clientLeft || body.clientLeft || 0);\n\t}\n\n\tfunction scrollY() {\n\t\treturn (docEl.scrollTop || body.scrollTop || 0) - (docEl.clientTop || body.clientTop || 0);\n\t}\n\n\tfunction setStatically() {\n\t\twindow.scrollX = window.pageXOffset = scrollX();\n\t\twindow.scrollY = window.pageYOffset = scrollY();\n\t\twindow.innerWidth = docEl.clientWidth;\n\t\twindow.innerHeight = docEl.clientHeight;\n\t}\n\n\ttry {\n\t\tObject.defineProperties(global, {\n\t\t\t'innerWidth': {\n\t\t\t\tget: function () {\n\t\t\t\t\treturn docEl.clientWidth;\n\t\t\t\t}\n\t\t\t},\n\t\t\t'innerHeight': {\n\t\t\t\tget: function () {\n\t\t\t\t\treturn docEl.clientHeight;\n\t\t\t\t}\n\t\t\t},\n\t\t\t'pageXOffset': {\n\t\t\t\tget: scrollX\n\t\t\t},\n\t\t\t'pageYOffset': {\n\t\t\t\tget: scrollY\n\t\t\t},\n\t\t\t'scrollX': {\n\t\t\t\tget: scrollX\n\t\t\t},\n\t\t\t'scrollY': {\n\t\t\t\tget: scrollY\n\t\t\t}\n\t\t});\n\t} catch(e) {\n\t\twindow.attachEvent('onresize', setStatically);\n\t\twindow.attachEvent('onscroll', setStatically);\n\t\tsetStatically();\n\t}\n})(this);\n","minSource":"!function(t){function e(){return(c.scrollLeft||l.scrollLeft||0)-(c.clientLeft||l.clientLeft||0)}function n(){return(c.scrollTop||l.scrollTop||0)-(c.clientTop||l.clientTop||0)}function i(){window.scrollX=window.pageXOffset=e(),window.scrollY=window.pageYOffset=n(),window.innerWidth=c.clientWidth,window.innerHeight=c.clientHeight}var o=t.document,c=o.documentElement,l=o.body||o.createElement(\"body\");try{Object.defineProperties(t,{innerWidth:{get:function(){return c.clientWidth}},innerHeight:{get:function(){return c.clientHeight}},pageXOffset:{get:e},pageYOffset:{get:n},scrollX:{get:e},scrollY:{get:n}})}catch(r){window.attachEvent(\"onresize\",i),window.attachEvent(\"onscroll\",i),i()}}(this);","detectSource":"'innerHeight' in this && 'innerWidth' in this && 'pageXOffset' in this && 'pageYOffset' in this && 'scrollX' in this && 'scrollY' in this"}