diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f1fbaf..8bb3077 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## Change Log +### upcoming (2017/11/21 19:55 +00:00) +- [6908332](https://github.com/contra/react-responsive/commit/6908332218359646416d568c75bf6ef7e974b82f) maybe fixes #134 (@contra) + ### v4.0.0 (2017/11/16 00:14 +00:00) - [b78938d](https://github.com/contra/react-responsive/commit/b78938d9f51dea13cc14e3227fce3694cde9dc63) 4.0.0 (@contra) - [bd1c554](https://github.com/contra/react-responsive/commit/bd1c5547a30483367479803799f264d160d86a1e) deps (@contra) @@ -41,11 +44,11 @@ - [1d19af9](https://github.com/contra/react-responsive/commit/1d19af9a5e6ddf5baf11eb27f455165430cdd405) Update README.txt (@vpicone) - [bb69da2](https://github.com/contra/react-responsive/commit/bb69da2e74b615132dd30c4eecad2b88080e5287) support react 16. (@whatknight) - [e78cab9](https://github.com/contra/react-responsive/commit/e78cab9fafceb30195ffca6858df35560f3675b6) bump sinon (@whatknight) -- [8380bd9](https://github.com/contra/react-responsive/commit/8380bd91c3fbb73957f7410bd2512266f7c7053a) update webpack (@whatknight) - [9429386](https://github.com/contra/react-responsive/commit/9429386ce0891c1904baadf725837e0a3f282746) remove transform runtime (@whatknight) +- [8380bd9](https://github.com/contra/react-responsive/commit/8380bd91c3fbb73957f7410bd2512266f7c7053a) update webpack (@whatknight) +- [48b2a33](https://github.com/contra/react-responsive/commit/48b2a33ad9a6c61fbbbac6dad6f54838f949d61a) update test deps (@whatknight) - [307b31d](https://github.com/contra/react-responsive/commit/307b31d16cf4d336f50ad4c53739166e4bd1d80e) update babel config (@whatknight) - [81d9d18](https://github.com/contra/react-responsive/commit/81d9d181d08634527b49bb62c66f5b2c72e606f1) update eslint (@whatknight) -- [48b2a33](https://github.com/contra/react-responsive/commit/48b2a33ad9a6c61fbbbac6dad6f54838f949d61a) update test deps (@whatknight) - [#117](https://github.com/contra/react-responsive/pull/117) Update README.md (@modosc) - [0b4d019](https://github.com/contra/react-responsive/commit/0b4d0197d1011c3e5899cc6003556a6526350bc1) Update README.md (@modosc) - [c55a77e](https://github.com/contra/react-responsive/commit/c55a77ec86c2db7d2aae4a3e67a08dba09a3a455) closes #116 (@contra) diff --git a/dist/react-responsive.js b/dist/react-responsive.js index 5494a66..d466a74 100644 --- a/dist/react-responsive.js +++ b/dist/react-responsive.js @@ -1,1615 +1,750 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("react")); - else if(typeof define === 'function' && define.amd) - define(["react"], factory); - else if(typeof exports === 'object') - exports["MediaQuery"] = factory(require("react")); - else - root["MediaQuery"] = factory(root["react"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_8__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 7); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -if (true) { - var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && - Symbol.for && - Symbol.for('react.element')) || - 0xeac7; - - var isValidElement = function(object) { - return typeof object === 'object' && - object !== null && - object.$$typeof === REACT_ELEMENT_TYPE; - }; - - // By explicitly using `prop-types` you are opting into new development behavior. - // http://fb.me/prop-types-in-prod - var throwOnDirectAccess = true; - module.exports = __webpack_require__(9)(isValidElement, throwOnDirectAccess); -} else { - // By explicitly using `prop-types` you are opting into new production behavior. - // http://fb.me/prop-types-in-prod - module.exports = require('./factoryWithThrowingShims')(); -} - - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - -function makeEmptyFunction(arg) { - return function () { - return arg; - }; -} - -/** - * This function accepts and discards inputs; it has no side effects. This is - * primarily useful idiomatically for overridable function endpoints which - * always need to be callable, since JS lacks a null-call idiom ala Cocoa. - */ -var emptyFunction = function emptyFunction() {}; - -emptyFunction.thatReturns = makeEmptyFunction; -emptyFunction.thatReturnsFalse = makeEmptyFunction(false); -emptyFunction.thatReturnsTrue = makeEmptyFunction(true); -emptyFunction.thatReturnsNull = makeEmptyFunction(null); -emptyFunction.thatReturnsThis = function () { - return this; -}; -emptyFunction.thatReturnsArgument = function (arg) { - return arg; -}; - -module.exports = emptyFunction; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var validateFormat = function validateFormat(format) {}; - -if (true) { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - }; -} - -function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); - - if (!condition) { - var error; - if (format === undefined) { - error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error(format.replace(/%s/g, function () { - return args[argIndex++]; - })); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -} - -module.exports = invariant; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var emptyFunction = __webpack_require__(1); - -/** - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. - */ - -var warning = emptyFunction; - -if (true) { - var printWarning = function printWarning(format) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var argIndex = 0; - var message = 'Warning: ' + format.replace(/%s/g, function () { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // --- Welcome to debugging React --- - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - }; - - warning = function warning(condition, format) { - if (format === undefined) { - throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); - } - - if (format.indexOf('Failed Composite propType: ') === 0) { - return; // Ignore CompositeComponent proptype check. - } - - if (!condition) { - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - printWarning.apply(undefined, [format].concat(args)); - } - }; -} - -module.exports = warning; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var uppercasePattern = /[A-Z]/g; -var msPattern = /^ms-/; -var cache = {}; - -function hyphenateStyleName(string) { - return string in cache - ? cache[string] - : cache[string] = string - .replace(uppercasePattern, '-$&') - .toLowerCase() - .replace(msPattern, '-ms-'); -} - -module.exports = hyphenateStyleName; - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _propTypes = __webpack_require__(0); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var stringOrNumber = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]); - -// properties that match media queries -var matchers = { - orientation: _propTypes2.default.oneOf(['portrait', 'landscape']), - - scan: _propTypes2.default.oneOf(['progressive', 'interlace']), - - aspectRatio: _propTypes2.default.string, - deviceAspectRatio: _propTypes2.default.string, - - height: stringOrNumber, - deviceHeight: stringOrNumber, - - width: stringOrNumber, - deviceWidth: stringOrNumber, - - color: _propTypes2.default.bool, - - colorIndex: _propTypes2.default.bool, - - monochrome: _propTypes2.default.bool, - resolution: stringOrNumber - - // media features -};var features = _extends({ - minAspectRatio: _propTypes2.default.string, - maxAspectRatio: _propTypes2.default.string, - minDeviceAspectRatio: _propTypes2.default.string, - maxDeviceAspectRatio: _propTypes2.default.string, - - minHeight: stringOrNumber, - maxHeight: stringOrNumber, - minDeviceHeight: stringOrNumber, - maxDeviceHeight: stringOrNumber, - - minWidth: stringOrNumber, - maxWidth: stringOrNumber, - minDeviceWidth: stringOrNumber, - maxDeviceWidth: stringOrNumber, - - minColor: _propTypes2.default.number, - maxColor: _propTypes2.default.number, - - minColorIndex: _propTypes2.default.number, - maxColorIndex: _propTypes2.default.number, - - minMonochrome: _propTypes2.default.number, - maxMonochrome: _propTypes2.default.number, - - minResolution: stringOrNumber, - maxResolution: stringOrNumber - -}, matchers); - -// media types -var types = { - all: _propTypes2.default.bool, - grid: _propTypes2.default.bool, - aural: _propTypes2.default.bool, - braille: _propTypes2.default.bool, - handheld: _propTypes2.default.bool, - print: _propTypes2.default.bool, - projection: _propTypes2.default.bool, - screen: _propTypes2.default.bool, - tty: _propTypes2.default.bool, - tv: _propTypes2.default.bool, - embossed: _propTypes2.default.bool -}; - -var all = _extends({}, types, features); - -// add the type property -matchers.type = Object.keys(types); - -exports.default = { - all: all, - types: types, - matchers: matchers, - features: features -}; -module.exports = exports['default']; - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.toQuery = exports.default = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = __webpack_require__(8); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(0); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _matchmediaquery = __webpack_require__(12); - -var _matchmediaquery2 = _interopRequireDefault(_matchmediaquery); - -var _hyphenateStyleName = __webpack_require__(5); - -var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName); - -var _mediaQuery = __webpack_require__(6); - -var _mediaQuery2 = _interopRequireDefault(_mediaQuery); - -var _toQuery = __webpack_require__(14); - -var _toQuery2 = _interopRequireDefault(_toQuery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var defaultTypes = { - component: _propTypes2.default.node, - query: _propTypes2.default.string, - values: _propTypes2.default.shape(_mediaQuery2.default.matchers), - children: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]), - onChange: _propTypes2.default.func, - onBeforeChange: _propTypes2.default.func -}; -var mediaKeys = Object.keys(_mediaQuery2.default.all); -var excludedQueryKeys = Object.keys(defaultTypes); -var excludedPropKeys = excludedQueryKeys.concat(mediaKeys); - -function omit(object, keys) { - var newObject = _extends({}, object); - keys.forEach(function (key) { - return delete newObject[key]; - }); - return newObject; -} - -var MediaQuery = function (_React$Component) { - _inherits(MediaQuery, _React$Component); - - function MediaQuery() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, MediaQuery); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MediaQuery.__proto__ || Object.getPrototypeOf(MediaQuery)).call.apply(_ref, [this].concat(args))), _this), _this.state = { matches: false }, _this.updateMatches = function () { - if (_this._mql.matches === _this.state.matches) { - return; - } - _this.setState({ - matches: _this._mql.matches - }); - }, _this.removeMql = function () { - if (_this._mql) { - _this._mql.removeListener(_this.updateMatches); - _this._mql.dispose(); - } - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(MediaQuery, [{ - key: 'componentWillMount', - value: function componentWillMount() { - this.updateQuery(this.props); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - this.updateQuery(nextProps); - } - }, { - key: 'updateQuery', - value: function updateQuery(props) { - var values = void 0; - if (props.query) { - this.query = props.query; - } else { - this.query = (0, _toQuery2.default)(omit(props, excludedQueryKeys)); - } - - if (!this.query) { - throw new Error('Invalid or missing MediaQuery!'); - } - - if (props.values) { - values = Object.keys(props.values).reduce(function (result, key) { - result[(0, _hyphenateStyleName2.default)(key)] = props.values[key]; - return result; - }, {}); - } - - this.removeMql(); - - this._mql = (0, _matchmediaquery2.default)(this.query, values); - this._mql.addListener(this.updateMatches); - this.updateMatches(); - } - }, { - key: 'componentWillUpdate', - value: function componentWillUpdate(_, nextState) { - if (this.props.onBeforeChange && this.state.matches !== nextState.matches) { - this.props.onBeforeChange(this.state.matches); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(_, prevState) { - if (this.props.onChange && prevState.matches !== this.state.matches) { - this.props.onChange(this.state.matches); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - this.removeMql(); - } - }, { - key: 'render', - value: function render() { - if (typeof this.props.children === 'function') { - return this.props.children(this.state.matches); - } - - if (this.state.matches === false) { - return null; - } - var props = omit(this.props, excludedPropKeys); - var hasMergeProps = Object.keys(props).length > 0; - var childrenCount = _react2.default.Children.count(this.props.children); - var wrapChildren = this.props.component || this.props.children === undefined; - if (wrapChildren) { - return _react2.default.createElement(this.props.component || 'div', props, this.props.children); - } else if (hasMergeProps) { - return _react2.default.cloneElement(this.props.children, props); - } else if (childrenCount) { - return this.props.children; - } else { - return null; - } - } - }]); - - return MediaQuery; -}(_react2.default.Component); - -MediaQuery.displayName = 'MediaQuery'; -MediaQuery.defaultProps = { - values: {} -}; -exports.default = MediaQuery; -exports.toQuery = _toQuery2.default; - -/***/ }), -/* 8 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_8__; - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var emptyFunction = __webpack_require__(1); -var invariant = __webpack_require__(2); -var warning = __webpack_require__(3); -var assign = __webpack_require__(10); - -var ReactPropTypesSecret = __webpack_require__(4); -var checkPropTypes = __webpack_require__(11); - -module.exports = function(isValidElement, throwOnDirectAccess) { - /* global Symbol */ - var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; - var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. - - /** - * Returns the iterator method function contained on the iterable object. - * - * Be sure to invoke the function with the iterable as context: - * - * var iteratorFn = getIteratorFn(myIterable); - * if (iteratorFn) { - * var iterator = iteratorFn.call(myIterable); - * ... - * } - * - * @param {?object} maybeIterable - * @return {?function} - */ - function getIteratorFn(maybeIterable) { - var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); - if (typeof iteratorFn === 'function') { - return iteratorFn; - } - } - - /** - * Collection of methods that allow declaration and validation of props that are - * supplied to React components. Example usage: - * - * var Props = require('ReactPropTypes'); - * var MyArticle = React.createClass({ - * propTypes: { - * // An optional string prop named "description". - * description: Props.string, - * - * // A required enum prop named "category". - * category: Props.oneOf(['News','Photos']).isRequired, - * - * // A prop named "dialog" that requires an instance of Dialog. - * dialog: Props.instanceOf(Dialog).isRequired - * }, - * render: function() { ... } - * }); - * - * A more formal specification of how these methods are used: - * - * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) - * decl := ReactPropTypes.{type}(.isRequired)? - * - * Each and every declaration produces a function with the same signature. This - * allows the creation of custom validation functions. For example: - * - * var MyLink = React.createClass({ - * propTypes: { - * // An optional string or URI prop named "href". - * href: function(props, propName, componentName) { - * var propValue = props[propName]; - * if (propValue != null && typeof propValue !== 'string' && - * !(propValue instanceof URI)) { - * return new Error( - * 'Expected a string or an URI for ' + propName + ' in ' + - * componentName - * ); - * } - * } - * }, - * render: function() {...} - * }); - * - * @internal - */ - - var ANONYMOUS = '<>'; - - // Important! - // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. - var ReactPropTypes = { - array: createPrimitiveTypeChecker('array'), - bool: createPrimitiveTypeChecker('boolean'), - func: createPrimitiveTypeChecker('function'), - number: createPrimitiveTypeChecker('number'), - object: createPrimitiveTypeChecker('object'), - string: createPrimitiveTypeChecker('string'), - symbol: createPrimitiveTypeChecker('symbol'), - - any: createAnyTypeChecker(), - arrayOf: createArrayOfTypeChecker, - element: createElementTypeChecker(), - instanceOf: createInstanceTypeChecker, - node: createNodeChecker(), - objectOf: createObjectOfTypeChecker, - oneOf: createEnumTypeChecker, - oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker, - exact: createStrictShapeTypeChecker, - }; - - /** - * inlined Object.is polyfill to avoid requiring consumers ship their own - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is - */ - /*eslint-disable no-self-compare*/ - function is(x, y) { - // SameValue algorithm - if (x === y) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - return x !== 0 || 1 / x === 1 / y; - } else { - // Step 6.a: NaN == NaN - return x !== x && y !== y; - } - } - /*eslint-enable no-self-compare*/ - - /** - * We use an Error-like object for backward compatibility as people may call - * PropTypes directly and inspect their output. However, we don't use real - * Errors anymore. We don't inspect their stack anyway, and creating them - * is prohibitively expensive if they are created too often, such as what - * happens in oneOfType() for any type before the one that matched. - */ - function PropTypeError(message) { - this.message = message; - this.stack = ''; - } - // Make `instanceof Error` still work for returned errors. - PropTypeError.prototype = Error.prototype; - - function createChainableTypeChecker(validate) { - if (true) { - var manualPropTypeCallCache = {}; - var manualPropTypeWarningCount = 0; - } - function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { - componentName = componentName || ANONYMOUS; - propFullName = propFullName || propName; - - if (secret !== ReactPropTypesSecret) { - if (throwOnDirectAccess) { - // New behavior only for users of `prop-types` package - invariant( - false, - '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' - ); - } else if ("development" !== 'production' && typeof console !== 'undefined') { - // Old behavior for people using React.PropTypes - var cacheKey = componentName + ':' + propName; - if ( - !manualPropTypeCallCache[cacheKey] && - // Avoid spamming the console because they are often not actionable except for lib authors - manualPropTypeWarningCount < 3 - ) { - warning( - false, - 'You are manually calling a React.PropTypes validation ' + - 'function for the `%s` prop on `%s`. This is deprecated ' + - 'and will throw in the standalone `prop-types` package. ' + - 'You may be seeing this warning due to a third-party PropTypes ' + - 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', - propFullName, - componentName - ); - manualPropTypeCallCache[cacheKey] = true; - manualPropTypeWarningCount++; - } - } - } - if (props[propName] == null) { - if (isRequired) { - if (props[propName] === null) { - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); - } - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); - } - return null; - } else { - return validate(props, propName, componentName, location, propFullName); - } - } - - var chainedCheckType = checkType.bind(null, false); - chainedCheckType.isRequired = checkType.bind(null, true); - - return chainedCheckType; - } - - function createPrimitiveTypeChecker(expectedType) { - function validate(props, propName, componentName, location, propFullName, secret) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== expectedType) { - // `propValue` being instance of, say, date/regexp, pass the 'object' - // check, but we can offer a more precise error message here rather than - // 'of type `object`'. - var preciseType = getPreciseType(propValue); - - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createAnyTypeChecker() { - return createChainableTypeChecker(emptyFunction.thatReturnsNull); - } - - function createArrayOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); - } - var propValue = props[propName]; - if (!Array.isArray(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); - } - for (var i = 0; i < propValue.length; i++) { - var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); - if (error instanceof Error) { - return error; - } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createElementTypeChecker() { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - if (!isValidElement(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createInstanceTypeChecker(expectedClass) { - function validate(props, propName, componentName, location, propFullName) { - if (!(props[propName] instanceof expectedClass)) { - var expectedClassName = expectedClass.name || ANONYMOUS; - var actualClassName = getClassName(props[propName]); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createEnumTypeChecker(expectedValues) { - if (!Array.isArray(expectedValues)) { - true ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; - return emptyFunction.thatReturnsNull; - } - - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - for (var i = 0; i < expectedValues.length; i++) { - if (is(propValue, expectedValues[i])) { - return null; +!function(root, factory) { + "object" == typeof exports && "object" == typeof module ? module.exports = factory(require("react")) : "function" == typeof define && define.amd ? define([ "react" ], factory) : "object" == typeof exports ? exports.MediaQuery = factory(require("react")) : root.MediaQuery = factory(root.react); +}(this, function(__WEBPACK_EXTERNAL_MODULE_8__) { + return function(modules) { + function __webpack_require__(moduleId) { + if (installedModules[moduleId]) return installedModules[moduleId].exports; + var module = installedModules[moduleId] = { + i: moduleId, + l: !1, + exports: {} + }; + return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), + module.l = !0, module.exports; } - } - - var valuesString = JSON.stringify(expectedValues); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); - } - return createChainableTypeChecker(validate); - } - - function createObjectOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); - } - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); - } - for (var key in propValue) { - if (propValue.hasOwnProperty(key)) { - var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error instanceof Error) { - return error; - } + var installedModules = {}; + return __webpack_require__.m = modules, __webpack_require__.c = installedModules, + __webpack_require__.d = function(exports, name, getter) { + __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, { + configurable: !1, + enumerable: !0, + get: getter + }); + }, __webpack_require__.n = function(module) { + var getter = module && module.__esModule ? function() { + return module.default; + } : function() { + return module; + }; + return __webpack_require__.d(getter, "a", getter), getter; + }, __webpack_require__.o = function(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + }, __webpack_require__.p = "", __webpack_require__(__webpack_require__.s = 7); + }([ function(module, exports, __webpack_require__) { + var REACT_ELEMENT_TYPE = "function" == typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103, isValidElement = function(object) { + return "object" == typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + }; + module.exports = __webpack_require__(9)(isValidElement, !0); + }, function(module, exports, __webpack_require__) { + "use strict"; + function makeEmptyFunction(arg) { + return function() { + return arg; + }; } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createUnionTypeChecker(arrayOfTypeCheckers) { - if (!Array.isArray(arrayOfTypeCheckers)) { - true ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; - return emptyFunction.thatReturnsNull; - } - - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (typeof checker !== 'function') { - warning( - false, - 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + - 'received %s at index %s.', - getPostfixForTypeWarning(checker), - i - ); - return emptyFunction.thatReturnsNull; - } - } - - function validate(props, propName, componentName, location, propFullName) { - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { - return null; + var emptyFunction = function() {}; + emptyFunction.thatReturns = makeEmptyFunction, emptyFunction.thatReturnsFalse = makeEmptyFunction(!1), + emptyFunction.thatReturnsTrue = makeEmptyFunction(!0), emptyFunction.thatReturnsNull = makeEmptyFunction(null), + emptyFunction.thatReturnsThis = function() { + return this; + }, emptyFunction.thatReturnsArgument = function(arg) { + return arg; + }, module.exports = emptyFunction; + }, function(module, exports, __webpack_require__) { + "use strict"; + function invariant(condition, format, a, b, c, d, e, f) { + if (validateFormat(format), !condition) { + var error; + if (void 0 === format) error = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."); else { + var args = [ a, b, c, d, e, f ], argIndex = 0; + error = new Error(format.replace(/%s/g, function() { + return args[argIndex++]; + })), error.name = "Invariant Violation"; + } + throw error.framesToPop = 1, error; + } } - } - - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); - } - return createChainableTypeChecker(validate); - } - - function createNodeChecker() { - function validate(props, propName, componentName, location, propFullName) { - if (!isNode(props[propName])) { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); - } - for (var key in shapeTypes) { - var checker = shapeTypes[key]; - if (!checker) { - continue; + var validateFormat = function(format) {}; + validateFormat = function(format) { + if (void 0 === format) throw new Error("invariant requires an error message argument"); + }, module.exports = invariant; + }, function(module, exports, __webpack_require__) { + "use strict"; + var emptyFunction = __webpack_require__(1), warning = emptyFunction, printWarning = function(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) args[_key - 1] = arguments[_key]; + var argIndex = 0, message = "Warning: " + format.replace(/%s/g, function() { + return args[argIndex++]; + }); + "undefined" != typeof console && console.error(message); + try { + throw new Error(message); + } catch (x) {} + }; + warning = function(condition, format) { + if (void 0 === format) throw new Error("`warning(condition, format, ...args)` requires a warning message argument"); + if (0 !== format.indexOf("Failed Composite propType: ") && !condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) args[_key2 - 2] = arguments[_key2]; + printWarning.apply(void 0, [ format ].concat(args)); + } + }, module.exports = warning; + }, function(module, exports, __webpack_require__) { + "use strict"; + module.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + }, function(module, exports, __webpack_require__) { + "use strict"; + function hyphenateStyleName(string) { + return string in cache ? cache[string] : cache[string] = string.replace(uppercasePattern, "-$&").toLowerCase().replace(msPattern, "-ms-"); } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error) { - return error; + var uppercasePattern = /[A-Z]/g, msPattern = /^ms-/, cache = {}; + module.exports = hyphenateStyleName; + }, function(module, exports, __webpack_require__) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: !0 + }); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]); + } + return target; + }, _propTypes = __webpack_require__(0), _propTypes2 = function(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + }(_propTypes), stringOrNumber = _propTypes2.default.oneOfType([ _propTypes2.default.string, _propTypes2.default.number ]), matchers = { + orientation: _propTypes2.default.oneOf([ "portrait", "landscape" ]), + scan: _propTypes2.default.oneOf([ "progressive", "interlace" ]), + aspectRatio: _propTypes2.default.string, + deviceAspectRatio: _propTypes2.default.string, + height: stringOrNumber, + deviceHeight: stringOrNumber, + width: stringOrNumber, + deviceWidth: stringOrNumber, + color: _propTypes2.default.bool, + colorIndex: _propTypes2.default.bool, + monochrome: _propTypes2.default.bool, + resolution: stringOrNumber + }, features = _extends({ + minAspectRatio: _propTypes2.default.string, + maxAspectRatio: _propTypes2.default.string, + minDeviceAspectRatio: _propTypes2.default.string, + maxDeviceAspectRatio: _propTypes2.default.string, + minHeight: stringOrNumber, + maxHeight: stringOrNumber, + minDeviceHeight: stringOrNumber, + maxDeviceHeight: stringOrNumber, + minWidth: stringOrNumber, + maxWidth: stringOrNumber, + minDeviceWidth: stringOrNumber, + maxDeviceWidth: stringOrNumber, + minColor: _propTypes2.default.number, + maxColor: _propTypes2.default.number, + minColorIndex: _propTypes2.default.number, + maxColorIndex: _propTypes2.default.number, + minMonochrome: _propTypes2.default.number, + maxMonochrome: _propTypes2.default.number, + minResolution: stringOrNumber, + maxResolution: stringOrNumber + }, matchers), types = { + all: _propTypes2.default.bool, + grid: _propTypes2.default.bool, + aural: _propTypes2.default.bool, + braille: _propTypes2.default.bool, + handheld: _propTypes2.default.bool, + print: _propTypes2.default.bool, + projection: _propTypes2.default.bool, + screen: _propTypes2.default.bool, + tty: _propTypes2.default.bool, + tv: _propTypes2.default.bool, + embossed: _propTypes2.default.bool + }, all = _extends({}, types, features); + matchers.type = Object.keys(types), exports.default = { + all: all, + types: types, + matchers: matchers, + features: features + }, module.exports = exports.default; + }, function(module, exports, __webpack_require__) { + "use strict"; + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createStrictShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); - } - // We need to check all keys in case some are required but missing from - // props. - var allKeys = assign({}, props[propName], shapeTypes); - for (var key in allKeys) { - var checker = shapeTypes[key]; - if (!checker) { - return new PropTypeError( - 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + - '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + - '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') - ); + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function"); } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error) { - return error; + function _possibleConstructorReturn(self, call) { + if (!self) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return !call || "object" != typeof call && "function" != typeof call ? self : call; } - } - return null; - } - - return createChainableTypeChecker(validate); - } - - function isNode(propValue) { - switch (typeof propValue) { - case 'number': - case 'string': - case 'undefined': - return true; - case 'boolean': - return !propValue; - case 'object': - if (Array.isArray(propValue)) { - return propValue.every(isNode); + function _inherits(subClass, superClass) { + if ("function" != typeof superClass && null !== superClass) throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), superClass && (Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass); } - if (propValue === null || isValidElement(propValue)) { - return true; + function omit(object, keys) { + var newObject = _extends({}, object); + return keys.forEach(function(key) { + return delete newObject[key]; + }), newObject; } - - var iteratorFn = getIteratorFn(propValue); - if (iteratorFn) { - var iterator = iteratorFn.call(propValue); - var step; - if (iteratorFn !== propValue.entries) { - while (!(step = iterator.next()).done) { - if (!isNode(step.value)) { - return false; - } + Object.defineProperty(exports, "__esModule", { + value: !0 + }), exports.toQuery = exports.default = void 0; + var _createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, + "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), + Constructor; + }; + }(), _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]); + } + return target; + }, _react = __webpack_require__(8), _react2 = _interopRequireDefault(_react), _propTypes = __webpack_require__(0), _propTypes2 = _interopRequireDefault(_propTypes), _matchmediaquery = __webpack_require__(12), _matchmediaquery2 = _interopRequireDefault(_matchmediaquery), _hyphenateStyleName = __webpack_require__(5), _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName), _mediaQuery = __webpack_require__(6), _mediaQuery2 = _interopRequireDefault(_mediaQuery), _toQuery = __webpack_require__(14), _toQuery2 = _interopRequireDefault(_toQuery), defaultTypes = { + component: _propTypes2.default.node, + query: _propTypes2.default.string, + values: _propTypes2.default.shape(_mediaQuery2.default.matchers), + children: _propTypes2.default.oneOfType([ _propTypes2.default.node, _propTypes2.default.func ]), + onChange: _propTypes2.default.func, + onBeforeChange: _propTypes2.default.func + }, mediaKeys = Object.keys(_mediaQuery2.default.all), excludedQueryKeys = Object.keys(defaultTypes), excludedPropKeys = excludedQueryKeys.concat(mediaKeys), MediaQuery = function(_React$Component) { + function MediaQuery() { + var _ref, _temp, _this, _ret; + _classCallCheck(this, MediaQuery); + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key]; + return _temp = _this = _possibleConstructorReturn(this, (_ref = MediaQuery.__proto__ || Object.getPrototypeOf(MediaQuery)).call.apply(_ref, [ this ].concat(args))), + _this.state = { + matches: !1 + }, _this.updateMatches = function() { + _this._mql.matches !== _this.state.matches && _this.setState({ + matches: _this._mql.matches + }); + }, _this.removeMql = function() { + _this._mql && (_this._mql.removeListener(_this.updateMatches), _this._mql.dispose()); + }, _ret = _temp, _possibleConstructorReturn(_this, _ret); + } + return _inherits(MediaQuery, _React$Component), _createClass(MediaQuery, [ { + key: "componentWillMount", + value: function() { + this.updateQuery(this.props); + } + }, { + key: "componentWillReceiveProps", + value: function(nextProps) { + this.updateQuery(nextProps); + } + }, { + key: "updateQuery", + value: function(props) { + var values = void 0; + if (props.query ? this.query = props.query : this.query = (0, _toQuery2.default)(omit(props, excludedQueryKeys)), + !this.query) throw new Error("Invalid or missing MediaQuery!"); + props.values && (values = Object.keys(props.values).reduce(function(result, key) { + return result[(0, _hyphenateStyleName2.default)(key)] = props.values[key], result; + }, {})), this.removeMql(), this._mql = (0, _matchmediaquery2.default)(this.query, values), + this._mql.addListener(this.updateMatches), this.updateMatches(); + } + }, { + key: "componentWillUpdate", + value: function(_, nextState) { + this.props.onBeforeChange && this.state.matches !== nextState.matches && this.props.onBeforeChange(this.state.matches); + } + }, { + key: "componentDidUpdate", + value: function(_, prevState) { + this.props.onChange && prevState.matches !== this.state.matches && this.props.onChange(this.state.matches); + } + }, { + key: "componentWillUnmount", + value: function() { + this.removeMql(); + } + }, { + key: "render", + value: function() { + if ("function" == typeof this.props.children) return this.props.children(this.state.matches); + if (!1 === this.state.matches) return null; + var props = omit(this.props, excludedPropKeys), hasMergeProps = Object.keys(props).length > 0, childrenCount = _react2.default.Children.count(this.props.children); + return this.props.component || void 0 === this.props.children ? _react2.default.createElement(this.props.component || "div", props, this.props.children) : hasMergeProps ? _react2.default.cloneElement(this.props.children, props) : childrenCount ? this.props.children : null; + } + } ]), MediaQuery; + }(_react2.default.Component); + MediaQuery.displayName = "MediaQuery", MediaQuery.defaultProps = { + values: {} + }, exports.default = MediaQuery, exports.toQuery = _toQuery2.default; + }, function(module, exports) { + module.exports = __WEBPACK_EXTERNAL_MODULE_8__; + }, function(module, exports, __webpack_require__) { + "use strict"; + var emptyFunction = __webpack_require__(1), invariant = __webpack_require__(2), warning = __webpack_require__(3), assign = __webpack_require__(10), ReactPropTypesSecret = __webpack_require__(4), checkPropTypes = __webpack_require__(11); + module.exports = function(isValidElement, throwOnDirectAccess) { + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if ("function" == typeof iteratorFn) return iteratorFn; + } + function is(x, y) { + return x === y ? 0 !== x || 1 / x == 1 / y : x !== x && y !== y; + } + function PropTypeError(message) { + this.message = message, this.stack = ""; + } + function createChainableTypeChecker(validate) { + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + if (componentName = componentName || ANONYMOUS, propFullName = propFullName || propName, + secret !== ReactPropTypesSecret) if (throwOnDirectAccess) invariant(!1, "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"); else if ("undefined" != typeof console) { + var cacheKey = componentName + ":" + propName; + !manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3 && (warning(!1, "You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.", propFullName, componentName), + manualPropTypeCallCache[cacheKey] = !0, manualPropTypeWarningCount++); + } + return null == props[propName] ? isRequired ? new PropTypeError(null === props[propName] ? "The " + location + " `" + propFullName + "` is marked as required in `" + componentName + "`, but its value is `null`." : "The " + location + " `" + propFullName + "` is marked as required in `" + componentName + "`, but its value is `undefined`.") : null : validate(props, propName, componentName, location, propFullName); + } + var manualPropTypeCallCache = {}, manualPropTypeWarningCount = 0, chainedCheckType = checkType.bind(null, !1); + return chainedCheckType.isRequired = checkType.bind(null, !0), chainedCheckType; + } + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + if (getPropType(propValue) !== expectedType) return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + getPreciseType(propValue) + "` supplied to `" + componentName + "`, expected `" + expectedType + "`."); + return null; + } + return createChainableTypeChecker(validate); + } + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if ("function" != typeof typeChecker) return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside arrayOf."); + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + getPropType(propValue) + "` supplied to `" + componentName + "`, expected an array."); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret); + if (error instanceof Error) return error; + } + return null; + } + return createChainableTypeChecker(validate); + } + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + getClassName(props[propName]) + "` supplied to `" + componentName + "`, expected instance of `" + expectedClassName + "`."); + } + return null; + } + return createChainableTypeChecker(validate); + } + function createEnumTypeChecker(expectedValues) { + function validate(props, propName, componentName, location, propFullName) { + for (var propValue = props[propName], i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null; + return new PropTypeError("Invalid " + location + " `" + propFullName + "` of value `" + propValue + "` supplied to `" + componentName + "`, expected one of " + JSON.stringify(expectedValues) + "."); + } + return Array.isArray(expectedValues) ? createChainableTypeChecker(validate) : (warning(!1, "Invalid argument supplied to oneOf, expected an instance of array."), + emptyFunction.thatReturnsNull); + } + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if ("function" != typeof typeChecker) return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside objectOf."); + var propValue = props[propName], propType = getPropType(propValue); + if ("object" !== propType) return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` supplied to `" + componentName + "`, expected an object."); + for (var key in propValue) if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret); + if (error instanceof Error) return error; + } + return null; + } + return createChainableTypeChecker(validate); + } + function createUnionTypeChecker(arrayOfTypeCheckers) { + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + if (null == (0, arrayOfTypeCheckers[i])(props, propName, componentName, location, propFullName, ReactPropTypesSecret)) return null; + } + return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to `" + componentName + "`."); + } + if (!Array.isArray(arrayOfTypeCheckers)) return warning(!1, "Invalid argument supplied to oneOfType, expected an instance of array."), + emptyFunction.thatReturnsNull; + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if ("function" != typeof checker) return warning(!1, "Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.", getPostfixForTypeWarning(checker), i), + emptyFunction.thatReturnsNull; + } + return createChainableTypeChecker(validate); + } + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName], propType = getPropType(propValue); + if ("object" !== propType) return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` supplied to `" + componentName + "`, expected `object`."); + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (checker) { + var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret); + if (error) return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName], propType = getPropType(propValue); + if ("object" !== propType) return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` supplied to `" + componentName + "`, expected `object`."); + var allKeys = assign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) return new PropTypeError("Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`.\nBad object: " + JSON.stringify(props[propName], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(shapeTypes), null, " ")); + var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret); + if (error) return error; + } + return null; + } + return createChainableTypeChecker(validate); + } + function isNode(propValue) { + switch (typeof propValue) { + case "number": + case "string": + case "undefined": + return !0; + + case "boolean": + return !propValue; + + case "object": + if (Array.isArray(propValue)) return propValue.every(isNode); + if (null === propValue || isValidElement(propValue)) return !0; + var iteratorFn = getIteratorFn(propValue); + if (!iteratorFn) return !1; + var step, iterator = iteratorFn.call(propValue); + if (iteratorFn !== propValue.entries) { + for (;!(step = iterator.next()).done; ) if (!isNode(step.value)) return !1; + } else for (;!(step = iterator.next()).done; ) { + var entry = step.value; + if (entry && !isNode(entry[1])) return !1; + } + return !0; + + default: + return !1; + } } - } else { - // Iterator will provide entry [k,v] tuples rather than values. - while (!(step = iterator.next()).done) { - var entry = step.value; - if (entry) { - if (!isNode(entry[1])) { - return false; + function isSymbol(propType, propValue) { + return "symbol" === propType || ("Symbol" === propValue["@@toStringTag"] || "function" == typeof Symbol && propValue instanceof Symbol); + } + function getPropType(propValue) { + var propType = typeof propValue; + return Array.isArray(propValue) ? "array" : propValue instanceof RegExp ? "object" : isSymbol(propType, propValue) ? "symbol" : propType; + } + function getPreciseType(propValue) { + if (void 0 === propValue || null === propValue) return "" + propValue; + var propType = getPropType(propValue); + if ("object" === propType) { + if (propValue instanceof Date) return "date"; + if (propValue instanceof RegExp) return "regexp"; + } + return propType; + } + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case "array": + case "object": + return "an " + type; + + case "boolean": + case "date": + case "regexp": + return "a " + type; + + default: + return type; } - } } - } - } else { - return false; + function getClassName(propValue) { + return propValue.constructor && propValue.constructor.name ? propValue.constructor.name : ANONYMOUS; + } + var ITERATOR_SYMBOL = "function" == typeof Symbol && Symbol.iterator, FAUX_ITERATOR_SYMBOL = "@@iterator", ANONYMOUS = "<>", ReactPropTypes = { + array: createPrimitiveTypeChecker("array"), + bool: createPrimitiveTypeChecker("boolean"), + func: createPrimitiveTypeChecker("function"), + number: createPrimitiveTypeChecker("number"), + object: createPrimitiveTypeChecker("object"), + string: createPrimitiveTypeChecker("string"), + symbol: createPrimitiveTypeChecker("symbol"), + any: function() { + return createChainableTypeChecker(emptyFunction.thatReturnsNull); + }(), + arrayOf: createArrayOfTypeChecker, + element: function() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + getPropType(propValue) + "` supplied to `" + componentName + "`, expected a single ReactElement."); + } + return null; + } + return createChainableTypeChecker(validate); + }(), + instanceOf: createInstanceTypeChecker, + node: function() { + function validate(props, propName, componentName, location, propFullName) { + return isNode(props[propName]) ? null : new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to `" + componentName + "`, expected a ReactNode."); + } + return createChainableTypeChecker(validate); + }(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker + }; + return PropTypeError.prototype = Error.prototype, ReactPropTypes.checkPropTypes = checkPropTypes, + ReactPropTypes.PropTypes = ReactPropTypes, ReactPropTypes; + }; + }, function(module, exports, __webpack_require__) { + "use strict"; + function toObject(val) { + if (null === val || void 0 === val) throw new TypeError("Object.assign cannot be called with null or undefined"); + return Object(val); } - - return true; - default: - return false; - } - } - - function isSymbol(propType, propValue) { - // Native Symbol. - if (propType === 'symbol') { - return true; - } - - // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' - if (propValue['@@toStringTag'] === 'Symbol') { - return true; - } - - // Fallback for non-spec compliant Symbols which are polyfilled. - if (typeof Symbol === 'function' && propValue instanceof Symbol) { - return true; - } - - return false; - } - - // Equivalent of `typeof` but with special handling for array and regexp. - function getPropType(propValue) { - var propType = typeof propValue; - if (Array.isArray(propValue)) { - return 'array'; - } - if (propValue instanceof RegExp) { - // Old webkits (at least until Android 4.0) return 'function' rather than - // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ - // passes PropTypes.object. - return 'object'; - } - if (isSymbol(propType, propValue)) { - return 'symbol'; - } - return propType; - } - - // This handles more types than `getPropType`. Only used for error messages. - // See `createPrimitiveTypeChecker`. - function getPreciseType(propValue) { - if (typeof propValue === 'undefined' || propValue === null) { - return '' + propValue; - } - var propType = getPropType(propValue); - if (propType === 'object') { - if (propValue instanceof Date) { - return 'date'; - } else if (propValue instanceof RegExp) { - return 'regexp'; - } - } - return propType; - } - - // Returns a string that is postfixed to a warning about an invalid type. - // For example, "undefined" or "of type array" - function getPostfixForTypeWarning(value) { - var type = getPreciseType(value); - switch (type) { - case 'array': - case 'object': - return 'an ' + type; - case 'boolean': - case 'date': - case 'regexp': - return 'a ' + type; - default: - return type; - } - } - - // Returns class name of the object, if any. - function getClassName(propValue) { - if (!propValue.constructor || !propValue.constructor.name) { - return ANONYMOUS; - } - return propValue.constructor.name; - } - - ReactPropTypes.checkPropTypes = checkPropTypes; - ReactPropTypes.PropTypes = ReactPropTypes; - - return ReactPropTypes; -}; - - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* + /* object-assign (c) Sindre Sorhus @license MIT */ - - -/* eslint-disable no-unused-vars */ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -if (true) { - var invariant = __webpack_require__(2); - var warning = __webpack_require__(3); - var ReactPropTypesSecret = __webpack_require__(4); - var loggedTypeFailures = {}; -} - -/** - * Assert that the values match with the type specs. - * Error messages are memorized and will only be shown once. - * - * @param {object} typeSpecs Map of name to a ReactPropType - * @param {object} values Runtime values that need to be type-checked - * @param {string} location e.g. "prop", "context", "child context" - * @param {string} componentName Name of the component for error messages. - * @param {?Function} getStack Returns the component stack. - * @private - */ -function checkPropTypes(typeSpecs, values, location, componentName, getStack) { - if (true) { - for (var typeSpecName in typeSpecs) { - if (typeSpecs.hasOwnProperty(typeSpecName)) { - var error; - // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - try { - // This is intentionally an invariant that gets caught. It's the same - // behavior as without this statement except with a better message. - invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]); - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); - } catch (ex) { - error = ex; + var getOwnPropertySymbols = Object.getOwnPropertySymbols, hasOwnProperty = Object.prototype.hasOwnProperty, propIsEnumerable = Object.prototype.propertyIsEnumerable; + module.exports = function() { + try { + if (!Object.assign) return !1; + var test1 = new String("abc"); + if (test1[5] = "de", "5" === Object.getOwnPropertyNames(test1)[0]) return !1; + for (var test2 = {}, i = 0; i < 10; i++) test2["_" + String.fromCharCode(i)] = i; + if ("0123456789" !== Object.getOwnPropertyNames(test2).map(function(n) { + return test2[n]; + }).join("")) return !1; + var test3 = {}; + return "abcdefghijklmnopqrst".split("").forEach(function(letter) { + test3[letter] = letter; + }), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, test3)).join(""); + } catch (err) { + return !1; + } + }() ? Object.assign : function(target, source) { + for (var from, symbols, to = toObject(target), s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + for (var key in from) hasOwnProperty.call(from, key) && (to[key] = from[key]); + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) propIsEnumerable.call(from, symbols[i]) && (to[symbols[i]] = from[symbols[i]]); + } + } + return to; + }; + }, function(module, exports, __webpack_require__) { + "use strict"; + function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + for (var typeSpecName in typeSpecs) if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + try { + invariant("function" == typeof typeSpecs[typeSpecName], "%s: %s type `%s` is invalid; it must be a function, usually from the `prop-types` package, but received `%s`.", componentName || "React class", location, typeSpecName, typeof typeSpecs[typeSpecName]), + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + if (warning(!error || error instanceof Error, "%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error), + error instanceof Error && !(error.message in loggedTypeFailures)) { + loggedTypeFailures[error.message] = !0; + var stack = getStack ? getStack() : ""; + warning(!1, "Failed %s type: %s%s", location, error.message, null != stack ? stack : ""); + } + } } - warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error); - if (error instanceof Error && !(error.message in loggedTypeFailures)) { - // Only monitor this failure once because there tends to be a lot of the - // same error. - loggedTypeFailures[error.message] = true; - - var stack = getStack ? getStack() : ''; - - warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); + var invariant = __webpack_require__(2), warning = __webpack_require__(3), ReactPropTypesSecret = __webpack_require__(4), loggedTypeFailures = {}; + module.exports = checkPropTypes; + }, function(module, exports, __webpack_require__) { + "use strict"; + function Mql(query, values) { + function addListener(listener) { + mql && mql.addListener(listener); + } + function removeListener(listener) { + mql && mql.removeListener(listener); + } + function update(evt) { + self.matches = evt.matches, self.media = evt.media; + } + function dispose() { + mql && mql.removeListener(update); + } + var self = this; + if (dynamicMatch) { + var mql = dynamicMatch.call(window, query); + this.matches = mql.matches, this.media = mql.media, mql.addListener(update); + } else this.matches = staticMatch(query, values), this.media = query; + this.addListener = addListener, this.removeListener = removeListener, this.dispose = dispose; } - } - } - } -} - -module.exports = checkPropTypes; - - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var staticMatch = __webpack_require__(13).match; -var dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null; - -// our fake MediaQueryList -function Mql(query, values){ - var self = this; - if(dynamicMatch){ - var mql = dynamicMatch.call(window, query); - this.matches = mql.matches; - this.media = mql.media; - // TODO: is there a time it makes sense to remove this listener? - mql.addListener(update); - } else { - this.matches = staticMatch(query, values); - this.media = query; - } - - this.addListener = addListener; - this.removeListener = removeListener; - this.dispose = dispose; - - function addListener(listener){ - if(mql){ - mql.addListener(listener); - } - } - - function removeListener(listener){ - if(mql){ - mql.removeListener(listener); - } - } - - // update ourselves! - function update(evt){ - self.matches = evt.matches; - self.media = evt.media; - } - - function dispose(){ - if(mql){ - mql.removeListener(update); - } - } -} - -function matchMedia(query, values){ - return new Mql(query, values); -} - -module.exports = matchMedia; - - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* -Copyright (c) 2014, Yahoo! Inc. All rights reserved. -Copyrights licensed under the New BSD License. -See the accompanying LICENSE file for terms. -*/ - - - -exports.match = matchQuery; -exports.parse = parseQuery; - -// ----------------------------------------------------------------------------- - -var RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i, - RE_MQ_EXPRESSION = /\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/, - RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/, - RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/, - RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/; - -function matchQuery(mediaQuery, values) { - return parseQuery(mediaQuery).some(function (query) { - var inverse = query.inverse; - - // Either the parsed or specified `type` is "all", or the types must be - // equal for a match. - var typeMatch = query.type === 'all' || values.type === query.type; - - // Quit early when `type` doesn't match, but take "not" into account. - if ((typeMatch && inverse) || !(typeMatch || inverse)) { - return false; + function matchMedia(query, values) { + return new Mql(query, values); } + var staticMatch = __webpack_require__(13).match, dynamicMatch = "undefined" != typeof window ? window.matchMedia : null; + module.exports = matchMedia; + }, function(module, exports, __webpack_require__) { + "use strict"; + function matchQuery(mediaQuery, values) { + return parseQuery(mediaQuery).some(function(query) { + var inverse = query.inverse, typeMatch = "all" === query.type || values.type === query.type; + if (typeMatch && inverse || !typeMatch && !inverse) return !1; + var expressionsMatch = query.expressions.every(function(expression) { + var feature = expression.feature, modifier = expression.modifier, expValue = expression.value, value = values[feature]; + if (!value) return !1; + switch (feature) { + case "orientation": + case "scan": + return value.toLowerCase() === expValue.toLowerCase(); + + case "width": + case "height": + case "device-width": + case "device-height": + expValue = toPx(expValue), value = toPx(value); + break; + + case "resolution": + expValue = toDpi(expValue), value = toDpi(value); + break; + + case "aspect-ratio": + case "device-aspect-ratio": + case "device-pixel-ratio": + expValue = toDecimal(expValue), value = toDecimal(value); + break; + + case "grid": + case "color": + case "color-index": + case "monochrome": + expValue = parseInt(expValue, 10) || 1, value = parseInt(value, 10) || 0; + } + switch (modifier) { + case "min": + return value >= expValue; + + case "max": + return value <= expValue; + + default: + return value === expValue; + } + }); + return expressionsMatch && !inverse || !expressionsMatch && inverse; + }); + } + function parseQuery(mediaQuery) { + return mediaQuery.split(",").map(function(query) { + query = query.trim(); + var captures = query.match(RE_MEDIA_QUERY), modifier = captures[1], type = captures[2], expressions = captures[3] || "", parsed = {}; + return parsed.inverse = !!modifier && "not" === modifier.toLowerCase(), parsed.type = type ? type.toLowerCase() : "all", + expressions = expressions.match(/\([^\)]+\)/g) || [], parsed.expressions = expressions.map(function(expression) { + var captures = expression.match(RE_MQ_EXPRESSION), feature = captures[1].toLowerCase().match(RE_MQ_FEATURE); + return { + modifier: feature[1], + feature: feature[2], + value: captures[2] + }; + }), parsed; + }); + } + function toDecimal(ratio) { + var numbers, decimal = Number(ratio); + return decimal || (numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/), decimal = numbers[1] / numbers[2]), + decimal; + } + function toDpi(resolution) { + var value = parseFloat(resolution); + switch (String(resolution).match(RE_RESOLUTION_UNIT)[1]) { + case "dpcm": + return value / 2.54; - var expressionsMatch = query.expressions.every(function (expression) { - var feature = expression.feature, - modifier = expression.modifier, - expValue = expression.value, - value = values[feature]; - - // Missing or falsy values don't match. - if (!value) { return false; } - - switch (feature) { - case 'orientation': - case 'scan': - return value.toLowerCase() === expValue.toLowerCase(); - - case 'width': - case 'height': - case 'device-width': - case 'device-height': - expValue = toPx(expValue); - value = toPx(value); - break; - - case 'resolution': - expValue = toDpi(expValue); - value = toDpi(value); - break; - - case 'aspect-ratio': - case 'device-aspect-ratio': - case /* Deprecated */ 'device-pixel-ratio': - expValue = toDecimal(expValue); - value = toDecimal(value); - break; - - case 'grid': - case 'color': - case 'color-index': - case 'monochrome': - expValue = parseInt(expValue, 10) || 1; - value = parseInt(value, 10) || 0; - break; - } + case "dppx": + return 96 * value; - switch (modifier) { - case 'min': return value >= expValue; - case 'max': return value <= expValue; - default : return value === expValue; + default: + return value; } - }); - - return (expressionsMatch && !inverse) || (!expressionsMatch && inverse); - }); -} + } + function toPx(length) { + var value = parseFloat(length); + switch (String(length).match(RE_LENGTH_UNIT)[1]) { + case "em": + case "rem": + return 16 * value; -function parseQuery(mediaQuery) { - return mediaQuery.split(',').map(function (query) { - query = query.trim(); + case "cm": + return 96 * value / 2.54; - var captures = query.match(RE_MEDIA_QUERY), - modifier = captures[1], - type = captures[2], - expressions = captures[3] || '', - parsed = {}; + case "mm": + return 96 * value / 2.54 / 10; - parsed.inverse = !!modifier && modifier.toLowerCase() === 'not'; - parsed.type = type ? type.toLowerCase() : 'all'; + case "in": + return 96 * value; - // Split expressions into a list. - expressions = expressions.match(/\([^\)]+\)/g) || []; + case "pt": + return 72 * value; - parsed.expressions = expressions.map(function (expression) { - var captures = expression.match(RE_MQ_EXPRESSION), - feature = captures[1].toLowerCase().match(RE_MQ_FEATURE); + case "pc": + return 72 * value / 12; - return { - modifier: feature[1], - feature : feature[2], - value : captures[2] + default: + return value; + } + } + exports.match = matchQuery, exports.parse = parseQuery; + var RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i, RE_MQ_EXPRESSION = /\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/, RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/, RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/, RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/; + }, function(module, exports, __webpack_require__) { + "use strict"; + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj }; - }); - - return parsed; - }); -} - -// -- Utilities ---------------------------------------------------------------- - -function toDecimal(ratio) { - var decimal = Number(ratio), - numbers; - - if (!decimal) { - numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/); - decimal = numbers[1] / numbers[2]; - } - - return decimal; -} - -function toDpi(resolution) { - var value = parseFloat(resolution), - units = String(resolution).match(RE_RESOLUTION_UNIT)[1]; - - switch (units) { - case 'dpcm': return value / 2.54; - case 'dppx': return value * 96; - default : return value; - } -} - -function toPx(length) { - var value = parseFloat(length), - units = String(length).match(RE_LENGTH_UNIT)[1]; - - switch (units) { - case 'em' : return value * 16; - case 'rem': return value * 16; - case 'cm' : return value * 96 / 2.54; - case 'mm' : return value * 96 / 2.54 / 10; - case 'in' : return value * 96; - case 'pt' : return value * 72; - case 'pc' : return value * 72 / 12; - default : return value; - } -} - - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (obj) { - var rules = []; - Object.keys(_mediaQuery2.default.all).forEach(function (k) { - var v = obj[k]; - if (v != null) { - rules.push(keyVal(k, v)); - } - }); - return join(rules); -}; - -var _hyphenateStyleName = __webpack_require__(5); - -var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName); - -var _mediaQuery = __webpack_require__(6); - -var _mediaQuery2 = _interopRequireDefault(_mediaQuery); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var negate = function negate(cond) { - return 'not ' + cond; -}; - -function keyVal(k, v) { - var realKey = (0, _hyphenateStyleName2.default)(k); - - // px shorthand - if (typeof v === 'number') { - v = v + 'px'; - } - if (v === true) { - return k; - } - if (v === false) { - return negate(k); - } - return '(' + realKey + ': ' + v + ')'; -} - -function join(conds) { - return conds.join(' and '); -} - -module.exports = exports['default']; - -/***/ }) -/******/ ]); + } + function keyVal(k, v) { + var realKey = (0, _hyphenateStyleName2.default)(k); + return "number" == typeof v && (v += "px"), !0 === v ? k : !1 === v ? negate(k) : "(" + realKey + ": " + v + ")"; + } + function join(conds) { + return conds.join(" and "); + } + Object.defineProperty(exports, "__esModule", { + value: !0 + }), exports.default = function(obj) { + var rules = []; + return Object.keys(_mediaQuery2.default.all).forEach(function(k) { + var v = obj[k]; + null != v && rules.push(keyVal(k, v)); + }), join(rules); + }; + var _hyphenateStyleName = __webpack_require__(5), _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName), _mediaQuery = __webpack_require__(6), _mediaQuery2 = _interopRequireDefault(_mediaQuery), negate = function(cond) { + return "not " + cond; + }; + module.exports = exports.default; + } ]); }); //# sourceMappingURL=react-responsive.js.map \ No newline at end of file diff --git a/dist/react-responsive.js.map b/dist/react-responsive.js.map index aff6425..ecf4dcd 100644 --- a/dist/react-responsive.js.map +++ b/dist/react-responsive.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap b65953579941fd1f60ab","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/fbjs/lib/warning.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/hyphenate-style-name/index.js","webpack:///./src/mediaQuery.js","webpack:///./src/index.js","webpack:///external \"react\"","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/matchmediaquery/index.js","webpack:///./node_modules/css-mediaquery/index.js","webpack:///./src/toQuery.js"],"names":["stringOrNumber","oneOfType","string","number","matchers","orientation","oneOf","scan","aspectRatio","deviceAspectRatio","height","deviceHeight","width","deviceWidth","color","bool","colorIndex","monochrome","resolution","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minWidth","maxWidth","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","types","all","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","type","Object","keys","defaultTypes","component","node","query","values","shape","children","func","onChange","onBeforeChange","mediaKeys","excludedQueryKeys","excludedPropKeys","concat","omit","object","newObject","forEach","key","MediaQuery","state","matches","updateMatches","_mql","setState","removeMql","removeListener","dispose","updateQuery","props","nextProps","Error","reduce","result","addListener","_","nextState","prevState","hasMergeProps","length","childrenCount","Children","count","wrapChildren","undefined","createElement","cloneElement","Component","displayName","defaultProps","default","toQuery","obj","rules","k","v","push","keyVal","join","negate","cond","realKey","conds"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;;;;;;;AC3BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA,2B;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;A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;ACtIF,+C;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC7hBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG;AAChG;AACA,SAAS;AACT;AACA;AACA,gGAAgG;AAChG;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1DA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,cAAc;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;kBCnIe,UAAUC,GAAV,EAAe;AAC5B,MAAMC,QAAQ,EAAd;AACAvD,SAAOC,IAAP,CAAY,qBAAGb,GAAf,EAAoB+B,OAApB,CAA4B,UAAUqC,CAAV,EAAa;AACvC,QAAMC,IAAIH,IAAIE,CAAJ,CAAV;AACA,QAAIC,KAAK,IAAT,EAAe;AACbF,YAAMG,IAAN,CAAWC,OAAOH,CAAP,EAAUC,CAAV,CAAX;AACD;AACF,GALD;AAMA,SAAOG,KAAKL,KAAL,CAAP;AACD,C;;AAlCD;;;;AACA;;;;;;AAEA,IAAMM,SAAS,SAATA,MAAS;AAAA,kBAAeC,IAAf;AAAA,CAAf;;AAEA,SAASH,MAAT,CAAgBH,CAAhB,EAAmBC,CAAnB,EAAsB;AACpB,MAAMM,UAAU,kCAAUP,CAAV,CAAhB;;AAEA;AACA,MAAI,OAAOC,CAAP,KAAa,QAAjB,EAA2B;AACzBA,QAAOA,CAAP;AACD;AACD,MAAIA,MAAM,IAAV,EAAgB;AACd,WAAOD,CAAP;AACD;AACD,MAAIC,MAAM,KAAV,EAAiB;AACf,WAAOI,OAAOL,CAAP,CAAP;AACD;AACD,eAAWO,OAAX,UAAuBN,CAAvB;AACD;;AAED,SAASG,IAAT,CAAcI,KAAd,EAAqB;AACnB,SAAOA,MAAMJ,IAAN,CAAW,OAAX,CAAP;AACD","file":"./dist/react-responsive.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MediaQuery\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"MediaQuery\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_8__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b65953579941fd1f60ab","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 0\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 1\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 2\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/warning.js\n// module id = 3\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\n\nfunction hyphenateStyleName(string) {\n return string in cache\n ? cache[string]\n : cache[string] = string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/hyphenate-style-name/index.js\n// module id = 5\n// module chunks = 0","import PropTypes from 'prop-types'\n\nconst stringOrNumber = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n])\n\n// properties that match media queries\nconst matchers = {\n orientation: PropTypes.oneOf([\n 'portrait',\n 'landscape'\n ]),\n\n scan: PropTypes.oneOf([\n 'progressive',\n 'interlace'\n ]),\n\n aspectRatio: PropTypes.string,\n deviceAspectRatio: PropTypes.string,\n\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n\n color: PropTypes.bool,\n\n colorIndex: PropTypes.bool,\n\n monochrome: PropTypes.bool,\n resolution: stringOrNumber\n}\n\n// media features\nconst features = {\n minAspectRatio: PropTypes.string,\n maxAspectRatio: PropTypes.string,\n minDeviceAspectRatio: PropTypes.string,\n maxDeviceAspectRatio: PropTypes.string,\n\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n\n minColor: PropTypes.number,\n maxColor: PropTypes.number,\n\n minColorIndex: PropTypes.number,\n maxColorIndex: PropTypes.number,\n\n minMonochrome: PropTypes.number,\n maxMonochrome: PropTypes.number,\n\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber,\n\n ...matchers\n}\n\n// media types\nconst types = {\n all: PropTypes.bool,\n grid: PropTypes.bool,\n aural: PropTypes.bool,\n braille: PropTypes.bool,\n handheld: PropTypes.bool,\n print: PropTypes.bool,\n projection: PropTypes.bool,\n screen: PropTypes.bool,\n tty: PropTypes.bool,\n tv: PropTypes.bool,\n embossed: PropTypes.bool\n}\n\nconst all = { ...types, ...features }\n\n// add the type property\nmatchers.type = Object.keys(types)\n\nexport default {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/mediaQuery.js","import React from 'react'\nimport PropTypes from 'prop-types'\nimport matchMedia from 'matchmediaquery'\nimport hyphenate from 'hyphenate-style-name'\nimport mediaQuery from './mediaQuery'\nimport toQuery from './toQuery'\n\nconst defaultTypes = {\n component: PropTypes.node,\n query: PropTypes.string,\n values: PropTypes.shape(mediaQuery.matchers),\n children: PropTypes.oneOfType([ PropTypes.node, PropTypes.func ]),\n onChange: PropTypes.func,\n onBeforeChange: PropTypes.func\n}\nconst mediaKeys = Object.keys(mediaQuery.all)\nconst excludedQueryKeys = Object.keys(defaultTypes)\nconst excludedPropKeys = excludedQueryKeys.concat(mediaKeys)\n\nfunction omit(object, keys) {\n const newObject = { ...object }\n keys.forEach(key => delete newObject[key])\n return newObject\n}\n\nclass MediaQuery extends React.Component {\n static displayName = 'MediaQuery'\n static defaultProps = {\n values: {}\n }\n\n state = { matches: false }\n\n componentWillMount() {\n this.updateQuery(this.props)\n }\n\n componentWillReceiveProps(nextProps) {\n this.updateQuery(nextProps)\n }\n\n updateQuery(props) {\n let values\n if (props.query) {\n this.query = props.query\n } else {\n this.query = toQuery(omit(props, excludedQueryKeys))\n }\n\n if (!this.query) {\n throw new Error('Invalid or missing MediaQuery!')\n }\n\n if (props.values) {\n values = Object.keys(props.values)\n .reduce(function (result, key) {\n result[hyphenate(key)] = props.values[key]\n return result\n }, {})\n }\n\n this.removeMql()\n\n this._mql = matchMedia(this.query, values)\n this._mql.addListener(this.updateMatches)\n this.updateMatches()\n }\n\n componentWillUpdate(_, nextState) {\n if(this.props.onBeforeChange && this.state.matches !== nextState.matches) {\n this.props.onBeforeChange(this.state.matches)\n }\n }\n\n componentDidUpdate(_, prevState) {\n if(this.props.onChange && prevState.matches !== this.state.matches) {\n this.props.onChange(this.state.matches)\n }\n }\n\n componentWillUnmount() {\n this.removeMql()\n }\n\n updateMatches = () => {\n if (this._mql.matches === this.state.matches) {\n return\n }\n this.setState({\n matches: this._mql.matches\n })\n }\n\n removeMql = () => {\n if (this._mql) {\n this._mql.removeListener(this.updateMatches)\n this._mql.dispose()\n }\n }\n\n render() {\n if(typeof this.props.children === 'function') {\n return this.props.children(this.state.matches)\n }\n\n if (this.state.matches === false) {\n return null\n }\n const props = omit(this.props, excludedPropKeys)\n const hasMergeProps = Object.keys(props).length > 0\n const childrenCount = React.Children.count(this.props.children)\n const wrapChildren = this.props.component || this.props.children === undefined\n if (wrapChildren) {\n return React.createElement(\n this.props.component || 'div',\n props,\n this.props.children\n )\n } else if (hasMergeProps) {\n return React.cloneElement(\n this.props.children,\n props\n )\n } else if (childrenCount) {\n return this.props.children\n }\n else {\n return null\n }\n }\n}\n\nexport {\n MediaQuery as default,\n toQuery\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 8\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithTypeCheckers.js\n// module id = 9\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/checkPropTypes.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values){\n var self = this;\n if(dynamicMatch){\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values){\n return new Mql(query, values);\n}\n\nmodule.exports = matchMedia;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/matchmediaquery/index.js\n// module id = 12\n// module chunks = 0","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-mediaquery/index.js\n// module id = 13\n// module chunks = 0","import hyphenate from 'hyphenate-style-name'\nimport mq from './mediaQuery'\n\nconst negate = cond => `not ${cond}`\n\nfunction keyVal(k, v) {\n const realKey = hyphenate(k)\n\n // px shorthand\n if (typeof v === 'number') {\n v = `${v}px`\n }\n if (v === true) {\n return k\n }\n if (v === false) {\n return negate(k)\n }\n return `(${realKey}: ${v})`\n}\n\nfunction join(conds) {\n return conds.join(' and ')\n}\n\nexport default function (obj) {\n const rules = []\n Object.keys(mq.all).forEach(function (k) {\n const v = obj[k]\n if (v != null) {\n rules.push(keyVal(k, v))\n }\n })\n return join(rules)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/toQuery.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///dist/react-responsive.js","webpack:///webpack/bootstrap b65953579941fd1f60ab","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/fbjs/lib/warning.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/hyphenate-style-name/index.js","webpack:///./src/mediaQuery.js","webpack:///./src/index.js","webpack:///external \"react\"","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/matchmediaquery/index.js","webpack:///./node_modules/css-mediaquery/index.js","webpack:///./src/toQuery.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_8__","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","REACT_ELEMENT_TYPE","Symbol","for","isValidElement","$$typeof","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","invariant","condition","format","a","b","e","f","validateFormat","error","undefined","Error","args","argIndex","replace","framesToPop","warning","printWarning","_len","arguments","length","Array","_key","message","console","x","indexOf","_len2","_key2","apply","concat","hyphenateStyleName","string","cache","uppercasePattern","toLowerCase","msPattern","value","_extends","assign","target","source","key","_propTypes","_propTypes2","obj","default","stringOrNumber","oneOfType","number","matchers","orientation","oneOf","scan","aspectRatio","deviceAspectRatio","height","deviceHeight","width","deviceWidth","color","bool","colorIndex","monochrome","resolution","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minWidth","maxWidth","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","types","all","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","type","keys","_interopRequireDefault","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","writable","setPrototypeOf","__proto__","omit","newObject","forEach","toQuery","_createClass","defineProperties","props","descriptor","protoProps","staticProps","_react","_react2","_matchmediaquery","_matchmediaquery2","_hyphenateStyleName","_hyphenateStyleName2","_mediaQuery","_mediaQuery2","_toQuery","_toQuery2","defaultTypes","component","node","query","values","shape","children","func","onChange","onBeforeChange","mediaKeys","excludedQueryKeys","excludedPropKeys","MediaQuery","_React$Component","_ref","_temp","_this","_ret","getPrototypeOf","state","matches","updateMatches","_mql","setState","removeMql","removeListener","dispose","updateQuery","nextProps","reduce","result","addListener","_","nextState","prevState","hasMergeProps","childrenCount","Children","count","createElement","cloneElement","Component","displayName","defaultProps","ReactPropTypesSecret","checkPropTypes","throwOnDirectAccess","getIteratorFn","maybeIterable","iteratorFn","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","is","y","PropTypeError","stack","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","location","propFullName","secret","ANONYMOUS","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","bind","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","createArrayOfTypeChecker","typeChecker","isArray","createInstanceTypeChecker","expectedClass","expectedClassName","getClassName","createEnumTypeChecker","expectedValues","JSON","stringify","createObjectOfTypeChecker","propType","createUnionTypeChecker","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","createShapeTypeChecker","shapeTypes","createStrictShapeTypeChecker","allKeys","isNode","every","step","iterator","entries","next","done","entry","isSymbol","RegExp","Date","ReactPropTypes","array","symbol","any","arrayOf","element","instanceOf","objectOf","exact","PropTypes","toObject","val","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","String","getOwnPropertyNames","test2","fromCharCode","map","join","test3","split","letter","err","from","symbols","to","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","Mql","listener","mql","update","evt","media","dynamicMatch","window","staticMatch","matchMedia","match","matchQuery","mediaQuery","parseQuery","some","inverse","typeMatch","expressionsMatch","expressions","expression","feature","modifier","expValue","toPx","toDpi","toDecimal","parseInt","trim","captures","RE_MEDIA_QUERY","parsed","RE_MQ_EXPRESSION","RE_MQ_FEATURE","ratio","numbers","decimal","Number","parseFloat","RE_RESOLUTION_UNIT","RE_LENGTH_UNIT","parse","keyVal","k","v","realKey","negate","conds","rules","push","cond"],"mappings":"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","file":"./dist/react-responsive.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MediaQuery\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"MediaQuery\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_8__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MediaQuery\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"MediaQuery\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_8__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (true) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(9)(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (true) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (true) {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\n\nfunction hyphenateStyleName(string) {\n return string in cache\n ? cache[string]\n : cache[string] = string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _propTypes = __webpack_require__(0);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar stringOrNumber = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]);\n\n// properties that match media queries\nvar matchers = {\n orientation: _propTypes2.default.oneOf(['portrait', 'landscape']),\n\n scan: _propTypes2.default.oneOf(['progressive', 'interlace']),\n\n aspectRatio: _propTypes2.default.string,\n deviceAspectRatio: _propTypes2.default.string,\n\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n\n color: _propTypes2.default.bool,\n\n colorIndex: _propTypes2.default.bool,\n\n monochrome: _propTypes2.default.bool,\n resolution: stringOrNumber\n\n // media features\n};var features = _extends({\n minAspectRatio: _propTypes2.default.string,\n maxAspectRatio: _propTypes2.default.string,\n minDeviceAspectRatio: _propTypes2.default.string,\n maxDeviceAspectRatio: _propTypes2.default.string,\n\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n\n minColor: _propTypes2.default.number,\n maxColor: _propTypes2.default.number,\n\n minColorIndex: _propTypes2.default.number,\n maxColorIndex: _propTypes2.default.number,\n\n minMonochrome: _propTypes2.default.number,\n maxMonochrome: _propTypes2.default.number,\n\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber\n\n}, matchers);\n\n// media types\nvar types = {\n all: _propTypes2.default.bool,\n grid: _propTypes2.default.bool,\n aural: _propTypes2.default.bool,\n braille: _propTypes2.default.bool,\n handheld: _propTypes2.default.bool,\n print: _propTypes2.default.bool,\n projection: _propTypes2.default.bool,\n screen: _propTypes2.default.bool,\n tty: _propTypes2.default.bool,\n tv: _propTypes2.default.bool,\n embossed: _propTypes2.default.bool\n};\n\nvar all = _extends({}, types, features);\n\n// add the type property\nmatchers.type = Object.keys(types);\n\nexports.default = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n};\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toQuery = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = __webpack_require__(8);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(0);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _matchmediaquery = __webpack_require__(12);\n\nvar _matchmediaquery2 = _interopRequireDefault(_matchmediaquery);\n\nvar _hyphenateStyleName = __webpack_require__(5);\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nvar _mediaQuery = __webpack_require__(6);\n\nvar _mediaQuery2 = _interopRequireDefault(_mediaQuery);\n\nvar _toQuery = __webpack_require__(14);\n\nvar _toQuery2 = _interopRequireDefault(_toQuery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultTypes = {\n component: _propTypes2.default.node,\n query: _propTypes2.default.string,\n values: _propTypes2.default.shape(_mediaQuery2.default.matchers),\n children: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]),\n onChange: _propTypes2.default.func,\n onBeforeChange: _propTypes2.default.func\n};\nvar mediaKeys = Object.keys(_mediaQuery2.default.all);\nvar excludedQueryKeys = Object.keys(defaultTypes);\nvar excludedPropKeys = excludedQueryKeys.concat(mediaKeys);\n\nfunction omit(object, keys) {\n var newObject = _extends({}, object);\n keys.forEach(function (key) {\n return delete newObject[key];\n });\n return newObject;\n}\n\nvar MediaQuery = function (_React$Component) {\n _inherits(MediaQuery, _React$Component);\n\n function MediaQuery() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, MediaQuery);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MediaQuery.__proto__ || Object.getPrototypeOf(MediaQuery)).call.apply(_ref, [this].concat(args))), _this), _this.state = { matches: false }, _this.updateMatches = function () {\n if (_this._mql.matches === _this.state.matches) {\n return;\n }\n _this.setState({\n matches: _this._mql.matches\n });\n }, _this.removeMql = function () {\n if (_this._mql) {\n _this._mql.removeListener(_this.updateMatches);\n _this._mql.dispose();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(MediaQuery, [{\n key: 'componentWillMount',\n value: function componentWillMount() {\n this.updateQuery(this.props);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n this.updateQuery(nextProps);\n }\n }, {\n key: 'updateQuery',\n value: function updateQuery(props) {\n var values = void 0;\n if (props.query) {\n this.query = props.query;\n } else {\n this.query = (0, _toQuery2.default)(omit(props, excludedQueryKeys));\n }\n\n if (!this.query) {\n throw new Error('Invalid or missing MediaQuery!');\n }\n\n if (props.values) {\n values = Object.keys(props.values).reduce(function (result, key) {\n result[(0, _hyphenateStyleName2.default)(key)] = props.values[key];\n return result;\n }, {});\n }\n\n this.removeMql();\n\n this._mql = (0, _matchmediaquery2.default)(this.query, values);\n this._mql.addListener(this.updateMatches);\n this.updateMatches();\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(_, nextState) {\n if (this.props.onBeforeChange && this.state.matches !== nextState.matches) {\n this.props.onBeforeChange(this.state.matches);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(_, prevState) {\n if (this.props.onChange && prevState.matches !== this.state.matches) {\n this.props.onChange(this.state.matches);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeMql();\n }\n }, {\n key: 'render',\n value: function render() {\n if (typeof this.props.children === 'function') {\n return this.props.children(this.state.matches);\n }\n\n if (this.state.matches === false) {\n return null;\n }\n var props = omit(this.props, excludedPropKeys);\n var hasMergeProps = Object.keys(props).length > 0;\n var childrenCount = _react2.default.Children.count(this.props.children);\n var wrapChildren = this.props.component || this.props.children === undefined;\n if (wrapChildren) {\n return _react2.default.createElement(this.props.component || 'div', props, this.props.children);\n } else if (hasMergeProps) {\n return _react2.default.cloneElement(this.props.children, props);\n } else if (childrenCount) {\n return this.props.children;\n } else {\n return null;\n }\n }\n }]);\n\n return MediaQuery;\n}(_react2.default.Component);\n\nMediaQuery.displayName = 'MediaQuery';\nMediaQuery.defaultProps = {\n values: {}\n};\nexports.default = MediaQuery;\nexports.toQuery = _toQuery2.default;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar warning = __webpack_require__(3);\nvar assign = __webpack_require__(10);\n\nvar ReactPropTypesSecret = __webpack_require__(4);\nvar checkPropTypes = __webpack_require__(11);\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (\"development\" !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n true ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n var invariant = __webpack_require__(2);\n var warning = __webpack_require__(3);\n var ReactPropTypesSecret = __webpack_require__(4);\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar staticMatch = __webpack_require__(13).match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values){\n var self = this;\n if(dynamicMatch){\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values){\n return new Mql(query, values);\n}\n\nmodule.exports = matchMedia;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (obj) {\n var rules = [];\n Object.keys(_mediaQuery2.default.all).forEach(function (k) {\n var v = obj[k];\n if (v != null) {\n rules.push(keyVal(k, v));\n }\n });\n return join(rules);\n};\n\nvar _hyphenateStyleName = __webpack_require__(5);\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nvar _mediaQuery = __webpack_require__(6);\n\nvar _mediaQuery2 = _interopRequireDefault(_mediaQuery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar negate = function negate(cond) {\n return 'not ' + cond;\n};\n\nfunction keyVal(k, v) {\n var realKey = (0, _hyphenateStyleName2.default)(k);\n\n // px shorthand\n if (typeof v === 'number') {\n v = v + 'px';\n }\n if (v === true) {\n return k;\n }\n if (v === false) {\n return negate(k);\n }\n return '(' + realKey + ': ' + v + ')';\n}\n\nfunction join(conds) {\n return conds.join(' and ');\n}\n\nmodule.exports = exports['default'];\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// dist/react-responsive.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b65953579941fd1f60ab","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 0\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 1\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 2\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/warning.js\n// module id = 3\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\n\nfunction hyphenateStyleName(string) {\n return string in cache\n ? cache[string]\n : cache[string] = string\n .replace(uppercasePattern, '-$&')\n .toLowerCase()\n .replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/hyphenate-style-name/index.js\n// module id = 5\n// module chunks = 0","import PropTypes from 'prop-types'\n\nconst stringOrNumber = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n])\n\n// properties that match media queries\nconst matchers = {\n orientation: PropTypes.oneOf([\n 'portrait',\n 'landscape'\n ]),\n\n scan: PropTypes.oneOf([\n 'progressive',\n 'interlace'\n ]),\n\n aspectRatio: PropTypes.string,\n deviceAspectRatio: PropTypes.string,\n\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n\n color: PropTypes.bool,\n\n colorIndex: PropTypes.bool,\n\n monochrome: PropTypes.bool,\n resolution: stringOrNumber\n}\n\n// media features\nconst features = {\n minAspectRatio: PropTypes.string,\n maxAspectRatio: PropTypes.string,\n minDeviceAspectRatio: PropTypes.string,\n maxDeviceAspectRatio: PropTypes.string,\n\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n\n minColor: PropTypes.number,\n maxColor: PropTypes.number,\n\n minColorIndex: PropTypes.number,\n maxColorIndex: PropTypes.number,\n\n minMonochrome: PropTypes.number,\n maxMonochrome: PropTypes.number,\n\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber,\n\n ...matchers\n}\n\n// media types\nconst types = {\n all: PropTypes.bool,\n grid: PropTypes.bool,\n aural: PropTypes.bool,\n braille: PropTypes.bool,\n handheld: PropTypes.bool,\n print: PropTypes.bool,\n projection: PropTypes.bool,\n screen: PropTypes.bool,\n tty: PropTypes.bool,\n tv: PropTypes.bool,\n embossed: PropTypes.bool\n}\n\nconst all = { ...types, ...features }\n\n// add the type property\nmatchers.type = Object.keys(types)\n\nexport default {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/mediaQuery.js","import React from 'react'\nimport PropTypes from 'prop-types'\nimport matchMedia from 'matchmediaquery'\nimport hyphenate from 'hyphenate-style-name'\nimport mediaQuery from './mediaQuery'\nimport toQuery from './toQuery'\n\nconst defaultTypes = {\n component: PropTypes.node,\n query: PropTypes.string,\n values: PropTypes.shape(mediaQuery.matchers),\n children: PropTypes.oneOfType([ PropTypes.node, PropTypes.func ]),\n onChange: PropTypes.func,\n onBeforeChange: PropTypes.func\n}\nconst mediaKeys = Object.keys(mediaQuery.all)\nconst excludedQueryKeys = Object.keys(defaultTypes)\nconst excludedPropKeys = excludedQueryKeys.concat(mediaKeys)\n\nfunction omit(object, keys) {\n const newObject = { ...object }\n keys.forEach(key => delete newObject[key])\n return newObject\n}\n\nclass MediaQuery extends React.Component {\n static displayName = 'MediaQuery'\n static defaultProps = {\n values: {}\n }\n\n state = { matches: false }\n\n componentWillMount() {\n this.updateQuery(this.props)\n }\n\n componentWillReceiveProps(nextProps) {\n this.updateQuery(nextProps)\n }\n\n updateQuery(props) {\n let values\n if (props.query) {\n this.query = props.query\n } else {\n this.query = toQuery(omit(props, excludedQueryKeys))\n }\n\n if (!this.query) {\n throw new Error('Invalid or missing MediaQuery!')\n }\n\n if (props.values) {\n values = Object.keys(props.values)\n .reduce(function (result, key) {\n result[hyphenate(key)] = props.values[key]\n return result\n }, {})\n }\n\n this.removeMql()\n\n this._mql = matchMedia(this.query, values)\n this._mql.addListener(this.updateMatches)\n this.updateMatches()\n }\n\n componentWillUpdate(_, nextState) {\n if(this.props.onBeforeChange && this.state.matches !== nextState.matches) {\n this.props.onBeforeChange(this.state.matches)\n }\n }\n\n componentDidUpdate(_, prevState) {\n if(this.props.onChange && prevState.matches !== this.state.matches) {\n this.props.onChange(this.state.matches)\n }\n }\n\n componentWillUnmount() {\n this.removeMql()\n }\n\n updateMatches = () => {\n if (this._mql.matches === this.state.matches) {\n return\n }\n this.setState({\n matches: this._mql.matches\n })\n }\n\n removeMql = () => {\n if (this._mql) {\n this._mql.removeListener(this.updateMatches)\n this._mql.dispose()\n }\n }\n\n render() {\n if(typeof this.props.children === 'function') {\n return this.props.children(this.state.matches)\n }\n\n if (this.state.matches === false) {\n return null\n }\n const props = omit(this.props, excludedPropKeys)\n const hasMergeProps = Object.keys(props).length > 0\n const childrenCount = React.Children.count(this.props.children)\n const wrapChildren = this.props.component || this.props.children === undefined\n if (wrapChildren) {\n return React.createElement(\n this.props.component || 'div',\n props,\n this.props.children\n )\n } else if (hasMergeProps) {\n return React.cloneElement(\n this.props.children,\n props\n )\n } else if (childrenCount) {\n return this.props.children\n }\n else {\n return null\n }\n }\n}\n\nexport {\n MediaQuery as default,\n toQuery\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 8\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithTypeCheckers.js\n// module id = 9\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/checkPropTypes.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values){\n var self = this;\n if(dynamicMatch){\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values){\n return new Mql(query, values);\n}\n\nmodule.exports = matchMedia;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/matchmediaquery/index.js\n// module id = 12\n// module chunks = 0","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-mediaquery/index.js\n// module id = 13\n// module chunks = 0","import hyphenate from 'hyphenate-style-name'\nimport mq from './mediaQuery'\n\nconst negate = cond => `not ${cond}`\n\nfunction keyVal(k, v) {\n const realKey = hyphenate(k)\n\n // px shorthand\n if (typeof v === 'number') {\n v = `${v}px`\n }\n if (v === true) {\n return k\n }\n if (v === false) {\n return negate(k)\n }\n return `(${realKey}: ${v})`\n}\n\nfunction join(conds) {\n return conds.join(' and ')\n}\n\nexport default function (obj) {\n const rules = []\n Object.keys(mq.all).forEach(function (k) {\n const v = obj[k]\n if (v != null) {\n rules.push(keyVal(k, v))\n }\n })\n return join(rules)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/toQuery.js"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c0cf840..f240c32 100644 --- a/package-lock.json +++ b/package-lock.json @@ -294,6 +294,12 @@ "integrity": "sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8=", "dev": true }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", @@ -1715,6 +1721,35 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "cacache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz", + "integrity": "sha512-dRHYcs9LvG9cHgdPzjiI+/eS7e1xRhULrcyOx04RZQsszNJXU2SL9CyG60yLnge282Qq5nwTv+ieK2fH+WPZmA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "1.3.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.0.0", + "unique-filename": "1.1.0", + "y18n": "3.2.1" + }, + "dependencies": { + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + } + } + }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", @@ -1826,6 +1861,12 @@ "readdirp": "2.1.0" } }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -2040,6 +2081,20 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", @@ -2171,6 +2226,12 @@ "array-find-index": "1.0.2" } }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", @@ -2406,6 +2467,18 @@ } } }, + "duplexify": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", + "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "stream-shift": "1.0.0" + } + }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -2464,6 +2537,15 @@ "iconv-lite": "0.4.19" } }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, "enhanced-resolve": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", @@ -3199,6 +3281,16 @@ "write": "0.2.1" } }, + "flush-write-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -3258,12 +3350,34 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "fs-readdir-recursive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=", "dev": true }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.3" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4721,6 +4835,12 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, "ignore": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", @@ -5875,6 +5995,36 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "mississippi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", + "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "duplexify": "3.5.1", + "end-of-stream": "1.4.0", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.3", + "pumpify": "1.3.5", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -5943,6 +6093,20 @@ "moment": "2.19.2" } }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6308,6 +6472,17 @@ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", "dev": true }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", @@ -6582,6 +6757,12 @@ "asap": "2.0.6" } }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "prop-types": { "version": "15.6.0", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", @@ -6628,6 +6809,27 @@ "randombytes": "2.0.5" } }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", + "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", + "dev": true, + "requires": { + "duplexify": "3.5.1", + "inherits": "2.0.3", + "pump": "1.0.3" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -7057,6 +7259,15 @@ "is-promise": "2.1.0" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -7090,6 +7301,15 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.2.3" + } + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -7476,6 +7696,15 @@ } } }, + "ssri": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", + "integrity": "sha512-728D4yoQcQm1ooZvSbywLkV1RjfITZXh0oWrhM/lnsx3nAHx7LsRGJWB/YyvoceAYRq98xqbstiN4JBv1/wNHg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", @@ -7498,6 +7727,16 @@ "readable-stream": "2.3.3" } }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "stream-shift": "1.0.0" + } + }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", @@ -7511,6 +7750,12 @@ "xtend": "4.0.1" } }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -7848,28 +8093,21 @@ "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", "dev": true }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "uglify-es": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.10.tgz", + "integrity": "sha512-RwBX0aOeHvO8MKKUeLCArQGb9OZ6xA+EqfVxsE9wqK0saFYFVLIFvHeeCOg61C6NO6KCuSiG9OjNjCA+OB4nzg==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "commander": "2.11.0", + "source-map": "0.6.1" }, "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -7881,14 +8119,26 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-x5+BK4OvEZZvaoXln/Z1JMGq3Nvp5A8d7oQ7Xpyf17lqZV9NYvugfj5aTaYcxDWNoILgVdnlPWNpAWgVdwT1/g==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.0.1" + "cacache": "10.0.1", + "find-cache-dir": "1.0.0", + "schema-utils": "0.3.0", + "source-map": "0.6.1", + "uglify-es": "3.1.10", + "webpack-sources": "1.0.1", + "worker-farm": "1.5.2" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "underscore": { @@ -7897,6 +8147,24 @@ "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=", "dev": true }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8117,6 +8385,42 @@ "requires": { "has-flag": "2.0.0" } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.0.1" + } } } }, @@ -8487,6 +8791,16 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, + "worker-farm": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", + "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "dev": true, + "requires": { + "errno": "0.1.4", + "xtend": "4.0.1" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/package.json b/package.json index b3b435f..f9cf9b0 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "peerDependencies": { "react": "^16.0.0", - "prop-types": "^16.0.0" + "prop-types": "^15.0.0" }, "devDependencies": { "babel-cli": "^6.18.0", diff --git a/webpack.config.js b/webpack.config.js index 2d10492..bb7eaa4 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -6,15 +6,29 @@ const env = new webpack.EnvironmentPlugin({ }) const uglify = new webpack.optimize.UglifyJsPlugin({ sourceMap: true, - parellel: true + parallel: true, + cache: true +}) +const uglifyLite = new webpack.optimize.UglifyJsPlugin({ + sourceMap: true, + cache: true, + parallel: true, + compress: { + dead_code: true, + unused: true + }, + mangle: false, + output: { + beautify: true + } }) const filename = process.env.BUILD_MODE === 'umd' ? './dist/react-responsive.js' : './dist/react-responsive.min.js' -const plugins = process.env.BUILD_MODE == 'umd-min' +const plugins = process.env.BUILD_MODE === 'umd-min' ? [ env, uglify ] - : [ env ] + : [ env, uglifyLite ] module.exports = { entry: './src/index.js',