UNPKG

desktop-viewport

Version:

Hastily makes desktop browsers respect the viewport setting

2 lines 3.35 kB
/*! 🗜 desktop-viewport 🗜 – https://github.com/walaura/desktop-viewport */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.desktopViewport=t():e.desktopViewport=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t,n){"use strict";!function(t,n){e.exports=n}(window.document,function(e){var t=document,n=window,o=/^loaded|^i|^c/.test(t.readyState),r="DOMContentLoaded",i="load";return new Promise(function(s){function d(){s(e),t.removeEventListener(r,d),n.removeEventListener(i,d)}return o?s(e):(t.addEventListener(r,d),void n.addEventListener(i,d))})})},function(e,t,n){"use strict";e.exports={defaults:{container:"#container",viewport:"viewport",autoLoad:!0,extraOptimization:!1}}},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e){e||(e=window.desktopViewportSettings?window.desktopViewportSettings:{});try{e=i({},d.default.defaults,e)}catch(t){console.error(t),e=d.default.defaults}if("viewport"===e.viewport){var t=document.querySelector("meta[name=viewport]").content.split(",").map(function(e){return e.trim().split("=")}).filter(function(e){return"width"===e[0]})[0];t&&t[1]&&!isNaN(parseInt(t[1]))?e.viewport=parseInt(t[1]):e.viewport=960}var n=document.querySelector(e.container),o=document.querySelector("body"),r=!1,s=function t(){if(document.body.clientWidth===e.viewport){var i=function e(){window.removeEventListener("resize",e,!1),t()};return void window.addEventListener("resize",i,!1)}u(),r||(o.style.overflowX="hidden",e.extraOptimization&&(o.style.willChange="transform",o.style.height="100%"),n.style.transformOrigin="0 0",window.addEventListener("resize",function(){var t=window.scrollY/c.scaleMultiplier;c.scaleMultiplier=window.innerWidth/e.viewport,n.style.transform="scale("+c.scaleMultiplier+")",window.scrollTo(window.scrollX,t*c.scaleMultiplier)},!0),window.dispatchEvent(new Event("resize"))),r=!0},u=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e.viewport;e.viewport=t,n.style.width=e.viewport+"px",n.style.height="auto",n.style.position="static";var o=function(){"complete"===document.readyState&&(n.style.height=n.offsetHeight+"px",n.style.position="absolute",n.style.overflow="hidden",window.dispatchEvent(new Event("resize")))};o(),window.document.addEventListener("readystatechange",o,!1)},c={scaleMultiplier:window.innerWidth/e.viewport,bind:s,rescale:u};return e.autoLoad&&(0,a.default)().then(s),c}var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},s=n(1),d=o(s),u=n(0),a=o(u);e.exports=r}])}),window.desktopViewport&&"function"==typeof window.desktopViewport&&(window.desktopViewport=window.desktopViewport());