UNPKG

viewport-extra

Version:

Enable setting minimum and maximum viewport width

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