viewport-extra
Version:
Enable setting minimum and maximum viewport width
3 lines (2 loc) • 2.33 kB
JavaScript
/*! Viewport Extra v3.0.0 | (c) dsktschy | MIT License */
var ViewportExtra=function(t){"use strict";var n=function(){return n=Object.assign||function(t){for(var n,e=1,i=arguments.length;e<i;e++)for(var r in n=arguments[e])Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t},n.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var e={width:"device-width",initialScale:1,minimumWidth:0,maximumWidth:1/0},i=function(t,i,r){void 0===t&&(t=n({},e)),void 0===i&&(i=0),void 0===r&&(r=0);var o=t.width,a=t.initialScale,c=t.minimumWidth,u=t.maximumWidth,d=t.minWidth,m=t.maxWidth,l=function(t,n){var e={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&n.indexOf(i)<0&&(e[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(t);r<i.length;r++)n.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(e[i[r]]=t[i[r]])}return e}(t,["minimumWidth","maximumWidth","minWidth","maxWidth"]),p=null!=d?d:c,f=null!=m?m:u;return p<=f&&"device-width"===o&&(i<p?(l.width=p,l.initialScale=i/p*a):i>f&&(l.width=f,l.initialScale=i/f*a)),Object.keys(l).map(function(t){return"".concat((n=t,n.replace(/\s+/g,"").replace(/[A-Z]+/g,function(t){return"-".concat(t[0])}).toLowerCase()),"=").concat("number"==typeof l[t]?function(t,n){return isFinite(n)?function(t){return(t<0?Math.ceil:Math.floor)(t)}(t*Math.pow(10,n))/Math.pow(10,n):t}(l[t],r):l[t]);var n}).sort().join(",")},r=function(t){return void 0===t&&(t={}),{content:(r=t.content,void 0===r&&(r={}),n(n({},e),r)),media:(i=t.media,null!=i?i:"")};var i,r},o=function(t,n,e){return t&&void 0!==n&&void 0!==e?i(t.content,n,e):i()},a=function(t,n){return t.setAttribute("content",n)};return t.apply=function(t){var e,i,c;"undefined"!=typeof window&&(e=function(t){var n=t.querySelector('meta[name="viewport"]');if(n)return n;var e=t.createElement("meta");return e.setAttribute("name","viewport"),t.head.appendChild(e),e}(document),a(e,o()),a(e,o(r(t.reduce((c=matchMedia,i=function(t){return void 0===t||c(t).matches},function(t,e){return i(e.media)?function(t,e){var i,r,o,a={},c=(r=e.content,(i=t.content)?n(n({},i),null!=r?r:{}):r),u=null!=(o=e.media)?o:t.media;return c&&(a.content=c),void 0!==u&&(a.media=u),a}(t,e):t}),r())),document.documentElement.clientWidth,1/0)))},t}({});