UNPKG

react-media

Version:
2 lines (1 loc) 5.49 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):e.ReactMedia=t(e.React)}(this,function(i){"use strict";function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}i=i&&i.hasOwnProperty("default")?i.default:i;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;(function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}})()&&Object.assign;function r(){}var o,u=(function(e){e.exports=function(){function e(e,t,n,r,o,i){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==i){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}var n={array:e.isRequired=e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n}()}(o={exports:{}},o.exports),o.exports),f=function(e,t,n,r,o,i,a,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,i,a,s],f=0;(c=new Error(t.replace(/%s/g,function(){return u[f++]}))).name="Invariant Violation"}throw c.framesToPop=1,c}},p=function(e){return e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}).toLowerCase()},h=function(r){var o="",i=Object.keys(r);return i.forEach(function(e,t){var n=r[e];e=p(e),/[height|width]$/.test(e)&&"number"==typeof n&&(n+="px"),o+=!0===n?e:!1===n?"not "+e:"("+e+": "+n+")",t<i.length-1&&(o+=" and ")}),o},l=function(n){var r="";return"string"==typeof n?n:n instanceof Array?(n.forEach(function(e,t){r+=h(e),t<n.length-1&&(r+=", ")}),r):h(n)},d=function(){function e(e,t,n){var r=this;this.nativeMediaQueryList=e.matchMedia(t),this.active=!0,this.cancellableListener=function(){r.matches=r.nativeMediaQueryList.matches,r.active&&n.apply(void 0,arguments)},this.nativeMediaQueryList.addListener(this.cancellableListener),this.matches=this.nativeMediaQueryList.matches}return e.prototype.cancel=function(){this.active=!1,this.nativeMediaQueryList.removeListener(this.cancellableListener)},e}(),y=u.oneOfType([u.string,u.object,u.arrayOf(u.object.isRequired)]),b=function(n){var e,t;function r(e){var r,t;return c(s(s(r=n.call(this,e)||this)),"queries",[]),c(s(s(r)),"getMatches",function(){var e,t,n=r.queries.reduce(function(e,t){var n,r=t.name,o=t.mqListener;return a({},e,((n={})[r]=o.matches,n))},{});return e=n,1!==(t=Object.keys(e)).length||"__DEFAULT__"!==t[0]?e:e.__DEFAULT__}),c(s(s(r)),"updateMatches",function(){var e=r.getMatches();r.setState(function(){return{matches:e}},r.onChange)}),e.query||e.queries||e.query&&e.queries||f(!1),void 0!==e.defaultMatches&&e.query&&"boolean"!=typeof e.defaultMatches&&f(!1),void 0!==e.defaultMatches&&e.queries&&"object"!=typeof e.defaultMatches&&f(!1),"object"!=typeof window?(t=void 0!==e.defaultMatches?e.defaultMatches:!!e.query||Object.keys(r.props.queries).reduce(function(e,t){var n;return a({},e,((n={})[t]=!0,n))},{}),r.state={matches:t},s(r)):(r.initialize(),r.state={matches:void 0!==r.props.defaultMatches?r.props.defaultMatches:r.getMatches()},r.onChange(),r)}t=n,(e=r).prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t;var o=r.prototype;return o.initialize=function(){var r=this,o=this.props.targetWindow||window;"function"!=typeof o.matchMedia&&f(!1);var i=this.props.queries||{__DEFAULT__:this.props.query};this.queries=Object.keys(i).map(function(e){var t=i[e],n="string"!=typeof t?l(t):t;return{name:e,mqListener:new d(o,n,r.updateMatches)}})},o.componentDidMount=function(){this.initialize(),void 0!==this.props.defaultMatches&&this.updateMatches()},o.onChange=function(){var e=this.props.onChange;e&&e(this.state.matches)},o.componentWillUnmount=function(){this.queries.forEach(function(e){return e.mqListener.cancel()})},o.render=function(){var e=this.props,t=e.children,n=e.render,r=this.state.matches,o="object"==typeof r?Object.keys(r).some(function(e){return r[e]}):r;return n?o?n(r):null:t?"function"==typeof t?t(r):(!Array.isArray(t)||t.length)&&o?i.Children.only(t)&&"string"==typeof i.Children.only(t).type?i.Children.only(t):i.cloneElement(i.Children.only(t),{matches:r}):null:null},r}(i.Component);return c(b,"propTypes",{defaultMatches:u.oneOfType([u.bool,u.objectOf(u.bool)]),query:y,queries:u.objectOf(y),render:u.func,children:u.oneOfType([u.node,u.func]),targetWindow:u.object,onChange:u.func}),b});