UNPKG

styled-components-breakpoint

Version:

Utility functions for creating breakpoints in `styled-components` 💅.

3 lines (2 loc) • 1.98 kB
import{css as n}from"styled-components";var e={mobile:0,tablet:737,desktop:1195},t=function(n){return n/16},r=Object.freeze(["\n @media screen and (min-width: ","em) {\n ","\n }\n "]),o=Object.freeze(["\n @media screen and (min-width: ","em) and (max-width: ","em) {\n ","\n }\n "]),i=function(n,e){return e in n?n[e]:(console.error('styled-components-breakpoint: Breakpoint "'+e+'" was not found.'),0)},a=function(e){return function(a,c){return function(u){for(var f=[],s=arguments.length-1;s-- >0;)f[s]=arguments[s+1];if(a&&c){var p=i(e,a),d=i(e,c);return n(o,t(p),t(d-1),n.apply(void 0,[u].concat(f)))}var y=i(e,a);return 0===y?n.apply(void 0,[u].concat(f)):n(r,t(y),n.apply(void 0,[u].concat(f)))}}},c=function(n,t){return function(r){for(var o=[],i=arguments.length-1;i-- >0;)o[i]=arguments[i+1];return function(i){return a((c=i.theme)&&c.breakpoints?c.breakpoints:e)(n,t)(r,o);var c}}},u=function(n,e){var t=Object.keys(n),r=-1;Object.keys(e).some(function(n){var o=t.indexOf(n);return-1!==o&&o<=r?(console.warn("styled-components-breakpoint: Values for "+JSON.stringify(e)+" are not keyed in order ("+t.map(function(n){return'"'+n+'"'}).join(", ")+") and may result in specificity issues."),!0):(r=o,!1)})};function f(e,t,r,o){var i=a(e);if("object"!=typeof t){var c=r(t);return"string"==typeof c||Array.isArray(c)?c:n(c)}return"production"!==process.env.NODE_ENV&&u(e,t),Object.keys(t).map(function(n){var e=i(n),a=t[n];if(void 0===a)return"";var c=r(a,o);return"string"==typeof c||Array.isArray(c)?e([],c):e(c)})}var s=function(n){return function(e,t,r){return"object"!=typeof n||"object"!=typeof r?function(o){var i="object"!=typeof n?n(o.theme):n,a=void 0!==r&&"object"!=typeof r?r(o.theme):r;return f(i,e,t,a)}:f(n,e,t,r)}},p=s(function(n){return n.breakpoints||e});export default c;export{e as defaults,a as createBreakpoint,c as breakpoint,s as createMap,p as map}; //# sourceMappingURL=index.m.js.map