viewport-extra
Version:
Enable setting minimum and maximum viewport width
3 lines (2 loc) • 2.5 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=1/0,i={width:"device-width",initialScale:1,minimumWidth:0,maximumWidth:1/0},r=function(t,e,r){void 0===t&&(t=n({},i)),void 0===e&&(e=0),void 0===r&&(r=0);var o=t.width,a=t.initialScale,c=t.minimumWidth,u=t.maximumWidth,d=t.minWidth,l=t.maxWidth,m=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"]),f=null!=d?d:c,p=null!=l?l:u;return f<=p&&"device-width"===o&&(e<f?(m.width=f,m.initialScale=e/f*a):e>p&&(m.width=p,m.initialScale=e/p*a)),Object.keys(m).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 m[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}(m[t],r):m[t]);var n}).sort().join(",")},o=function(t){return void 0===t&&(t={}),{content:(r=t.content,void 0===r&&(r={}),n(n({},i),r)),media:(e=t.media,null!=e?e:"")};var e,r},a=function(t,n,e){return t&&void 0!==n&&void 0!==e?r(t.content,n,e):r()},c=function(t,n){return t.setAttribute("content",n)};return t.apply=function(t,i){var r,u,d,l;void 0===i&&(i={}),"undefined"!=typeof window&&(r=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),u=function(t){return void 0===t&&(t={}),{decimalPlaces:(n=t.decimalPlaces,null!=n?n:e)};var n}(i),c(r,a()),c(r,a(o(t.reduce((l=matchMedia,d=function(t){return void 0===t||l(t).matches},function(t,e){return d(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}),o())),document.documentElement.clientWidth,function(t){return t.decimalPlaces}(u))))},t}({});